Imported Upstream version 3.3 upstream/3.3
authorŁukasz Stelmach <l.stelmach@samsung.com>
Wed, 15 Jan 2014 12:17:08 +0000 (13:17 +0100)
committerŁukasz Stelmach <l.stelmach@samsung.com>
Wed, 15 Jan 2014 12:17:08 +0000 (13:17 +0100)
751 files changed:
.tarball-version
ABOUT-NLS
AUTHORS
ChangeLog
ChangeLog-2008
GNUmakefile
INSTALL
Makefile.am
Makefile.in
NEWS
README
README-release
TODO
aclocal.m4
bootstrap
build-aux/announce-gen
build-aux/compile
build-aux/config.guess
build-aux/config.rpath
build-aux/config.sub
build-aux/depcomp
build-aux/do-release-commit-and-tag
build-aux/gendocs.sh
build-aux/git-version-gen
build-aux/gitlog-to-changelog
build-aux/gnu-web-doc-update
build-aux/gnupload
build-aux/install-sh
build-aux/mdate-sh
build-aux/missing
build-aux/mkinstalldirs [deleted file]
build-aux/snippet/_Noreturn.h
build-aux/snippet/arg-nonnull.h
build-aux/snippet/c++defs.h
build-aux/snippet/unused-parameter.h
build-aux/snippet/warn-on-use.h
build-aux/test-driver [new file with mode: 0755]
build-aux/texinfo.tex
build-aux/update-copyright
build-aux/useless-if-before-free
build-aux/vc-list-files
cfg.mk
configure
configure.ac
doc/Makefile.am
doc/Makefile.in
doc/diagmeet.note
doc/diffutils.info
doc/diffutils.texi
doc/fdl.texi
doc/stamp-vti
doc/version.texi
exgettext
gnulib-tests/Makefile.in
gnulib-tests/argmatch.c
gnulib-tests/argmatch.h
gnulib-tests/fdopen.c [new file with mode: 0644]
gnulib-tests/fpucw.h
gnulib-tests/getcwd-lgpl.c
gnulib-tests/getpagesize.c
gnulib-tests/gnulib.mk
gnulib-tests/hash-pjw.c
gnulib-tests/hash-pjw.h
gnulib-tests/init.sh
gnulib-tests/locale.in.h [deleted file]
gnulib-tests/macros.h
gnulib-tests/putenv.c
gnulib-tests/same-inode.h
gnulib-tests/setenv.c
gnulib-tests/setlocale.c
gnulib-tests/signature.h
gnulib-tests/sleep.c
gnulib-tests/snprintf.c
gnulib-tests/symlink.c
gnulib-tests/test-alloca-opt.c
gnulib-tests/test-areadlink.c [new file with mode: 0644]
gnulib-tests/test-areadlink.h [new file with mode: 0644]
gnulib-tests/test-argmatch.c
gnulib-tests/test-binary-io.c
gnulib-tests/test-binary-io.sh
gnulib-tests/test-bitrotate.c
gnulib-tests/test-btowc.c
gnulib-tests/test-c-ctype.c
gnulib-tests/test-c-stack.c
gnulib-tests/test-c-strcasecmp.c
gnulib-tests/test-c-strncasecmp.c
gnulib-tests/test-close.c [moved from lib/quote.c with 52% similarity]
gnulib-tests/test-dirname.c
gnulib-tests/test-dup2.c
gnulib-tests/test-environ.c
gnulib-tests/test-errno.c
gnulib-tests/test-exclude.c
gnulib-tests/test-exclude1.sh
gnulib-tests/test-exclude2.sh
gnulib-tests/test-exclude3.sh
gnulib-tests/test-exclude4.sh
gnulib-tests/test-exclude5.sh
gnulib-tests/test-exclude6.sh
gnulib-tests/test-exclude7.sh
gnulib-tests/test-exclude8.sh
gnulib-tests/test-fcntl-h.c
gnulib-tests/test-fcntl.c
gnulib-tests/test-fdopen.c [new file with mode: 0644]
gnulib-tests/test-fgetc.c [new file with mode: 0644]
gnulib-tests/test-filenamecat.c
gnulib-tests/test-float.c
gnulib-tests/test-fnmatch.c
gnulib-tests/test-fputc.c [new file with mode: 0644]
gnulib-tests/test-fread.c [new file with mode: 0644]
gnulib-tests/test-freopen-safer.c
gnulib-tests/test-freopen.c
gnulib-tests/test-fstat.c [new file with mode: 0644]
gnulib-tests/test-fwrite.c [new file with mode: 0644]
gnulib-tests/test-getcwd-lgpl.c
gnulib-tests/test-getdtablesize.c
gnulib-tests/test-getopt.c
gnulib-tests/test-getopt.h
gnulib-tests/test-getopt_long.h
gnulib-tests/test-gettimeofday.c
gnulib-tests/test-hash.c
gnulib-tests/test-iconv-h.c
gnulib-tests/test-iconv.c
gnulib-tests/test-ignore-value.c
gnulib-tests/test-init.sh [new file with mode: 0755]
gnulib-tests/test-intprops.c
gnulib-tests/test-inttostr.c
gnulib-tests/test-inttypes.c
gnulib-tests/test-iswblank.c
gnulib-tests/test-langinfo.c
gnulib-tests/test-locale.c
gnulib-tests/test-localeconv.c [new file with mode: 0644]
gnulib-tests/test-lstat.c
gnulib-tests/test-lstat.h
gnulib-tests/test-malloc-gnu.c
gnulib-tests/test-malloca.c
gnulib-tests/test-mbrtowc-w32.c
gnulib-tests/test-mbrtowc.c
gnulib-tests/test-mbscasecmp.c
gnulib-tests/test-mbsinit.c
gnulib-tests/test-mbsrtowcs.c
gnulib-tests/test-mbsstr1.c
gnulib-tests/test-mbsstr2.c
gnulib-tests/test-mbsstr3.c
gnulib-tests/test-memchr.c
gnulib-tests/test-nl_langinfo.c
gnulib-tests/test-open.c
gnulib-tests/test-open.h
gnulib-tests/test-pathmax.c [new file with mode: 0644]
gnulib-tests/test-quotearg-simple.c
gnulib-tests/test-quotearg.h
gnulib-tests/test-raise.c [new file with mode: 0644]
gnulib-tests/test-readlink.c [new file with mode: 0644]
gnulib-tests/test-readlink.h [new file with mode: 0644]
gnulib-tests/test-regex.c [new file with mode: 0644]
gnulib-tests/test-setenv.c
gnulib-tests/test-setlocale1.c
gnulib-tests/test-setlocale2.c
gnulib-tests/test-setlocale2.sh
gnulib-tests/test-sh-quote.c [new file with mode: 0644]
gnulib-tests/test-sigaction.c
gnulib-tests/test-signal-h.c [moved from gnulib-tests/test-signal.c with 94% similarity]
gnulib-tests/test-sigprocmask.c
gnulib-tests/test-sleep.c
gnulib-tests/test-snprintf.c
gnulib-tests/test-stat-time.c
gnulib-tests/test-stat.c
gnulib-tests/test-stat.h
gnulib-tests/test-stdbool.c
gnulib-tests/test-stddef.c
gnulib-tests/test-stdint.c
gnulib-tests/test-stdio.c
gnulib-tests/test-stdlib.c
gnulib-tests/test-strerror.c
gnulib-tests/test-strftime.c
gnulib-tests/test-striconv.c
gnulib-tests/test-string.c
gnulib-tests/test-strings.c
gnulib-tests/test-strnlen.c
gnulib-tests/test-strtoull.c [new file with mode: 0644]
gnulib-tests/test-strtoumax.c
gnulib-tests/test-symlink.c
gnulib-tests/test-symlink.h
gnulib-tests/test-sys_stat.c
gnulib-tests/test-sys_time.c
gnulib-tests/test-sys_types.c [new file with mode: 0644]
gnulib-tests/test-sys_wait.c
gnulib-tests/test-sys_wait.h
gnulib-tests/test-time.c
gnulib-tests/test-unistd.c
gnulib-tests/test-unsetenv.c
gnulib-tests/test-update-copyright.sh
gnulib-tests/test-usleep.c
gnulib-tests/test-vasnprintf.c
gnulib-tests/test-vasprintf.c [new file with mode: 0644]
gnulib-tests/test-vc-list-files-cvs.sh
gnulib-tests/test-vc-list-files-git.sh
gnulib-tests/test-verify.c
gnulib-tests/test-version-etc.c
gnulib-tests/test-version-etc.sh
gnulib-tests/test-wchar.c
gnulib-tests/test-wcrtomb-w32.c
gnulib-tests/test-wcrtomb.c
gnulib-tests/test-wctype-h.c
gnulib-tests/test-wcwidth.c
gnulib-tests/test-xalloc-die.c
gnulib-tests/test-xalloc-die.sh
gnulib-tests/test-xstrtol.c
gnulib-tests/test-xstrtol.sh
gnulib-tests/test-xstrtoul.c
gnulib-tests/test-xstrtoumax.c
gnulib-tests/test-xstrtoumax.sh
gnulib-tests/test-xvasprintf.c [new file with mode: 0644]
gnulib-tests/unistr/test-u8-mbtoucr.c
gnulib-tests/unistr/test-u8-uctomb.c
gnulib-tests/uniwidth/test-uc_width.c
gnulib-tests/uniwidth/test-uc_width2.c
gnulib-tests/unsetenv.c
gnulib-tests/usleep.c
gnulib-tests/wctob.c
gnulib-tests/wctomb-impl.h
gnulib-tests/wctomb.c
gnulib-tests/zerosize-ptr.h
lib/Makefile.am
lib/Makefile.in
lib/alloca.c
lib/alloca.in.h
lib/allocator.c [new file with mode: 0644]
lib/allocator.h [new file with mode: 0644]
lib/anytostr.c
lib/areadlink.c [new file with mode: 0644]
lib/areadlink.h [new file with mode: 0644]
lib/asnprintf.c [moved from gnulib-tests/asnprintf.c with 75% similarity]
lib/asprintf.c [new file with mode: 0644]
lib/basename-lgpl.c
lib/basename.c
lib/binary-io.c [new file with mode: 0644]
lib/binary-io.h [moved from gnulib-tests/binary-io.h with 53% similarity]
lib/bitrotate.c [new file with mode: 0644]
lib/bitrotate.h
lib/btowc.c
lib/c-ctype.c
lib/c-ctype.h
lib/c-stack.c
lib/c-stack.h
lib/c-strcase.h
lib/c-strcasecmp.c
lib/c-strcaseeq.h [new file with mode: 0644]
lib/c-strncasecmp.c
lib/careadlinkat.c [new file with mode: 0644]
lib/careadlinkat.h [new file with mode: 0644]
lib/close.c [new file with mode: 0644]
lib/cmpbuf.c
lib/cmpbuf.h
lib/config.charset
lib/config.hin
lib/diffseq.h
lib/dirname-lgpl.c
lib/dirname.c
lib/dirname.h
lib/dosname.h
lib/dup2.c
lib/errno.in.h
lib/error.c
lib/error.h
lib/exclude.c
lib/exclude.h
lib/exitfail.c
lib/exitfail.h
lib/fcntl.c
lib/fcntl.in.h
lib/fd-hook.c [new file with mode: 0644]
lib/fd-hook.h [new file with mode: 0644]
lib/file-type.c
lib/file-type.h
lib/filenamecat-lgpl.c
lib/filenamecat.c
lib/filenamecat.h
lib/float+.h [moved from gnulib-tests/float+.h with 94% similarity]
lib/float.c [moved from gnulib-tests/float.c with 82% similarity]
lib/float.in.h [moved from gnulib-tests/float.in.h with 93% similarity]
lib/fnmatch.c
lib/fnmatch.in.h
lib/fnmatch_loop.c
lib/freopen-safer.c
lib/freopen.c
lib/fstat.c [new file with mode: 0644]
lib/getdtablesize.c
lib/getopt.c
lib/getopt.in.h
lib/getopt1.c
lib/getopt_int.h
lib/gettext.h
lib/gettime.c
lib/gettimeofday.c
lib/gnulib.mk
lib/hard-locale.c
lib/hard-locale.h
lib/hash.c
lib/hash.h
lib/iconv.c
lib/iconv.in.h
lib/iconv_close.c
lib/iconv_open-aix.h
lib/iconv_open-hpux.h
lib/iconv_open-irix.h
lib/iconv_open-osf.h
lib/iconv_open-solaris.h
lib/iconv_open.c
lib/ignore-value.h
lib/intprops.h
lib/inttostr.h
lib/inttypes.in.h
lib/iswblank.c
lib/itold.c [new file with mode: 0644]
lib/langinfo.in.h
lib/localcharset.c
lib/localcharset.h
lib/locale.in.h [new file with mode: 0644]
lib/localeconv.c [new file with mode: 0644]
lib/lstat.c
lib/malloc.c
lib/malloca.c
lib/malloca.h
lib/mbchar.c
lib/mbchar.h
lib/mbiter.c [new file with mode: 0644]
lib/mbiter.h
lib/mbrtowc.c
lib/mbscasecmp.c
lib/mbsinit.c
lib/mbslen.c
lib/mbsrtowcs-impl.h
lib/mbsrtowcs-state.c
lib/mbsrtowcs.c
lib/mbsstr.c
lib/mbtowc-impl.h
lib/mbtowc.c
lib/mbuiter.c [new file with mode: 0644]
lib/mbuiter.h
lib/memchr.c
lib/mkstemp.c
lib/mktime.c
lib/msvc-inval.c [new file with mode: 0644]
lib/msvc-inval.h [new file with mode: 0644]
lib/msvc-nothrow.c [new file with mode: 0644]
lib/msvc-nothrow.h [new file with mode: 0644]
lib/nl_langinfo.c
lib/open.c
lib/pathmax.h [new file with mode: 0644]
lib/prepargs.c
lib/printf-args.c [moved from gnulib-tests/printf-args.c with 95% similarity]
lib/printf-args.h [moved from gnulib-tests/printf-args.h with 92% similarity]
lib/printf-parse.c [moved from gnulib-tests/printf-parse.c with 98% similarity]
lib/printf-parse.h [moved from gnulib-tests/printf-parse.h with 94% similarity]
lib/progname.c
lib/progname.h
lib/propername.c
lib/propername.h
lib/quote.h
lib/quotearg.c
lib/quotearg.h
lib/raise.c [new file with mode: 0644]
lib/readlink.c [new file with mode: 0644]
lib/ref-add.sin
lib/ref-del.sin
lib/regcomp.c
lib/regex.c
lib/regex.h
lib/regex_internal.c
lib/regex_internal.h
lib/regexec.c
lib/secure_getenv.c [new file with mode: 0644]
lib/sh-quote.c
lib/sh-quote.h
lib/sig-handler.c [new file with mode: 0644]
lib/sig-handler.h
lib/sigaction.c
lib/signal.in.h
lib/sigprocmask.c
lib/size_max.h [moved from gnulib-tests/size_max.h with 77% similarity]
lib/stat-time.c [new file with mode: 0644]
lib/stat-time.h
lib/stat.c
lib/stdarg.in.h
lib/stdbool.in.h
lib/stddef.in.h
lib/stdint.in.h
lib/stdio--.h
lib/stdio-safer.h
lib/stdio.in.h
lib/stdlib.in.h
lib/str-kmp.h
lib/strcasecmp.c
lib/streq.h
lib/strerror-override.c
lib/strerror-override.h
lib/strerror.c
lib/strftime.c
lib/strftime.h
lib/striconv.c
lib/striconv.h
lib/string.in.h
lib/strings.in.h
lib/stripslash.c
lib/strncasecmp.c
lib/strndup.c
lib/strnlen.c
lib/strnlen1.c
lib/strnlen1.h
lib/strptime.c
lib/strtoimax.c
lib/strtol.c
lib/strtoul.c
lib/strtoull.c
lib/sys_stat.in.h
lib/sys_time.in.h
lib/sys_types.in.h [new file with mode: 0644]
lib/sys_wait.in.h
lib/system-quote.c [new file with mode: 0644]
lib/system-quote.h [new file with mode: 0644]
lib/tempname.c
lib/tempname.h
lib/time.in.h
lib/time_r.c
lib/timespec.c [new file with mode: 0644]
lib/timespec.h
lib/trim.c
lib/trim.h
lib/unistd.c [new file with mode: 0644]
lib/unistd.in.h
lib/unistr.in.h
lib/unistr/u8-mbtoucr.c
lib/unistr/u8-uctomb-aux.c
lib/unistr/u8-uctomb.c
lib/unitypes.in.h
lib/uniwidth.in.h
lib/uniwidth/cjk.h
lib/uniwidth/width.c
lib/unlocked-io.h
lib/vasnprintf.c [moved from gnulib-tests/vasnprintf.c with 98% similarity]
lib/vasnprintf.h [moved from gnulib-tests/vasnprintf.h with 90% similarity]
lib/vasprintf.c [new file with mode: 0644]
lib/verify.h
lib/version-etc-fsf.c
lib/version-etc.c
lib/version-etc.h
lib/wchar.in.h
lib/wcrtomb.c
lib/wctype-h.c [new file with mode: 0644]
lib/wctype.in.h
lib/wcwidth.c
lib/xalloc-die.c
lib/xalloc-oversized.h
lib/xalloc.h
lib/xasprintf.c [new file with mode: 0644]
lib/xfreopen.c
lib/xmalloc.c
lib/xreadlink.c [new file with mode: 0644]
lib/xreadlink.h [new file with mode: 0644]
lib/xsize.c [new file with mode: 0644]
lib/xsize.h [moved from gnulib-tests/xsize.h with 87% similarity]
lib/xstriconv.c
lib/xstriconv.h
lib/xstrndup.c
lib/xstrndup.h
lib/xstrtol-error.c
lib/xstrtol.c
lib/xstrtol.h
lib/xvasprintf.c [new file with mode: 0644]
lib/xvasprintf.h [new file with mode: 0644]
m4/00gnulib.m4
m4/alloca.m4
m4/btowc.m4
m4/c-stack.m4
m4/clock_time.m4
m4/close.m4 [new file with mode: 0644]
m4/codeset.m4
m4/config-h.m4
m4/configmake.m4
m4/dirname.m4
m4/double-slash-root.m4
m4/dup2.m4
m4/eealloc.m4
m4/environ.m4
m4/errno_h.m4
m4/error.m4
m4/exponentd.m4 [new file with mode: 0644]
m4/extensions.m4
m4/extern-inline.m4 [new file with mode: 0644]
m4/fcntl-o.m4
m4/fcntl.m4
m4/fcntl_h.m4
m4/fdopen.m4 [new file with mode: 0644]
m4/filenamecat.m4
m4/float_h.m4
m4/fnmatch.m4
m4/fpieee.m4
m4/freopen.m4
m4/fstat.m4 [new file with mode: 0644]
m4/getcwd.m4
m4/getdtablesize.m4
m4/getopt.m4
m4/getpagesize.m4
m4/gettext.m4 [moved from m4/gettext_gl.m4 with 90% similarity]
m4/gettime.m4
m4/gettimeofday.m4
m4/glibc21.m4 [moved from m4/glibc21_gl.m4 with 65% similarity]
m4/gnu-make.m4
m4/gnulib-common.m4
m4/gnulib-comp.m4
m4/hard-locale.m4
m4/iconv.m4
m4/iconv_h.m4
m4/iconv_open.m4
m4/include_next.m4
m4/inline.m4
m4/intlmacosx.m4
m4/intmax_t.m4
m4/inttostr.m4
m4/inttypes-pri.m4
m4/inttypes.m4
m4/inttypes_h.m4 [moved from m4/inttypes_h_gl.m4 with 66% similarity]
m4/iswblank.m4
m4/langinfo_h.m4
m4/largefile.m4
m4/lib-ld.m4 [moved from m4/lib-ld_gl.m4 with 56% similarity]
m4/lib-link.m4
m4/lib-prefix.m4 [moved from m4/lib-prefix_gl.m4 with 99% similarity]
m4/libsigsegv.m4
m4/libunistring-base.m4
m4/localcharset.m4
m4/locale-fr.m4
m4/locale-ja.m4
m4/locale-tr.m4
m4/locale-zh.m4
m4/locale_h.m4
m4/localeconv.m4 [new file with mode: 0644]
m4/longlong.m4 [moved from m4/longlong_gl.m4 with 59% similarity]
m4/lstat.m4
m4/malloc.m4
m4/malloca.m4
m4/manywarnings.m4
m4/mbchar.m4
m4/mbiter.m4
m4/mbrtowc.m4
m4/mbsinit.m4
m4/mbslen.m4
m4/mbsrtowcs.m4
m4/mbstate_t.m4
m4/mbtowc.m4
m4/memchr.m4
m4/mkstemp.m4
m4/mktime.m4
m4/mmap-anon.m4
m4/mode_t.m4
m4/msvc-inval.m4 [new file with mode: 0644]
m4/msvc-nothrow.m4 [new file with mode: 0644]
m4/multiarch.m4
m4/nl_langinfo.m4
m4/nls.m4
m4/nocrash.m4
m4/off_t.m4 [new file with mode: 0644]
m4/onceonly.m4 [deleted file]
m4/open.m4
m4/pathmax.m4 [new file with mode: 0644]
m4/po.m4 [moved from m4/po_gl.m4 with 93% similarity]
m4/printf.m4
m4/progtest.m4
m4/putenv.m4
m4/quote.m4
m4/quotearg.m4
m4/raise.m4 [new file with mode: 0644]
m4/readlink.m4 [new file with mode: 0644]
m4/regex.m4
m4/secure_getenv.m4 [new file with mode: 0644]
m4/setenv.m4
m4/setlocale.m4
m4/sigaction.m4
m4/signal_h.m4
m4/signalblocking.m4
m4/size_max.m4
m4/sleep.m4
m4/snprintf.m4
m4/ssize_t.m4
m4/stat-time.m4
m4/stat.m4
m4/stdarg.m4
m4/stdbool.m4
m4/stddef_h.m4
m4/stdint.m4
m4/stdint_h.m4 [moved from m4/stdint_h_gl.m4 with 66% similarity]
m4/stdio_h.m4
m4/stdlib_h.m4
m4/strcase.m4
m4/strerror.m4
m4/strerror_r.m4 [deleted file]
m4/strftime.m4
m4/string_h.m4
m4/strings_h.m4
m4/strndup.m4
m4/strnlen.m4
m4/strptime.m4
m4/strtoull.m4
m4/strtoumax.m4
m4/symlink.m4
m4/sys_socket_h.m4
m4/sys_stat_h.m4
m4/sys_time_h.m4
m4/sys_types_h.m4 [new file with mode: 0644]
m4/sys_wait_h.m4
m4/tempname.m4
m4/time_h.m4
m4/time_r.m4
m4/timespec.m4
m4/tm_gmtoff.m4
m4/unistd_h.m4
m4/unlocked-io.m4
m4/usleep.m4
m4/vararrays.m4
m4/vasnprintf.m4
m4/vasprintf.m4 [new file with mode: 0644]
m4/version-etc.m4
m4/warn-on-use.m4
m4/warnings.m4
m4/wchar_h.m4
m4/wchar_t.m4
m4/wcrtomb.m4
m4/wctob.m4
m4/wctomb.m4
m4/wctype_h.m4
m4/wcwidth.m4
m4/wint_t.m4
m4/xalloc.m4
m4/xsize.m4
m4/xstrndup.m4
m4/xstrtol.m4
m4/xvasprintf.m4 [new file with mode: 0644]
maint.mk
man/Makefile.am
man/Makefile.in
man/cmp.1
man/diff.1
man/diff3.1
man/help2man
man/sdiff.1
ms/Makefile.am [deleted file]
ms/Makefile.in [deleted file]
ms/README [deleted file]
ms/config.bat [deleted file]
ms/config.sed [deleted file]
ms/config.site [deleted file]
po/LINGUAS
po/Makefile.in.in
po/Makevars
po/POTFILES.in
po/Rules-quot
po/ca.gmo
po/ca.po
po/cs.gmo
po/cs.po
po/da.gmo
po/da.po
po/de.gmo
po/de.po
po/diffutils.pot
po/el.gmo
po/el.po
po/eo.gmo
po/eo.po
po/es.gmo
po/es.po
po/fi.gmo
po/fi.po
po/fr.gmo
po/fr.po
po/ga.gmo
po/ga.po
po/gl.gmo
po/gl.po
po/he.gmo
po/he.po
po/hr.gmo [new file with mode: 0644]
po/hr.po [new file with mode: 0644]
po/hu.gmo
po/hu.po
po/id.gmo
po/id.po
po/it.gmo
po/it.po
po/ja.gmo
po/ja.po
po/lv.gmo
po/lv.po
po/ms.gmo
po/ms.po
po/nl.gmo
po/nl.po
po/pl.gmo
po/pl.po
po/pt_BR.gmo
po/pt_BR.po
po/ro.gmo
po/ro.po
po/ru.gmo
po/ru.po
po/sr.gmo
po/sr.po
po/sv.gmo
po/sv.po
po/tr.gmo
po/tr.po
po/uk.gmo
po/uk.po
po/vi.gmo
po/vi.po
po/zh_CN.gmo
po/zh_CN.po
po/zh_TW.gmo
po/zh_TW.po
src/Makefile.am
src/Makefile.in
src/analyze.c
src/cmp.c
src/context.c
src/diff.c
src/diff.h
src/diff3.c
src/dir.c
src/ed.c
src/ifdef.c
src/io.c
src/normal.c
src/sdiff.c
src/side.c
src/system.h
src/util.c
tests/Makefile.am
tests/Makefile.in
tests/basic
tests/binary [changed mode: 0644->0755]
tests/colliding-file-names [changed mode: 0644->0755]
tests/excess-slash [changed mode: 0644->0755]
tests/filename-quoting [new file with mode: 0755]
tests/function-line-vs-leading-space
tests/help-version
tests/init.sh
tests/label-vs-func
tests/new-file [new file with mode: 0755]
tests/no-dereference [new file with mode: 0644]
tests/no-newline-at-eof [changed mode: 0644->0755]
tests/stdin

index a3ec5a4..eb39e53 100644 (file)
@@ -1 +1 @@
-3.2
+3.3
index 83bc72e..b1de1b6 100644 (file)
--- a/ABOUT-NLS
+++ b/ABOUT-NLS
@@ -18,35 +18,7 @@ explain how users should proceed for getting the programs to use the
 available translations.  They tell how people wanting to contribute and
 work on translations can contact the appropriate team.
 
-   When reporting bugs in the `intl/' directory or bugs which may be
-related to internationalization, you should tell about the version of
-`gettext' which is used.  The information can be found in the
-`intl/VERSION' file, in internationalized packages.
-
-1.1 Quick configuration advice
-==============================
-
-If you want to exploit the full power of internationalization, you
-should configure it using
-
-     ./configure --with-included-gettext
-
-to force usage of internationalizing routines provided within this
-package, despite the existence of internationalizing capabilities in the
-operating system where this package is being installed.  So far, only
-the `gettext' implementation in the GNU C library version 2 provides as
-many features (such as locale alias, message inheritance, automatic
-charset conversion or plural form handling) as the implementation here.
-It is also not possible to offer this additional functionality on top
-of a `catgets' implementation.  Future versions of GNU `gettext' will
-very likely convey even more functionality.  So it might be a good idea
-to change to GNU `gettext' as soon as possible.
-
-   So you need _not_ provide this option if you are using GNU libc 2 or
-you have installed a recent copy of the GNU gettext package with the
-included `libintl'.
-
-1.2 INSTALL Matters
+1.1 INSTALL Matters
 ===================
 
 Some packages are "localizable" when properly installed; the programs
@@ -56,36 +28,19 @@ internationalization, predating GNU `gettext'.
 
    By default, this package will be installed to allow translation of
 messages.  It will automatically detect whether the system already
-provides the GNU `gettext' functions.  If not, the included GNU
-`gettext' library will be used.  This library is wholly contained
-within this package, usually in the `intl/' subdirectory, so prior
-installation of the GNU `gettext' package is _not_ required.
-Installers may use special options at configuration time for changing
-the default behaviour.  The commands:
+provides the GNU `gettext' functions.  Installers may use special
+options at configuration time for changing the default behaviour.  The
+command:
 
-     ./configure --with-included-gettext
      ./configure --disable-nls
 
-will, respectively, bypass any pre-existing `gettext' to use the
-internationalizing routines provided within this package, or else,
-_totally_ disable translation of messages.
+will _totally_ disable translation of messages.
 
    When you already have GNU `gettext' installed on your system and run
 configure without an option for your new package, `configure' will
-probably detect the previously built and installed `libintl.a' file and
-will decide to use this.  This might not be desirable.  You should use
-the more recent version of the GNU `gettext' library.  I.e. if the file
-`intl/VERSION' shows that the library which comes with this package is
-more recent, you should use
-
-     ./configure --with-included-gettext
-
-to prevent auto-detection.
-
-   The configuration process will not test for the `catgets' function
-and therefore it will not be used.  The reason is that even an
-emulation of `gettext' on top of `catgets' could not provide all the
-extensions of the GNU `gettext' library.
+probably detect the previously built and installed `libintl' library
+and will decide to use it.  If not, you may have to to use the
+`--with-libintl-prefix' option to tell `configure' where to look for it.
 
    Internationalized packages usually have many `po/LL.po' files, where
 LL gives an ISO 639 two-letter code identifying the language.  Unless
@@ -96,7 +51,7 @@ may be set, prior to configuration, to limit the installed set.
 `LINGUAS' should then contain a space separated list of two-letter
 codes, stating which languages are allowed.
 
-1.3 Using This Package
+1.2 Using This Package
 ======================
 
 As a user, if your language has been installed for this package, you
@@ -148,7 +103,7 @@ to denote the language's main dialect.  For example, `de' is equivalent
 to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
 (Portuguese as spoken in Portugal) in this context.
 
-1.4 Translating Teams
+1.3 Translating Teams
 =====================
 
 For the Free Translation Project to be a success, we need interested
@@ -177,859 +132,1118 @@ reach the coordinator for all translator teams.
 the terminology in use.  Proven linguistic skills are praised more than
 programming skills, here.
 
-1.5 Available Packages
+1.4 Available Packages
 ======================
 
 Languages are not equally supported in all packages.  The following
-matrix shows the current state of internationalization, as of November
-2007.  The matrix shows, in regard of each package, for which languages
+matrix shows the current state of internationalization, as of June
+2010.  The matrix shows, in regard of each package, for which languages
 PO files have been submitted to translation coordination, with a
 translation percentage of at least 50%.
 
-     Ready PO files       af am ar az be bg bs ca cs cy da de el en en_GB eo
-                        +----------------------------------------------------+
-     Compendium         |                      []       [] []        []      |
-     a2ps               |             []                [] [] []     []      |
-     aegis              |                                  ()                |
-     ant-phone          |                                  ()                |
-     anubis             |                                  []                |
-     ap-utils           |                                                    |
-     aspell             |                      [] []    [] []        []      |
-     bash               |                                                 [] |
-     bfd                |                                                    |
-     bibshelf           |                                  []                |
-     binutils           |                                                    |
-     bison              |                               [] []                |
-     bison-runtime      |                                  []                |
-     bluez-pin          | []                      []       [] []          [] |
-     cflow              |                               []                   |
-     clisp              |                               [] []    []          |
-     console-tools      |                         []       []                |
-     coreutils          |                []    [] []       []                |
-     cpio               |                                                    |
-     cpplib             |                      []       [] []                |
-     cryptonit          |                                  []                |
-     dialog             |                                                    |
-     diffutils          |                      [] []    [] [] []          [] |
-     doodle             |                                  []                |
-     e2fsprogs          |                         []       []                |
-     enscript           |                      []       [] []        []      |
-     fetchmail          |                      []       [] () []     []      |
-     findutils          |                []                                  |
-     findutils_stable   |                []    []       []                   |
-     flex               |                      []       [] []                |
-     fslint             |                                                    |
-     gas                |                                                    |
-     gawk               |                      []       [] []                |
-     gcal               |                      []                            |
-     gcc                |                                  []                |
-     gettext-examples   | []                   []          [] []          [] |
-     gettext-runtime    |             []       []       [] []             [] |
-     gettext-tools      |                      []          []                |
-     gip                |                []                                  |
-     gliv               |                []                []                |
-     glunarclock        |                []                                  |
-     gmult              | []                               []                |
-     gnubiff            |                                  ()                |
-     gnucash            |                      [] []       () ()     []      |
-     gnuedu             |                                                    |
-     gnulib             |                []                                  |
-     gnunet             |                                                    |
-     gnunet-gtk         |                                                    |
-     gnutls             |                                  []                |
-     gpe-aerial         |                         []       []                |
-     gpe-beam           |                         []       []                |
-     gpe-calendar       |                                                    |
-     gpe-clock          |                         []       []                |
-     gpe-conf           |                         []       []                |
-     gpe-contacts       |                                                    |
-     gpe-edit           |                         []                         |
-     gpe-filemanager    |                                                    |
-     gpe-go             |                         []                         |
-     gpe-login          |                         []       []                |
-     gpe-ownerinfo      |                         []       []                |
-     gpe-package        |                                                    |
-     gpe-sketchbook     |                         []       []                |
-     gpe-su             |                         []       []                |
-     gpe-taskmanager    |                         []       []                |
-     gpe-timesheet      |                         []                         |
-     gpe-today          |                         []       []                |
-     gpe-todo           |                                                    |
-     gphoto2            |                         []    [] []        []      |
-     gprof              |                               [] []                |
-     gpsdrive           |                                                    |
-     gramadoir          | []                               []                |
-     grep               |                         []                      [] |
-     gretl              |                                  ()                |
-     gsasl              |                                                    |
-     gss                |                                                    |
-     gst-plugins-bad    |                []             []                   |
-     gst-plugins-base   |                []             []                   |
-     gst-plugins-good   |                []    []       []                   |
-     gst-plugins-ugly   |                []             []                   |
-     gstreamer          | []             []    [] []    [] []        []      |
-     gtick              |                                  ()                |
-     gtkam              |             []          []    [] []                |
-     gtkorphan          |                []                []                |
-     gtkspell           |             []                   [] []          [] |
-     gutenprint         |                               []                   |
-     hello              |                []    []       [] []             [] |
-     herrie             |                                  []                |
-     hylafax            |                                                    |
-     idutils            |                               [] []                |
-     indent             |                      [] []       []             [] |
-     iso_15924          |                                                    |
-     iso_3166           |       []    [] [] [] [] [] [] [] [] []          [] |
-     iso_3166_2         |                                                    |
-     iso_4217           |                         []    [] []                |
-     iso_639            |                         []    [] []             [] |
-     jpilot             |                         []                         |
-     jtag               |                                                    |
-     jwhois             |                                                    |
-     kbd                |                         []    [] [] []             |
-     keytouch           |                      []          []                |
-     keytouch-editor    |                                  []                |
-     keytouch-keyboa... |                      []                            |
-     latrine            |                                  ()                |
-     ld                 |                               []                   |
-     leafpad            |                []    [] []       [] []             |
-     libc               |                      [] []    [] []                |
-     libexif            |                                  []                |
-     libextractor       |                                  []                |
-     libgpewidget       |                         []    [] []                |
-     libgpg-error       |                                  []                |
-     libgphoto2         |                               [] []                |
-     libgphoto2_port    |                               [] []                |
-     libgsasl           |                                                    |
-     libiconv           |                                  []             [] |
-     libidn             |                         []    []                [] |
-     lifelines          |                               [] ()                |
-     lilypond           |                                  []                |
-     lingoteach         |                                                    |
-     lprng              |                                                    |
-     lynx               |                      [] []    [] []                |
-     m4                 |                         []    [] [] []             |
-     mailfromd          |                                                    |
-     mailutils          |                      []                            |
-     make               |                               [] []                |
-     man-db             |                      []       [] []                |
-     minicom            |                         []    [] []                |
-     nano               |                []    []          []                |
-     opcodes            |                                  []                |
-     parted             |                         []       []                |
-     pilot-qof          |                                                    |
-     popt               |                         []    [] []                |
-     psmisc             |                []                                  |
-     pwdutils           |                                                    |
-     qof                |                                                    |
-     radius             |                      []                            |
-     recode             |             []       []       [] [] []          [] |
-     rpm                |                               []                   |
-     screem             |                                                    |
-     scrollkeeper       |          [] []       [] [] [] [] []        []      |
-     sed                |                      []          []             [] |
-     shared-mime-info   |                []    [] []    [] () []     []   [] |
-     sharutils          |                []    [] []    [] [] []             |
-     shishi             |                                                    |
-     skencil            |                               [] ()                |
-     solfege            |                                                    |
-     soundtracker       |                               [] []                |
-     sp                 |                                  []                |
-     system-tools-ba... |       []       [] [] [] []    [] [] []     []      |
-     tar                |                []                []                |
-     texinfo            |                               [] []             [] |
-     tin                |                                  ()        ()      |
-     tuxpaint           | []             []             [] []        []   [] |
-     unicode-han-tra... |                                                    |
-     unicode-transla... |                                                    |
-     util-linux         |                      [] []    [] []                |
-     util-linux-ng      |                      [] []    [] []                |
-     vorbis-tools       |                         []                         |
-     wastesedge         |                                  ()                |
-     wdiff              |                      []       [] []        []      |
-     wget               |                      [] []       []                |
-     xchat              |             [] []    [] []       [] []     []      |
-     xkeyboard-config   |                []                                  |
-     xpad               |                []             []           []      |
-                        +----------------------------------------------------+
-                          af am ar az be bg bs ca cs cy da de el en en_GB eo
-                           6  0  2  1  8 26  2 40 48  2 56 88 15  1  15   18
-
-                          es et eu fa fi fr  ga gl gu he hi hr hu id is it
+     Ready PO files       af am an ar as ast az be be@latin bg bn_IN bs ca
                         +--------------------------------------------------+
-     Compendium         | []          [] []  []                []          |
-     a2ps               |    []       [] []                             () |
+     a2ps               |                       []                      [] |
      aegis              |                                                  |
-     ant-phone          |                []                                |
-     anubis             |                []                                |
-     ap-utils           |             [] []                                |
-     aspell             |                []  []                         [] |
-     bash               | []                                               |
-     bfd                | []          []                                   |
-     bibshelf           | []                 []                         [] |
-     binutils           | []          [] []                                |
-     bison              | [] []          []  []                   []    [] |
-     bison-runtime      |    []          []  []                   []    [] |
-     bluez-pin          |             [] []  []                [] []       |
-     cflow              |                    []                            |
-     clisp              | []             []                                |
-     console-tools      |                                                  |
-     coreutils          | [] []       [] []  []                []          |
-     cpio               | []             []  []                            |
-     cpplib             | []             []                                |
-     cryptonit          |                []                                |
-     dialog             |       []           []                         [] |
-     diffutils          | []          [] []  [] []    []       [] []    [] |
-     doodle             |                    []                         [] |
-     e2fsprogs          | []             []                             [] |
-     enscript           |                []  []             []             |
-     fetchmail          | []                                               |
-     findutils          |    []              []                []          |
-     findutils_stable   |    []          []  []                []          |
-     flex               | []             []  []                            |
-     fslint             |                                                  |
-     gas                | []             []                                |
-     gawk               | []             []  []       []                () |
-     gcal               | []             []                                |
-     gcc                | []                                               |
-     gettext-examples   | []          [] []  []                [] []    [] |
-     gettext-runtime    | []          [] []  []                   []    [] |
-     gettext-tools      | []    []       []                             [] |
-     gip                | []    []       []  []                            |
-     gliv               |                ()                                |
-     glunarclock        |             []     []                []          |
-     gmult              |       []       []                             [] |
-     gnubiff            |                ()                             () |
-     gnucash            | ()             ()                    ()          |
-     gnuedu             | []                                               |
-     gnulib             | [] []              []                            |
-     gnunet             |                                                  |
-     gnunet-gtk         |                                                  |
-     gnutls             |                                                  |
-     gpe-aerial         | []             []                                |
-     gpe-beam           | []             []                                |
-     gpe-calendar       |                                                  |
-     gpe-clock          | []          [] []                    []          |
-     gpe-conf           |                []                                |
-     gpe-contacts       | []             []                                |
-     gpe-edit           | []             []                    [] []       |
-     gpe-filemanager    | []                                               |
-     gpe-go             | []             []                    []          |
-     gpe-login          | []             []                    []          |
-     gpe-ownerinfo      | []          [] []                    [] []       |
-     gpe-package        | []                                               |
-     gpe-sketchbook     | []             []                                |
-     gpe-su             | []          [] []                    []          |
-     gpe-taskmanager    | []          [] []                                |
-     gpe-timesheet      | []             []  []                   []       |
-     gpe-today          | []          [] []  []                            |
-     gpe-todo           | []                                               |
-     gphoto2            | []          [] []                    []       [] |
-     gprof              | []          [] []  []                   []       |
-     gpsdrive           |    []                                            |
-     gramadoir          |                []  []                            |
-     grep               | []          []     []                            |
-     gretl              | []    []       []                             () |
-     gsasl              |                    []                   []       |
-     gss                |                []  []                            |
-     gst-plugins-bad    | []          []                       []       [] |
-     gst-plugins-base   | []          []                       []       [] |
-     gst-plugins-good   | []    []    []                       []       [] |
-     gst-plugins-ugly   | []          []                       []       [] |
-     gstreamer          |             []                       []       [] |
-     gtick              |             []     []                         [] |
-     gtkam              | []             []                    []       [] |
-     gtkorphan          |                []                             [] |
-     gtkspell           | []    []    [] []  []                []       [] |
-     gutenprint         |                                      []          |
-     hello              | [] [] [] [] [] []  [] []    []    [] [] []    [] |
-     herrie             |                    []                            |
-     hylafax            |                                                  |
-     idutils            |                []  []                [] []    [] |
-     indent             | [] [] []    [] []  [] []             [] []    [] |
-     iso_15924          |                []                                |
-     iso_3166           | [] [] []    [] []     [] [] [] [] [] [] []    [] |
-     iso_3166_2         |                []                                |
-     iso_4217           | [] []       [] []                    []       [] |
-     iso_639            | []       [] [] []  []                []          |
-     jpilot             | []             []                                |
-     jtag               |                []                                |
-     jwhois             | []             []                    [] []    [] |
-     kbd                | []             []                                |
-     keytouch           |                []  []                         [] |
-     keytouch-editor    |                    []                            |
-     keytouch-keyboa... |                    []                         [] |
-     latrine            |                    []                         [] |
-     ld                 | []          [] []  []                            |
-     leafpad            | []             []  []       []       []       [] |
-     libc               | []          [] []     []             []          |
-     libexif            | []                                               |
-     libextractor       |                    []                            |
-     libgpewidget       | []             []  []                [] []       |
-     libgpg-error       |                []                                |
-     libgphoto2         | []             []                             [] |
-     libgphoto2_port    |                []                             [] |
-     libgsasl           |                []  []                            |
-     libiconv           |    []       []     []                            |
-     libidn             |                []                             [] |
-     lifelines          |                ()                                |
-     lilypond           | []          [] []                                |
-     lingoteach         |                []                       []    [] |
-     lprng              |                                                  |
-     lynx               |    []                                []       [] |
-     m4                 |                []  [] []                []       |
-     mailfromd          |                                                  |
-     mailutils          | []             []                                |
-     make               | []          [] []  [] []    []    []    []       |
-     man-db             |                                               [] |
-     minicom            | []          [] []                    []          |
-     nano               | []    []       []  [] []             []       [] |
-     opcodes            | []          [] []  []                            |
-     parted             |                []                       []    [] |
-     pilot-qof          |                                                  |
-     popt               |                []  [] []                   []    |
-     psmisc             |                                      []       [] |
-     pwdutils           |                                                  |
-     qof                |                                         []       |
-     radius             | []             []                                |
-     recode             | []             []  [] []    []       [] []    [] |
-     rpm                |                []                       []       |
-     screem             |                                                  |
-     scrollkeeper       | []          []                       []          |
-     sed                | [] []          []  []                []          |
-     shared-mime-info   | []    []    [] []                    []       [] |
-     sharutils          | [] []       [] []  [] []             []       [] |
-     shishi             |                []                                |
-     skencil            | []             []                                |
-     solfege            |                                               [] |
-     soundtracker       | []             []                             [] |
-     sp                 |                []                                |
-     system-tools-ba... | []    []    [] []  []             [] [] []    [] |
-     tar                |    [] []    []     []                []          |
-     texinfo            |                []           []       []          |
-     tin                |    []          ()                                |
-     tuxpaint           |                    []                []          |
-     unicode-han-tra... |                                                  |
-     unicode-transla... |                []  []                            |
-     util-linux         | [] []       [] []                    [] []    [] |
-     util-linux-ng      | [] []       [] []                    [] []    [] |
-     vorbis-tools       |                                                  |
-     wastesedge         |                ()                                |
-     wdiff              | [] []          []  [] []             [] []    [] |
-     wget               |    []       [] []  []             [] [] []    [] |
-     xchat              | []          [] []        []    []    []       [] |
-     xkeyboard-config   | []          [] []                    []          |
-     xpad               | []                 []                []          |
-                        +--------------------------------------------------+
-                          es et eu fa fi fr  ga gl gu he hi hr hu id is it
-                          85 22 14  2 48 101 61 12  2  8  2  6 53 29  1 52
-
-                          ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl  nn
-                        +--------------------------------------------------+
-     Compendium         |                                           []     |
-     a2ps               |       ()                      []          []     |
-     aegis              |                                           ()     |
-     ant-phone          |                                           []     |
-     anubis             |                               []    []    []     |
-     ap-utils           |                               []                 |
-     aspell             |                            []             []     |
-     bash               |                                           []     |
+     ant-phone          |                                                  |
+     anubis             |                                                  |
+     aspell             |                []                             [] |
+     bash               |                                                  |
      bfd                |                                                  |
-     bibshelf           |                               []                 |
+     bibshelf           |                []                                |
      binutils           |                                                  |
-     bison              |                               []    []    []     |
-     bison-runtime      |                               []    []    []     |
-     bluez-pin          |          []                   []          []     |
+     bison              |                                                  |
+     bison-runtime      |                []                                |
+     bluez-pin          | []             []                                |
+     bombono-dvd        |                                                  |
+     buzztard           |                                                  |
      cflow              |                                                  |
-     clisp              |                                           []     |
-     console-tools      |                                                  |
-     coreutils          |                                           []     |
-     cpio               |                                           []     |
-     cpplib             |                                           []     |
-     cryptonit          |                                           []     |
-     dialog             |                               []          []     |
-     diffutils          | []                            []          []     |
+     clisp              |                                                  |
+     coreutils          |                                   []          [] |
+     cpio               |                                                  |
+     cppi               |                                                  |
+     cpplib             |                                               [] |
+     cryptsetup         |                                                  |
+     dfarc              |                                                  |
+     dialog             |                             []                [] |
+     dico               |                                                  |
+     diffutils          |                                               [] |
+     dink               |                                                  |
      doodle             |                                                  |
-     e2fsprogs          |                                           []     |
-     enscript           |                                           []     |
-     fetchmail          | []                                        []     |
-     findutils          |                                           []     |
-     findutils_stable   |                                           []     |
-     flex               |       []                                  []     |
-     fslint             |                                                  |
+     e2fsprogs          |                                               [] |
+     enscript           |                                               [] |
+     exif               |                                                  |
+     fetchmail          |                                               [] |
+     findutils          |                                   []             |
+     flex               |                                               [] |
+     freedink           |                                                  |
      gas                |                                                  |
-     gawk               | []                                        []     |
-     gcal               |                                                  |
+     gawk               |                []                             [] |
+     gcal               |                                               [] |
      gcc                |                                                  |
-     gettext-examples   | []                            []          []     |
-     gettext-runtime    | []    []                                  []     |
-     gettext-tools      | []    []                                         |
-     gip                |                               []          []     |
-     gliv               |                                           []     |
-     glunarclock        |                               []          []     |
-     gmult              | []                            []          []     |
+     gettext-examples   | []             []                 []          [] |
+     gettext-runtime    |                                   []          [] |
+     gettext-tools      |                                   []          [] |
+     gip                |                                   []             |
+     gjay               |                                                  |
+     gliv               |                                   []             |
+     glunarclock        |                []                 []             |
      gnubiff            |                                                  |
-     gnucash            | ()                                  () ()        |
+     gnucash            |                                               [] |
      gnuedu             |                                                  |
-     gnulib             | []                                        []     |
+     gnulib             |                                                  |
      gnunet             |                                                  |
      gnunet-gtk         |                                                  |
-     gnutls             |                               []                 |
-     gpe-aerial         |                                           []     |
-     gpe-beam           |                                           []     |
-     gpe-calendar       | []                                               |
-     gpe-clock          | []    []                                  []     |
-     gpe-conf           | []    []                                  []     |
-     gpe-contacts       |       []                                         |
-     gpe-edit           | []    []                                  []     |
-     gpe-filemanager    | []    []                                         |
-     gpe-go             | []    []                                  []     |
-     gpe-login          | []    []                                  []     |
-     gpe-ownerinfo      | []                                        []     |
-     gpe-package        | []    []                                         |
-     gpe-sketchbook     |       []                                  []     |
-     gpe-su             | []    []                                  []     |
-     gpe-taskmanager    | []    [] []                               []     |
-     gpe-timesheet      |                                           []     |
-     gpe-today          | []                                        []     |
-     gpe-todo           | []                                               |
-     gphoto2            | []                                        []     |
-     gprof              |                               []                 |
-     gpsdrive           |                                           []     |
-     gramadoir          |                                           ()     |
-     grep               |             []                            []     |
-     gretl              |                                                  |
-     gsasl              |                                           []     |
+     gnutls             |                                                  |
+     gold               |                                                  |
+     gpe-aerial         |                                                  |
+     gpe-beam           |                                                  |
+     gpe-bluetooth      |                                                  |
+     gpe-calendar       |                                                  |
+     gpe-clock          |                []                                |
+     gpe-conf           |                                                  |
+     gpe-contacts       |                                                  |
+     gpe-edit           |                                                  |
+     gpe-filemanager    |                                                  |
+     gpe-go             |                                                  |
+     gpe-login          |                                                  |
+     gpe-ownerinfo      |                []                                |
+     gpe-package        |                                                  |
+     gpe-sketchbook     |                                                  |
+     gpe-su             |                []                                |
+     gpe-taskmanager    |                []                                |
+     gpe-timesheet      |                []                                |
+     gpe-today          |                []                                |
+     gpe-todo           |                                                  |
+     gphoto2            |                                                  |
+     gprof              |                                   []             |
+     gpsdrive           |                                                  |
+     gramadoir          |                                                  |
+     grep               |                                                  |
+     grub               |                []                             [] |
+     gsasl              |                                                  |
      gss                |                                                  |
-     gst-plugins-bad    |                                           []     |
-     gst-plugins-base   |                                           []     |
-     gst-plugins-good   |                                           []     |
-     gst-plugins-ugly   |                                           []     |
-     gstreamer          |                                           []     |
-     gtick              |                                           []     |
-     gtkam              | []                                        []     |
-     gtkorphan          |                                           []     |
-     gtkspell           |                            []             []     |
-     gutenprint         |                                           []     |
-     hello              | [] [] []                      []    []    []  [] |
-     herrie             |                                           []     |
+     gst-plugins-bad    |                                   []             |
+     gst-plugins-base   |                                   []             |
+     gst-plugins-good   |                                   []             |
+     gst-plugins-ugly   |                                   []             |
+     gstreamer          | []                                []          [] |
+     gtick              |                                                  |
+     gtkam              |                       []                         |
+     gtkorphan          |                                   []             |
+     gtkspell           | []             []     []                         |
+     gutenprint         |                                                  |
+     hello              |                                   []             |
+     help2man           |                                                  |
      hylafax            |                                                  |
-     idutils            |                                           []     |
-     indent             | []                                        []     |
-     iso_15924          |                                           []     |
-     iso_3166           | []    [] []       []    []          []    []  [] |
-     iso_3166_2         |                                           []     |
-     iso_4217           | []                []                      []     |
-     iso_639            | []                []                      []  [] |
-     jpilot             | ()                                        ()     |
-     jtag               |                                                  |
-     jwhois             |                                           []     |
-     kbd                |                                           []     |
-     keytouch           |                                           []     |
-     keytouch-editor    |                                           []     |
-     keytouch-keyboa... |                                                  |
-     latrine            |                                           []     |
-     ld                 |                                                  |
-     leafpad            | []                []                             |
-     libc               | []    []                                  []     |
-     libexif            |                                                  |
+     idutils            |                                                  |
+     indent             |                                   []          [] |
+     iso_15924          |                                                  |
+     iso_3166           | []          []        []          []  []   [] [] |
+     iso_3166_2         |                                                  |
+     iso_4217           |                                                  |
+     iso_639            |             [] []     []              []         |
+     iso_639_3          |                                                  |
+     jwhois             |                                                  |
+     kbd                |                                                  |
+     keytouch           |                                               [] |
+     keytouch-editor    |                                                  |
+     keytouch-keyboa... |                                               [] |
+     klavaro            |          []                                      |
+     latrine            |                                                  |
+     ld                 |                                   []             |
+     leafpad            |                                   []          [] |
+     libc               |                                   []          [] |
+     libexif            |                       ()                         |
      libextractor       |                                                  |
-     libgpewidget       |                                           []     |
+     libgnutls          |                                                  |
+     libgpewidget       |                                                  |
      libgpg-error       |                                                  |
-     libgphoto2         | []                                               |
-     libgphoto2_port    | []                                               |
-     libgsasl           |                                           []     |
-     libiconv           |                                           []     |
-     libidn             | []                                        []     |
-     lifelines          |                                           []     |
-     lilypond           |                                           []     |
-     lingoteach         |                                           []     |
+     libgphoto2         |                                                  |
+     libgphoto2_port    |                                                  |
+     libgsasl           |                                                  |
+     libiconv           |                                   []             |
+     libidn             |                                                  |
+     lifelines          |                                                  |
+     liferea            |                             []                [] |
+     lilypond           |                                                  |
+     linkdr             |          []                                      |
+     lordsawar          |                                                  |
      lprng              |                                                  |
-     lynx               | []                                        []     |
-     m4                 | []                                        []     |
+     lynx               |                                               [] |
+     m4                 |                                                  |
      mailfromd          |                                                  |
      mailutils          |                                                  |
-     make               | []    []                                  []     |
+     make               |                                                  |
      man-db             |                                                  |
-     minicom            | []                                               |
-     nano               |                               []    []    []     |
-     opcodes            |                                           []     |
-     parted             | []                                        []     |
-     pilot-qof          |                                                  |
-     popt               | []    []                                  []     |
-     psmisc             | []                                  []    []     |
+     man-db-manpages    |                                                  |
+     minicom            |                                                  |
+     mkisofs            |                                                  |
+     myserver           |                                                  |
+     nano               |                                   []          [] |
+     opcodes            |                                                  |
+     parted             |                                                  |
+     pies               |                                                  |
+     popt               |                                                  |
+     psmisc             |                                                  |
+     pspp               |                                               [] |
      pwdutils           |                                                  |
-     qof                |                                                  |
-     radius             |                                                  |
-     recode             |                                           []     |
-     rpm                | []    []                                         |
-     screem             | []                                               |
-     scrollkeeper       |                                     [] [] []  [] |
-     sed                | []                                        []     |
-     shared-mime-info   | []    []          []          []    []    []  [] |
-     sharutils          | []                                        []     |
+     radius             |                                               [] |
+     recode             |                       []                      [] |
+     rosegarden         |                                                  |
+     rpm                |                                                  |
+     rush               |                                                  |
+     sarg               |                                                  |
+     screem             |                                                  |
+     scrollkeeper       |                    [] []                      [] |
+     sed                |                []                             [] |
+     sharutils          |                                   []          [] |
      shishi             |                                                  |
      skencil            |                                                  |
-     solfege            |                                     ()        () |
+     solfege            |                                                  |
+     solfege-manual     |                                                  |
      soundtracker       |                                                  |
-     sp                 | ()                                               |
-     system-tools-ba... | []    []          []                      []     |
-     tar                | []          []                            []     |
-     texinfo            |                                     []    []     |
+     sp                 |                                                  |
+     sysstat            |                                                  |
+     tar                |                                   []             |
+     texinfo            |                                                  |
      tin                |                                                  |
-     tuxpaint           |                                     ()    []  [] |
      unicode-han-tra... |                                                  |
      unicode-transla... |                                                  |
-     util-linux         | []                                        []     |
-     util-linux-ng      | []                                        []     |
+     util-linux-ng      |                                               [] |
+     vice               |                                                  |
+     vmm                |                                                  |
      vorbis-tools       |                                                  |
-     wastesedge         |                                           []     |
-     wdiff              |                               []    []           |
-     wget               | []                                        []     |
-     xchat              | []    []                []                []     |
-     xkeyboard-config   |    [] []                                  []     |
-     xpad               |       []                      []          []     |
-                        +--------------------------------------------------+
-                          ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl  nn
-                          51  2 25  3  2  0  6  0  2  2 20  0 11  1 103  6
-
-                          or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv  ta
-                        +--------------------------------------------------+
-     Compendium         |          []  []      []       []          []     |
-     a2ps               |       ()     []      [] []       []    [] []     |
-     aegis              |                      () ()                       |
-     ant-phone          |                      []                   []     |
-     anubis             |       []             [] []                       |
-     ap-utils           |       ()                                         |
-     aspell             |                      [] []    []                 |
-     bash               |       []                      []                 |
-     bfd                |                                                  |
-     bibshelf           |                                           []     |
-     binutils           |                         []    []                 |
-     bison              |       []     []      [] []                []     |
-     bison-runtime      |       []     []      []          []       []     |
-     bluez-pin          |       []     []   [] [] []    [] []    [] []     |
-     cflow              |       []                                         |
-     clisp              |                         []                       |
-     console-tools      |                         []                       |
-     coreutils          |       []                []       []       []     |
-     cpio               |       []                []                []     |
-     cpplib             |                                           []     |
-     cryptonit          |              []                           []     |
-     dialog             |                                           []     |
-     diffutils          |       []     []      [] []             [] []     |
-     doodle             |                                     []    []     |
-     e2fsprogs          |       []                                  []     |
-     enscript           |              []      [] []       []       []     |
-     fetchmail          |       []                []          []           |
-     findutils          |       [] []                               []     |
-     findutils_stable   |       [] []          []       [] []       []     |
-     flex               |       []     []      [] []                []     |
-     fslint             |                                           []     |
-     gas                |                                                  |
-     gawk               |       []     []      []                   []     |
-     gcal               |                                           []     |
-     gcc                |                                        [] []     |
-     gettext-examples   |       [] []          [] []    [] []    [] []     |
-     gettext-runtime    |       [] []          [] []    [] []    [] []     |
-     gettext-tools      |       []             [] []    [] []    [] []     |
-     gip                |                   []          []       [] []     |
-     gliv               |       []     []      [] []    []          []     |
-     glunarclock        |              []      [] []    []       [] []     |
-     gmult              |                   [] []                [] []     |
-     gnubiff            |                      ()                   []     |
-     gnucash            |       ()                                  []     |
-     gnuedu             |                                                  |
-     gnulib             |       []                         []       []     |
-     gnunet             |                                                  |
-     gnunet-gtk         |                                           []     |
-     gnutls             |       []                                  []     |
-     gpe-aerial         |          []  []      [] []       []    [] []     |
-     gpe-beam           |          []  []      [] []       []    [] []     |
-     gpe-calendar       |                         []       []    [] []     |
-     gpe-clock          |          []  []      [] []    [] []    [] []     |
-     gpe-conf           |          []  []      [] []    [] []       []     |
-     gpe-contacts       |                      [] []       []    [] []     |
-     gpe-edit           |       [] []  []      [] []    [] []    [] []     |
-     gpe-filemanager    |                                  []       []     |
-     gpe-go             |       []     []      [] []    [] []    [] []     |
-     gpe-login          |          []  []      [] []    [] []    [] []     |
-     gpe-ownerinfo      |          []  []      [] []    [] []    [] []     |
-     gpe-package        |                                  []       []     |
-     gpe-sketchbook     |          []  []      [] []    [] []    [] []     |
-     gpe-su             |          []  []      [] []    [] []    [] []     |
-     gpe-taskmanager    |          []  []      [] []    [] []    [] []     |
-     gpe-timesheet      |          []  []      [] []    [] []    [] []     |
-     gpe-today          |          []  []      [] []    [] []    [] []     |
-     gpe-todo           |                         []       []    [] []     |
-     gphoto2            |    [] []             []       []       [] []     |
-     gprof              |              []      []                   []     |
-     gpsdrive           |                         []                []     |
-     gramadoir          |                               []          []     |
-     grep               |       []                      [] []       []     |
-     gretl              |       [] []  []                                  |
-     gsasl              |       []                               [] []     |
-     gss                |       []             []       []          []     |
-     gst-plugins-bad    |       []     []                           []     |
-     gst-plugins-base   |       []                                  []     |
-     gst-plugins-good   |       []                                  []     |
-     gst-plugins-ugly   |       []     []                           []     |
-     gstreamer          |       []                            [] [] []     |
-     gtick              |                         []                       |
-     gtkam              |    [] []     []         []                []     |
-     gtkorphan          |                                           []     |
-     gtkspell           |              []   [] [] []    [] []    [] []     |
-     gutenprint         |                                           []     |
-     hello              |       []     []      [] []    [] []    [] []     |
-     herrie             |       []                []                []     |
-     hylafax            |                                                  |
-     idutils            |       []     []      [] []                []     |
-     indent             |       []     []      [] []    []       [] []     |
-     iso_15924          |                                                  |
-     iso_3166           |    [] [] []  []      [] [] [] [] [] [] [] []  [] |
-     iso_3166_2         |                                                  |
-     iso_4217           |       [] []             [] []    []    [] []     |
-     iso_639            |       []                [] [] [] []    [] []     |
-     jpilot             |                                                  |
-     jtag               |                               []                 |
-     jwhois             |       []     []      []                   []     |
-     kbd                |       []             []                   []     |
-     keytouch           |                                           []     |
-     keytouch-editor    |                                           []     |
-     keytouch-keyboa... |                                           []     |
-     latrine            |                                                  |
-     ld                 |                                           []     |
-     leafpad            |       [] []             []    []          []  [] |
-     libc               |       []                []    []          []     |
-     libexif            |       []                      []                 |
-     libextractor       |                      []                   []     |
-     libgpewidget       |       [] []  []      []       [] []    [] []     |
-     libgpg-error       |       []             []                   []     |
-     libgphoto2         |       []                                         |
-     libgphoto2_port    |       []                []                []     |
-     libgsasl           |       []             []                [] []     |
-     libiconv           |                                  []    [] []     |
-     libidn             |       []                               [] ()     |
-     lifelines          |       []                                  []     |
-     lilypond           |                                                  |
-     lingoteach         |              []                                  |
-     lprng              |       []                                         |
-     lynx               |              []         []                []     |
-     m4                 |       []     []      [] []                []     |
-     mailfromd          |       []                                         |
-     mailutils          |       []                []                []     |
-     make               |       []     []         []                []     |
-     man-db             |       []             [] []                []     |
-     minicom            |       []     []      [] []                []     |
-     nano               |              []      [] []                []     |
-     opcodes            |                      []                   []     |
-     parted             |       []                                         |
-     pilot-qof          |                                                  |
-     popt               |       [] []             []                []     |
-     psmisc             |       []                                  []     |
-     pwdutils           |       []                                  []     |
-     qof                |              []                           []     |
-     radius             |       []                []                       |
-     recode             |       [] []  []      [] []       []       []     |
-     rpm                |       [] []             []                []     |
-     screem             |                                                  |
-     scrollkeeper       |       []             [] []    []    [] [] []     |
-     sed                |       [] []  []      [] []    [] []    [] []     |
-     shared-mime-info   |       [] []  []                     [] [] []     |
-     sharutils          |       []                []             [] []     |
-     shishi             |       []                                         |
-     skencil            |          []  []                           []     |
-     solfege            |              []                                  |
-     soundtracker       |                               []          []     |
-     sp                 |                                                  |
-     system-tools-ba... |    [] [] []  []      []             [] [] []  [] |
-     tar                |       []                []       []       []     |
-     texinfo            |       []             [] []                []     |
-     tin                |                         ()                       |
-     tuxpaint           |       [] []                      [] [] [] []     |
-     unicode-han-tra... |                                                  |
-     unicode-transla... |                                                  |
-     util-linux         |              []         []       []       []     |
-     util-linux-ng      |              []         []       []       []     |
-     vorbis-tools       |                         []                       |
      wastesedge         |                                                  |
-     wdiff              |       []     []      [] []    [] []       []     |
-     wget               |          []             []    []          []     |
-     xchat              |    []                   []    [] [] [] [] []     |
-     xkeyboard-config   |                               [] []       []     |
-     xpad               |                               [] []       []     |
+     wdiff              |                                                  |
+     wget               |                       []                      [] |
+     wyslij-po          |                                                  |
+     xchat              |                []     []          []          [] |
+     xdg-user-dirs      | []    []    [] []     []    []    []  []      [] |
+     xkeyboard-config   |                                   []          [] |
                         +--------------------------------------------------+
-                          or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv  ta
-                           0  5 77 31  53    4 58 72  3 45 46  9 45 122  3
+                          af am an ar as ast az be be@latin bg bn_IN bs ca
+                           6  0  1  2  3 19   1 10     3    28   3    1 38
+
+                          crh cs da  de  el en en_GB en_ZA eo es et eu fa
+                        +-------------------------------------------------+
+     a2ps               |     [] []  []  []     []            [] []       |
+     aegis              |        []  []                       []          |
+     ant-phone          |        []  ()                                   |
+     anubis             |        []  []                                   |
+     aspell             |     [] []  []         []            []          |
+     bash               |     []                           [] []          |
+     bfd                |                                     []          |
+     bibshelf           |        []  []                       []          |
+     binutils           |                                     []          |
+     bison              |            []  []                               |
+     bison-runtime      |        []  []  []                      []       |
+     bluez-pin          |     [] []  []  []                [] []          |
+     bombono-dvd        |        []                                       |
+     buzztard           |     [] []  []                                   |
+     cflow              |        []  []                                   |
+     clisp              |        []  []     []                []          |
+     coreutils          |     [] []  []                          []       |
+     cpio               |                                                 |
+     cppi               |                                                 |
+     cpplib             |        []  []                       []          |
+     cryptsetup         |            []                                   |
+     dfarc              |        []  []                       []          |
+     dialog             |        []  []                    [] []    []    |
+     dico               |                                                 |
+     diffutils          |     [] []  []  []                [] []          |
+     dink               |        []  []                       []          |
+     doodle             |            []                                   |
+     e2fsprogs          |     []     []                       []          |
+     enscript           |        []  []         []                        |
+     exif               |     () []  []                                   |
+     fetchmail          |     [] []  ()  []     []            []          |
+     findutils          |     [] []  []                                   |
+     flex               |            []                       []          |
+     freedink           |        []  []                       []          |
+     gas                |                                     []          |
+     gawk               |        []  []                       []          |
+     gcal               |                                     []          |
+     gcc                |            []                       []          |
+     gettext-examples   |            []  []                [] []          |
+     gettext-runtime    |        []  []                    [] []          |
+     gettext-tools      |            []                       []    []    |
+     gip                |        []  []                       []    []    |
+     gjay               |            []                                   |
+     gliv               |     [] []  []                                   |
+     glunarclock        |        []  []                                   |
+     gnubiff            |            ()                                   |
+     gnucash            |     []     ()  ()     ()            ()          |
+     gnuedu             |        []                           []          |
+     gnulib             |            []                       []          |
+     gnunet             |                                                 |
+     gnunet-gtk         |        []                                       |
+     gnutls             |     []     []                                   |
+     gold               |                                     []          |
+     gpe-aerial         |     [] []  []                       []          |
+     gpe-beam           |     [] []  []                       []          |
+     gpe-bluetooth      |        []  []                                   |
+     gpe-calendar       |        []                                       |
+     gpe-clock          |     [] []  []                       []          |
+     gpe-conf           |     [] []  []                                   |
+     gpe-contacts       |        []  []                       []          |
+     gpe-edit           |        []  []                                   |
+     gpe-filemanager    |        []  []                       []          |
+     gpe-go             |     [] []  []                       []          |
+     gpe-login          |        []  []                                   |
+     gpe-ownerinfo      |     [] []  []                       []          |
+     gpe-package        |        []  []                       []          |
+     gpe-sketchbook     |     [] []  []                       []          |
+     gpe-su             |     [] []  []                       []          |
+     gpe-taskmanager    |     [] []  []                       []          |
+     gpe-timesheet      |     [] []  []                       []          |
+     gpe-today          |     [] []  []                       []          |
+     gpe-todo           |        []  []                       []          |
+     gphoto2            |     [] []  ()         []            []    []    |
+     gprof              |        []  []                       []          |
+     gpsdrive           |        []                           [] []       |
+     gramadoir          |        []  []                    []             |
+     grep               |     []                                          |
+     grub               |        []  []                                   |
+     gsasl              |            []                                   |
+     gss                |                                                 |
+     gst-plugins-bad    |     [] []  []                       []    []    |
+     gst-plugins-base   |     [] []  []                       []    []    |
+     gst-plugins-good   |     [] []  []  []                   []    []    |
+     gst-plugins-ugly   |     [] []  []  []                   []    []    |
+     gstreamer          |     [] []  []                       []    []    |
+     gtick              |        []  ()                    []             |
+     gtkam              |     [] []  ()                    [] []          |
+     gtkorphan          |     [] []  []                    []             |
+     gtkspell           |     [] []  []  []                [] []    []    |
+     gutenprint         |        []  []         []                        |
+     hello              |        []  []                    [] []          |
+     help2man           |            []                                   |
+     hylafax            |            []                       []          |
+     idutils            |        []  []                                   |
+     indent             |     [] []  []                    [] [] [] []    |
+     iso_15924          |        []      ()                [] []          |
+     iso_3166           | []  [] []  []  ()                [] [] [] ()    |
+     iso_3166_2         |                ()                               |
+     iso_4217           |     [] []  []  ()                   [] []       |
+     iso_639            | []  [] []  []  ()                [] []          |
+     iso_639_3          | []                                              |
+     jwhois             |                                     []          |
+     kbd                |     [] []  []  []                   []          |
+     keytouch           |        []  []                                   |
+     keytouch-editor    |        []  []                                   |
+     keytouch-keyboa... |        []                                       |
+     klavaro            |     [] []  []                    []             |
+     latrine            |        []  ()                                   |
+     ld                 |        []                           []          |
+     leafpad            |     [] []  []  []                   []    []    |
+     libc               |     [] []  []                       []          |
+     libexif            |        []  []         ()                        |
+     libextractor       |                                                 |
+     libgnutls          |     []                                          |
+     libgpewidget       |        []  []                                   |
+     libgpg-error       |     []     []                                   |
+     libgphoto2         |        []  ()                                   |
+     libgphoto2_port    |        []  ()                             []    |
+     libgsasl           |                                                 |
+     libiconv           |     [] []  []                    []    []       |
+     libidn             |     []     []                    []             |
+     lifelines          |        []  ()                                   |
+     liferea            |     []     []  []                   []    []    |
+     lilypond           |     []     []                       []          |
+     linkdr             |        []  []                       []          |
+     lordsawar          |        []                                       |
+     lprng              |                                                 |
+     lynx               |     [] []  []                          []       |
+     m4                 |     [] []  []  []                               |
+     mailfromd          |                                                 |
+     mailutils          |                                     []          |
+     make               |        []  []                       []          |
+     man-db             |                                                 |
+     man-db-manpages    |                                                 |
+     minicom            |     [] []  []                       []          |
+     mkisofs            |                                                 |
+     myserver           |                                                 |
+     nano               |            []                       []    []    |
+     opcodes            |            []                       []          |
+     parted             |     []     []                                   |
+     pies               |                                                 |
+     popt               |     [] []  []                    [] []          |
+     psmisc             |     []     []                             []    |
+     pspp               |                                     []          |
+     pwdutils           |        []                                       |
+     radius             |                                     []          |
+     recode             |     [] []  []  []                [] []          |
+     rosegarden         |     ()     ()                       ()          |
+     rpm                |        []  []                       []          |
+     rush               |                                                 |
+     sarg               |                                                 |
+     screem             |                                                 |
+     scrollkeeper       |     [] []  []         []            []          |
+     sed                |     []     []  []                [] [] []       |
+     sharutils          |        []  []                       [] []       |
+     shishi             |                                                 |
+     skencil            |        []  ()                       []          |
+     solfege            |            []                    []    []       |
+     solfege-manual     |                                  []    []       |
+     soundtracker       |        []  []                       []          |
+     sp                 |            []                                   |
+     sysstat            |        []  []                             []    |
+     tar                |     []     []                          [] []    |
+     texinfo            |            []                    [] []          |
+     tin                |            []                          []       |
+     unicode-han-tra... |                                                 |
+     unicode-transla... |                                                 |
+     util-linux-ng      |     [] []  []                       []          |
+     vice               |        ()  ()                                   |
+     vmm                |            []                                   |
+     vorbis-tools       |     []                           []             |
+     wastesedge         |        []                                       |
+     wdiff              |            []                       []          |
+     wget               |     []     []                          []       |
+     wyslij-po          |                                                 |
+     xchat              |     []     []  []                   [] []       |
+     xdg-user-dirs      | []  [] []  []  []                [] [] [] []    |
+     xkeyboard-config   | []  [] []  []                    [] []          |
+                        +-------------------------------------------------+
+                          crh cs da  de  el en en_GB en_ZA eo es et eu fa
+                           5  64 105 117 18  1   8     0   28 89 18 19  0
+
+                          fi  fr  ga gl gu he hi hr hu hy id  is it ja ka kn
+                        +----------------------------------------------------+
+     a2ps               | []  []                          []        []       |
+     aegis              |     []                                 []          |
+     ant-phone          |     []                                 []          |
+     anubis             | []  []                          []     []          |
+     aspell             |     []  []                      []     []          |
+     bash               | []  []                          []        []       |
+     bfd                | []  []                          []                 |
+     bibshelf           | []  []  []                      []     []          |
+     binutils           | []  []                          []                 |
+     bison              | []  []  []                      []                 |
+     bison-runtime      | []  []  []                      []     [] []       |
+     bluez-pin          | []  []  []                [] [] []  []    []       |
+     bombono-dvd        | []                                                 |
+     buzztard           |                                 []                 |
+     cflow              | []      []                      []                 |
+     clisp              |     []                                             |
+     coreutils          |     []  []                []    []     []          |
+     cpio               | []  []  []                      []                 |
+     cppi               | []  []                                             |
+     cpplib             | []  []                          []                 |
+     cryptsetup         |     []                          []     []          |
+     dfarc              | []  []                                 []          |
+     dialog             |     []  [] []                   []  [] [] []       |
+     dico               |                                                    |
+     diffutils          | []  []  [] []    []       []    []     [] []       |
+     dink               |     []                                             |
+     doodle             |         []                             []          |
+     e2fsprogs          |     []                          []                 |
+     enscript           |     []  []             []       []                 |
+     exif               | []  []                          []  [] [] []       |
+     fetchmail          |     []                          []     [] []       |
+     findutils          | []  []  []                []    []     []          |
+     flex               | []  []  []                                         |
+     freedink           | []  []                          []                 |
+     gas                |     []                          []                 |
+     gawk               |     []  []       []             []     () []       |
+     gcal               |     []                                             |
+     gcc                |                                 []                 |
+     gettext-examples   | []  []  []                []    []     [] []       |
+     gettext-runtime    | []  []  []                      []     [] []       |
+     gettext-tools      |     []                          []     [] []       |
+     gip                | []  []  [] []                   []        []       |
+     gjay               | []                                                 |
+     gliv               | []  ()                                             |
+     glunarclock        | []      []                []    []                 |
+     gnubiff            |     ()                          []     ()          |
+     gnucash            | ()  ()           ()       ()           () []       |
+     gnuedu             |     []                                 []          |
+     gnulib             | []  []  []                []           [] []       |
+     gnunet             |                                                    |
+     gnunet-gtk         |     []                                             |
+     gnutls             |     []                                 []          |
+     gold               | []                              []                 |
+     gpe-aerial         | []  []                          []                 |
+     gpe-beam           | []  []                          []        []       |
+     gpe-bluetooth      | []                              []     [] []       |
+     gpe-calendar       | []                                        []       |
+     gpe-clock          | []  []                    []    []        []       |
+     gpe-conf           | []  []                          []        []       |
+     gpe-contacts       | []  []                          []        []       |
+     gpe-edit           | []                              []        []       |
+     gpe-filemanager    | []                        []    []        []       |
+     gpe-go             | []  []                    []    []        []       |
+     gpe-login          | []                              []        []       |
+     gpe-ownerinfo      | []  []                    []    []        []       |
+     gpe-package        | []                              []        []       |
+     gpe-sketchbook     | []  []                          []        []       |
+     gpe-su             | []  []     []             []    []        []       |
+     gpe-taskmanager    | []  []                    []    []        []       |
+     gpe-timesheet      | []  []  []                      []        []       |
+     gpe-today          | []  []  [] []             []    []        []       |
+     gpe-todo           | []                              []        []       |
+     gphoto2            | []  []                    []    []     [] []       |
+     gprof              | []  []  []                      []                 |
+     gpsdrive           |            []                   []     []          |
+     gramadoir          |     []  []                      []                 |
+     grep               | []                                     []          |
+     grub               | []                        []    []     []          |
+     gsasl              | []  []  []                      []     []          |
+     gss                | []  []  []                      []     []          |
+     gst-plugins-bad    | []  []                    []    []     [] []       |
+     gst-plugins-base   | []  []                    []    []     [] []       |
+     gst-plugins-good   | []  []                    []    []     [] []       |
+     gst-plugins-ugly   | []  []                    []    []     [] []       |
+     gstreamer          | []  []                    []    []     []          |
+     gtick              | []  []  []                      []     []          |
+     gtkam              |     []                    []    []     [] []       |
+     gtkorphan          |     []                          []     []          |
+     gtkspell           | []  []  [] []             [] [] []     [] []       |
+     gutenprint         | []  []                    []           []          |
+     hello              | []      []                      []                 |
+     help2man           | []  []                                             |
+     hylafax            |                                 []                 |
+     idutils            | []  []  []                []    []     []          |
+     indent             | []  []  [] []             []    []     [] []       |
+     iso_15924          | []  ()                          []     []          |
+     iso_3166           | []  ()  [] [] [] [] [] [] []    []     [] []       |
+     iso_3166_2         |     ()                    []    []     []          |
+     iso_4217           | []  ()                    []    []     [] []       |
+     iso_639            | []  ()  []    []          []    []     [] []    [] |
+     iso_639_3          |     ()                                 []       [] |
+     jwhois             | []  []                    []    []     []          |
+     kbd                |     []                          []                 |
+     keytouch           | []  []  []                []    []     []          |
+     keytouch-editor    | []      []                []    []     []          |
+     keytouch-keyboa... | []      []                []    []     []          |
+     klavaro            |            []             []                       |
+     latrine            | []                              []     []          |
+     ld                 | []  []  []                      []                 |
+     leafpad            | []  []  []       []       []    []     [] ()       |
+     libc               | []  []     []                   []        []       |
+     libexif            |                                        []          |
+     libextractor       |                                                    |
+     libgnutls          |     []                                 []          |
+     libgpewidget       | []      []                      []        []       |
+     libgpg-error       |     []                                 []          |
+     libgphoto2         |     []                                 [] []       |
+     libgphoto2_port    |     []                                 [] []       |
+     libgsasl           | []  []  []                      []     []          |
+     libiconv           | []  []  []                      []     [] []       |
+     libidn             | []  []                          []     []          |
+     lifelines          |     ()                                             |
+     liferea            |     []                    []           [] []       |
+     lilypond           | []  []                                             |
+     linkdr             | []               []    [] []           []          |
+     lordsawar          |                                                    |
+     lprng              |                                 []                 |
+     lynx               |     []                    []    []     [] []       |
+     m4                 | []  []  [] []                   []        []       |
+     mailfromd          |                                                    |
+     mailutils          |     []                          []                 |
+     make               | []  []  [] []    []    []       []     [] []       |
+     man-db             |                                 []     []          |
+     man-db-manpages    |                                 []                 |
+     minicom            | []  []                    []    []        []       |
+     mkisofs            | []  []                          []     []          |
+     myserver           |                                                    |
+     nano               | []  []  [] []             []           []          |
+     opcodes            | []  []  []                      []                 |
+     parted             |     []                          []     [] []       |
+     pies               |                                                    |
+     popt               | []  []  [] []             []    []  [] [] []       |
+     psmisc             | []  []                          []                 |
+     pspp               |                                                    |
+     pwdutils           |     []                          []                 |
+     radius             |     []                          []                 |
+     recode             | []  []  [] []    []       []    []     []          |
+     rosegarden         | ()  ()                          ()     () ()       |
+     rpm                |                                 []        []       |
+     rush               |                                                    |
+     sarg               |     []                                             |
+     screem             |                                        [] []       |
+     scrollkeeper       | []                        []    []     []          |
+     sed                | []  []  [] []             []    []     [] []       |
+     sharutils          | []  []  []                []    []     [] []       |
+     shishi             |     []                                             |
+     skencil            |     []                                             |
+     solfege            | []  []     []                          []          |
+     solfege-manual     |     []     []                                      |
+     soundtracker       |     []                                 []          |
+     sp                 |     []                                    ()       |
+     sysstat            | []  []                          []     [] []       |
+     tar                | []  []  []                []    []     [] []       |
+     texinfo            |     []                          []     [] []       |
+     tin                |     []                                             |
+     unicode-han-tra... |                                                    |
+     unicode-transla... |     []  []                                         |
+     util-linux-ng      | []  []                    []    []     [] []       |
+     vice               |     ()                    ()           ()          |
+     vmm                |     []                                             |
+     vorbis-tools       |                                 []                 |
+     wastesedge         |     ()                                 ()          |
+     wdiff              | []                                                 |
+     wget               | []  []  []             [] []    []     [] []       |
+     wyslij-po          | []  []                          []                 |
+     xchat              | []  []        []    []    []    []     [] []    [] |
+     xdg-user-dirs      | []  []  [] [] [] [] []    []    []  [] [] []    [] |
+     xkeyboard-config   | []  []                    []    []     []          |
+                        +----------------------------------------------------+
+                          fi  fr  ga gl gu he hi hr hu hy id  is it ja ka kn
+                          105 121 53 20  4  8  3  5 53  2 120  5 84 67  0  4
+
+                          ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
+                        +-----------------------------------------------+
+     a2ps               |                               []              |
+     aegis              |                                               |
+     ant-phone          |                                               |
+     anubis             |                               []    []        |
+     aspell             |                         []                    |
+     bash               |                                               |
+     bfd                |                                               |
+     bibshelf           |                []             []              |
+     binutils           |                                               |
+     bison              |                               []              |
+     bison-runtime      |       []    [] []             []    []        |
+     bluez-pin          |    [] []    [] []             []              |
+     bombono-dvd        |                                               |
+     buzztard           |                                               |
+     cflow              |                                               |
+     clisp              |                                               |
+     coreutils          |          []                                   |
+     cpio               |                                               |
+     cppi               |                                               |
+     cpplib             |                                               |
+     cryptsetup         |                                               |
+     dfarc              |                   []                          |
+     dialog             |    []       [] []             []    []        |
+     dico               |                                               |
+     diffutils          |                []             []              |
+     dink               |                                               |
+     doodle             |                                               |
+     e2fsprogs          |                                               |
+     enscript           |                                               |
+     exif               |                []                             |
+     fetchmail          |                                               |
+     findutils          |                                               |
+     flex               |                                               |
+     freedink           |                                     []        |
+     gas                |                                               |
+     gawk               |                                               |
+     gcal               |                                               |
+     gcc                |                                               |
+     gettext-examples   |       []       []             [] []           |
+     gettext-runtime    | []                                            |
+     gettext-tools      | []                                            |
+     gip                |                []             []              |
+     gjay               |                                               |
+     gliv               |                                               |
+     glunarclock        |                []                             |
+     gnubiff            |                                               |
+     gnucash            | ()          ()                      ()     () |
+     gnuedu             |                                               |
+     gnulib             |                                               |
+     gnunet             |                                               |
+     gnunet-gtk         |                                               |
+     gnutls             |                               []              |
+     gold               |                                               |
+     gpe-aerial         |                []                             |
+     gpe-beam           |                []                             |
+     gpe-bluetooth      |                []                []           |
+     gpe-calendar       |                []                             |
+     gpe-clock          | []    []       []             [] []           |
+     gpe-conf           | []             []                             |
+     gpe-contacts       | []             []                             |
+     gpe-edit           |                []                             |
+     gpe-filemanager    | []             []                             |
+     gpe-go             | []             []                []           |
+     gpe-login          |                []                             |
+     gpe-ownerinfo      |                []             []              |
+     gpe-package        | []             []                             |
+     gpe-sketchbook     | []             []                             |
+     gpe-su             | []    []       []             [] [] []        |
+     gpe-taskmanager    | [] [] []       []             [] []           |
+     gpe-timesheet      |                []             []              |
+     gpe-today          |       []       []             [] []           |
+     gpe-todo           |                []                   []        |
+     gphoto2            |                                               |
+     gprof              |                               []              |
+     gpsdrive           |                                               |
+     gramadoir          |                                               |
+     grep               |                                               |
+     grub               |                                               |
+     gsasl              |                                               |
+     gss                |                                               |
+     gst-plugins-bad    |             [] []                [] []        |
+     gst-plugins-base   |             [] []                             |
+     gst-plugins-good   |                []                []           |
+     gst-plugins-ugly   |             [] []             [] [] []        |
+     gstreamer          |                                               |
+     gtick              |                                               |
+     gtkam              |                                     []        |
+     gtkorphan          |                []                      []     |
+     gtkspell           |       []    [] []       []    []    [] []     |
+     gutenprint         |                                               |
+     hello              | []             []             []              |
+     help2man           |                                               |
+     hylafax            |                                               |
+     idutils            |                                               |
+     indent             |                                               |
+     iso_15924          |             [] []                             |
+     iso_3166           | [] []       () [] [] []    []       []        |
+     iso_3166_2         |                                               |
+     iso_4217           |             []                      []        |
+     iso_639            |                      []    []                 |
+     iso_639_3          |                            []                 |
+     jwhois             |                []                             |
+     kbd                |                                               |
+     keytouch           |                []                             |
+     keytouch-editor    |                []                             |
+     keytouch-keyboa... |                []                             |
+     klavaro            |                                     []        |
+     latrine            |                []                             |
+     ld                 |                                               |
+     leafpad            | []          [] []                             |
+     libc               | []                                            |
+     libexif            |                                               |
+     libextractor       |                                               |
+     libgnutls          |                               []              |
+     libgpewidget       |                []             []              |
+     libgpg-error       |                                               |
+     libgphoto2         |                                               |
+     libgphoto2_port    |                                               |
+     libgsasl           |                                               |
+     libiconv           |                                               |
+     libidn             |                                               |
+     lifelines          |                                               |
+     liferea            |                                               |
+     lilypond           |                                               |
+     linkdr             |                                               |
+     lordsawar          |                                               |
+     lprng              |                                               |
+     lynx               |                                               |
+     m4                 |                                               |
+     mailfromd          |                                               |
+     mailutils          |                                               |
+     make               | []                                            |
+     man-db             |                                               |
+     man-db-manpages    |                                               |
+     minicom            |                                     []        |
+     mkisofs            |                                               |
+     myserver           |                                               |
+     nano               |                               []    []        |
+     opcodes            |                                               |
+     parted             |                                               |
+     pies               |                                               |
+     popt               | []             []                   []        |
+     psmisc             |                                               |
+     pspp               |                                               |
+     pwdutils           |                                               |
+     radius             |                                               |
+     recode             |                                               |
+     rosegarden         |                                               |
+     rpm                |                                               |
+     rush               |                                               |
+     sarg               |                                               |
+     screem             |                                               |
+     scrollkeeper       |                                     []     [] |
+     sed                |                                               |
+     sharutils          |                                               |
+     shishi             |                                               |
+     skencil            |                                               |
+     solfege            |                                     []        |
+     solfege-manual     |                                               |
+     soundtracker       |                                               |
+     sp                 |                                               |
+     sysstat            |                []                             |
+     tar                |       []                                      |
+     texinfo            |                                     []        |
+     tin                |                                               |
+     unicode-han-tra... |                                               |
+     unicode-transla... |                                               |
+     util-linux-ng      |                                               |
+     vice               |                                               |
+     vmm                |                                               |
+     vorbis-tools       |                                               |
+     wastesedge         |                                               |
+     wdiff              |                                               |
+     wget               |             []                                |
+     wyslij-po          |                                               |
+     xchat              | []             [] []                          |
+     xdg-user-dirs      | [] []       [] [] []       []       [] []     |
+     xkeyboard-config   | []    []    []                                |
+                        +-----------------------------------------------+
+                          ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
+                          20  5 10  1 13 48  4  2  2  4 24 10 20  3   1
+
+                          nl  nn or pa pl  ps pt pt_BR ro ru rw sk sl sq sr
+                        +---------------------------------------------------+
+     a2ps               | []           []     []  []   [] []       []    [] |
+     aegis              | []                      []      []                |
+     ant-phone          |                         []   []                   |
+     anubis             | []           []                 []                |
+     aspell             | []                           [] []    [] []       |
+     bash               | []                                    []          |
+     bfd                |                                 []                |
+     bibshelf           | []  []                                            |
+     binutils           |                                 []    []          |
+     bison              | []           []                 []                |
+     bison-runtime      | []           []     []  []   [] []       []       |
+     bluez-pin          | []           []         []   [] []    [] []    [] |
+     bombono-dvd        |     []                          ()                |
+     buzztard           | []  []                                            |
+     cflow              |              []                                   |
+     clisp              | []                              []                |
+     coreutils          | []           []     []  []      []       []       |
+     cpio               | []           []                 []                |
+     cppi               |              []                                   |
+     cpplib             | []                                                |
+     cryptsetup         | []                                                |
+     dfarc              |              []                                   |
+     dialog             | []           []         []      []                |
+     dico               |              []                                   |
+     diffutils          | []           []         []   [] []             [] |
+     dink               | ()                                                |
+     doodle             | []                                          []    |
+     e2fsprogs          | []           []                                   |
+     enscript           | []                      []   [] []       []       |
+     exif               | []           []              [] ()    []          |
+     fetchmail          | []           []                 []          []    |
+     findutils          | []           []     []          []       []       |
+     flex               | []           []         []   [] []                |
+     freedink           | []           []                                   |
+     gas                |                                                   |
+     gawk               | []           []         []   []                   |
+     gcal               |                                                   |
+     gcc                |                                                [] |
+     gettext-examples   | []           []     []       [] []    [] []    [] |
+     gettext-runtime    | []  []       []     []       [] []    [] []    [] |
+     gettext-tools      |              []              [] []    [] []    [] |
+     gip                | []           []                 []    []       [] |
+     gjay               |                                                   |
+     gliv               | []           []         []   [] []    []          |
+     glunarclock        | []                      []   []       []       [] |
+     gnubiff            | []                           ()                   |
+     gnucash            | []           ()         ()      ()                |
+     gnuedu             | []                                                |
+     gnulib             | []           []                 []       []       |
+     gnunet             |                                                   |
+     gnunet-gtk         |                                                   |
+     gnutls             | []           []                                   |
+     gold               |                                                   |
+     gpe-aerial         | []                  []  []   [] []       []    [] |
+     gpe-beam           | []                  []  []   [] []       []    [] |
+     gpe-bluetooth      | []                      []                        |
+     gpe-calendar       |                         []      []       []    [] |
+     gpe-clock          | []                  []  []   [] []    [] []    [] |
+     gpe-conf           | []                  []  []   [] []    [] []       |
+     gpe-contacts       |                         []   [] []       []    [] |
+     gpe-edit           | []           []                          []       |
+     gpe-filemanager    | []                              []       []       |
+     gpe-go             | []           []         []   [] []    [] []    [] |
+     gpe-login          | []                      []                        |
+     gpe-ownerinfo      | []                  []  []   [] []    [] []    [] |
+     gpe-package        | []                                       []       |
+     gpe-sketchbook     | []                  []  []   [] []       []    [] |
+     gpe-su             | []                  []  []   [] []    [] []    [] |
+     gpe-taskmanager    | []                  []  []   [] []    [] []    [] |
+     gpe-timesheet      | []                  []  []   [] []    [] []    [] |
+     gpe-today          | []                  []  []   [] []    [] []    [] |
+     gpe-todo           | []                      []      []       []    [] |
+     gphoto2            | []        [] []         []   [] []    []       [] |
+     gprof              | []                      []   []                   |
+     gpsdrive           | []                              []                |
+     gramadoir          | []                                    []          |
+     grep               | []           []                 []    []          |
+     grub               | []           []                 []                |
+     gsasl              | []           []                       []       [] |
+     gss                |              []              []       []          |
+     gst-plugins-bad    | []           []         []      []    []    []    |
+     gst-plugins-base   | []           []         []      []    []          |
+     gst-plugins-good   | []           []         []      []    []          |
+     gst-plugins-ugly   | []           []         []      []    [] []       |
+     gstreamer          | []           []         []      []    []          |
+     gtick              | []                              []    []          |
+     gtkam              | []        [] []         []      []    []          |
+     gtkorphan          | []                                                |
+     gtkspell           | []           []     []  []   [] []    [] [] [] [] |
+     gutenprint         | []                              []                |
+     hello              | []           []                       [] []       |
+     help2man           |              []                 []                |
+     hylafax            | []                                                |
+     idutils            | []           []         []   [] []                |
+     indent             | []           []         []   [] []    []       [] |
+     iso_15924          | []           []                 []       []       |
+     iso_3166           | []  [] [] [] []     ()  []   [] [] [] [] [] [] [] |
+     iso_3166_2         | []           []                          []       |
+     iso_4217           | []  []       []     []          [] []    []    [] |
+     iso_639            | []     [] [] []                 [] [] [] []    [] |
+     iso_639_3          |        [] []                                      |
+     jwhois             | []           []         []   []                   |
+     kbd                | []           []              []                   |
+     keytouch           | []           []                       []          |
+     keytouch-editor    | []           []                       []          |
+     keytouch-keyboa... | []           []                       []          |
+     klavaro            | []                      []                        |
+     latrine            |              []                 []                |
+     ld                 |                                                   |
+     leafpad            | []  []       []     []  []      []    [] []    [] |
+     libc               | []           []                 []    []          |
+     libexif            | []           []         ()            []          |
+     libextractor       |                                                   |
+     libgnutls          | []           []                                   |
+     libgpewidget       | []           []                          []       |
+     libgpg-error       |              []              []                   |
+     libgphoto2         | []           []                                   |
+     libgphoto2_port    | []           []         []      []    []          |
+     libgsasl           | []           []              []       []       [] |
+     libiconv           | []           []                       [] []    [] |
+     libidn             | []           []                                   |
+     lifelines          | []           []                                   |
+     liferea            | []           []     []  []   [] ()    ()    []    |
+     lilypond           | []                                                |
+     linkdr             | []                  []          []                |
+     lordsawar          |                                                   |
+     lprng              |              []                                   |
+     lynx               | []                      []      []                |
+     m4                 | []           []         []   [] []                |
+     mailfromd          |              []                                   |
+     mailutils          |              []                                   |
+     make               | []           []         []      []                |
+     man-db             | []           []                 []                |
+     man-db-manpages    | []           []                 []                |
+     minicom            |              []         []   [] []                |
+     mkisofs            | []           []                 []                |
+     myserver           |                                                   |
+     nano               | []           []         []      []                |
+     opcodes            | []                           []                   |
+     parted             | []           []                 []    []          |
+     pies               |              []                                   |
+     popt               | []           []     []          []                |
+     psmisc             | []           []                 []                |
+     pspp               | []                      []                        |
+     pwdutils           |              []                                   |
+     radius             | []           []                 []                |
+     recode             | []           []     []  []   [] []    [] []       |
+     rosegarden         |              ()                 ()                |
+     rpm                | []           []     []                            |
+     rush               | []           []                                   |
+     sarg               |                                                   |
+     screem             |                                                   |
+     scrollkeeper       | []  []       []              [] []    []    [] [] |
+     sed                | []           []     []  []   [] []    [] []    [] |
+     sharutils          | []           []                 []             [] |
+     shishi             |              []                                   |
+     skencil            |                     []  []                        |
+     solfege            | []           []         []      []                |
+     solfege-manual     | []           []         []                        |
+     soundtracker       |                                       []          |
+     sp                 |                                                   |
+     sysstat            | []           []         []      []                |
+     tar                | []           []                 []       []       |
+     texinfo            | []           []              [] []                |
+     tin                |                                 []                |
+     unicode-han-tra... |                                                   |
+     unicode-transla... |                                                   |
+     util-linux-ng      | []           []         []      []       []       |
+     vice               | []                                                |
+     vmm                | []                                                |
+     vorbis-tools       | []           []                                   |
+     wastesedge         | []                                                |
+     wdiff              | []           []                                   |
+     wget               | []           []     []  []      []    [] []       |
+     wyslij-po          | []  []       []                                   |
+     xchat              | []        [] []     []          []    [] [] [] [] |
+     xdg-user-dirs      | []  [] [] [] []  [] []  []   [] []    [] [] [] [] |
+     xkeyboard-config   | []           []                 []                |
+                        +---------------------------------------------------+
+                          nl  nn or pa pl  ps pt pt_BR ro ru rw sk sl sq sr
+                          135 10  4  7 105  1 29  62   47 91  3 54 46  9 37
 
-                          tg th tk tr uk ven vi  wa xh zh_CN zh_HK zh_TW zu
+                          sv  sw ta te tg th tr uk vi  wa zh_CN zh_HK zh_TW
                         +---------------------------------------------------+
-     Compendium         |          []        []         []          []      | 19
-     a2ps               |          [] []     []                             | 19
-     aegis              |                    []                             |  1
-     ant-phone          |          []        []                             |  6
-     anubis             |          [] []     []                             | 11
-     ap-utils           |             ()     []                             |  4
-     aspell             |             []     []  []                         | 16
-     bash               |          []                                       |  6
-     bfd                |                                                   |  2
-     bibshelf           |                    []                             |  7
-     binutils           |          [] []     []                     []      |  9
-     bison              |          [] []     []                     []      | 20
-     bison-runtime      |             []     []         []          []      | 18
-     bluez-pin          |          [] []     []  []     []          []      | 28
-     cflow              |             []     []                             |  5
-     clisp              |                                                   |  9
-     console-tools      |          []        []                             |  5
-     coreutils          |          [] []     []                             | 18
-     cpio               |          [] []     []         []                  | 11
-     cpplib             |          [] []     []         []          []      | 12
-     cryptonit          |                    []                             |  6
-     dialog             |                    []  []     []                  |  9
-     diffutils          |          [] []     []         []          []      | 29
-     doodle             |                    []                             |  6
-     e2fsprogs          |          []        []                             | 10
-     enscript           |          [] []     []                             | 16
-     fetchmail          |          []        []                             | 12
-     findutils          |          [] []     []                             | 11
-     findutils_stable   |          [] []     []                     []      | 18
-     flex               |          []        []                             | 15
-     fslint             |                    []                             |  2
-     gas                |          []                                       |  3
-     gawk               |          []        []         []                  | 16
-     gcal               |          []                                       |  5
-     gcc                |          []                   []          []      |  7
-     gettext-examples   |          [] []     []         []    []    []      | 29
-     gettext-runtime    |          [] []     []         []    []    []      | 28
-     gettext-tools      |          [] []     []         []          []      | 20
-     gip                |                    []                     []      | 13
-     gliv               |          []        []                             | 11
-     glunarclock        |                    []  []                 []      | 15
-     gmult              |          []        []         []          []      | 16
-     gnubiff            |                    []                             |  2
-     gnucash            |          () []                                    |  5
-     gnuedu             |                    []                             |  2
-     gnulib             |                    []                             | 10
-     gnunet             |                                                   |  0
-     gnunet-gtk         |          []        []                             |  3
-     gnutls             |                                                   |  4
-     gpe-aerial         |                    []         []                  | 14
-     gpe-beam           |                    []         []                  | 14
-     gpe-calendar       |                    []  []                         |  7
-     gpe-clock          |          []        []  []     []                  | 21
-     gpe-conf           |                    []  []     []                  | 16
-     gpe-contacts       |                    []         []                  | 10
-     gpe-edit           |          []        []  []     []          []      | 22
-     gpe-filemanager    |                    []  []                         |  7
-     gpe-go             |          []        []  []     []                  | 19
-     gpe-login          |          []        []  []     []          []      | 21
-     gpe-ownerinfo      |          []        []         []          []      | 21
-     gpe-package        |                    []                             |  6
-     gpe-sketchbook     |          []        []                             | 16
-     gpe-su             |          []        []  []     []                  | 21
-     gpe-taskmanager    |          []        []  []     []                  | 21
-     gpe-timesheet      |          []        []         []          []      | 18
-     gpe-today          |          []        []  []     []          []      | 21
-     gpe-todo           |                    []  []                         |  8
-     gphoto2            |             []     []         []          []      | 21
-     gprof              |          []        []                             | 13
-     gpsdrive           |                    []                             |  5
-     gramadoir          |                    []                             |  7
-     grep               |                    []                             | 12
-     gretl              |                                                   |  6
-     gsasl              |                    []         []          []      |  9
-     gss                |                    []                             |  7
-     gst-plugins-bad    |             []     []         []                  | 13
-     gst-plugins-base   |             []     []                             | 11
-     gst-plugins-good   |             []     []         []    []    []      | 16
-     gst-plugins-ugly   |             []     []         []                  | 13
-     gstreamer          |          [] []     []                             | 18
-     gtick              |             []     []                             |  7
-     gtkam              |                    []                             | 16
-     gtkorphan          |                    []                             |  7
-     gtkspell           |             []     []  []     []    []    []      | 27
-     gutenprint         |                                                   |  4
-     hello              |          [] []     []         []          []      | 38
-     herrie             |          []        []                             |  8
-     hylafax            |                                                   |  0
-     idutils            |          []        []                             | 15
-     indent             |          [] []     []         []          []      | 28
-     iso_15924          |                    []         []                  |  4
-     iso_3166           |    [] [] [] []     []  []     []    []    []      | 54
-     iso_3166_2         |                    []         []                  |  4
-     iso_4217           |    []    []        []         []    []            | 24
-     iso_639            |             []     []  []     []    []            | 26
-     jpilot             |          [] []     []         []                  |  7
-     jtag               |                    []                             |  3
-     jwhois             |          []        []                     []      | 13
-     kbd                |          [] []     []                             | 13
-     keytouch           |                    []                             |  8
-     keytouch-editor    |                    []                             |  5
-     keytouch-keyboa... |                    []                             |  5
-     latrine            |          []        []                             |  5
-     ld                 |          []        []         []          []      | 10
-     leafpad            |          [] []     []         []          []      | 24
-     libc               |          []                   []          []      | 19
-     libexif            |                    []                             |  5
-     libextractor       |                    []                             |  5
-     libgpewidget       |                    []  []     []                  | 20
-     libgpg-error       |                    []                             |  6
-     libgphoto2         |             []     []                             |  9
-     libgphoto2_port    |             []     []                     []      | 11
-     libgsasl           |                    []                             |  8
-     libiconv           |                    []  []                         | 11
-     libidn             |                    []         []                  | 11
-     lifelines          |                                                   |  4
-     lilypond           |                    []                             |  6
-     lingoteach         |                    []                             |  6
-     lprng              |                    []                             |  2
-     lynx               |          [] []     []                             | 15
-     m4                 |                    []         []          []      | 18
-     mailfromd          |             []     []                             |  3
-     mailutils          |             []     []                             |  8
-     make               |          []        []         []                  | 20
-     man-db             |                    []                             |  9
-     minicom            |                    []                             | 14
-     nano               |                    []         []          []      | 20
-     opcodes            |          []        []                             | 10
-     parted             |          [] []                            []      | 11
-     pilot-qof          |                    []                             |  1
-     popt               |          []        []         []          []      | 18
-     psmisc             |                    []         []                  | 10
-     pwdutils           |                    []                             |  3
-     qof                |                    []                             |  4
-     radius             |             []     []                             |  7
-     recode             |          []        []         []                  | 25
-     rpm                |          [] []     []                     []      | 13
-     screem             |                    []                             |  2
-     scrollkeeper       |          [] []     []                     []      | 26
-     sed                |          []        []         []          []      | 23
-     shared-mime-info   |             []     []         []                  | 29
-     sharutils          |          []        []                     []      | 23
-     shishi             |                    []                             |  3
-     skencil            |                    []                             |  7
-     solfege            |                    []                             |  3
-     soundtracker       |          []        []                             |  9
-     sp                 |          []                                       |  3
-     system-tools-ba... |    []    [] []     []     []  []          []      | 38
-     tar                |          [] []     []                             | 17
-     texinfo            |          []        []         []                  | 15
-     tin                |                                                   |  1
-     tuxpaint           |                    []  []                 []      | 19
+     a2ps               | []              [] [] [] []                       | 27
+     aegis              |                          []                       |  9
+     ant-phone          | []                 []    []      []               |  9
+     anubis             | []                 [] [] []                       | 15
+     aspell             |                       [] []  []                   | 20
+     bash               | []                    [] []                       | 12
+     bfd                |                          []                       |  6
+     bibshelf           | []                       []      []               | 16
+     binutils           |                       [] []                       |  8
+     bison              | []                       []                       | 12
+     bison-runtime      | []              []    [] []      []          []   | 29
+     bluez-pin          | []              [] [] [] []  []  []          []   | 37
+     bombono-dvd        |                          []                       |  4
+     buzztard           |                          []                       |  7
+     cflow              |                       [] []      []               |  9
+     clisp              |                                                   | 10
+     coreutils          | []                    [] []      []               | 22
+     cpio               | []                 [] [] []      []          []   | 13
+     cppi               |                       [] []                       |  5
+     cpplib             | []                 [] [] []      []          []   | 14
+     cryptsetup         | []                       []                       |  7
+     dfarc              |                          []                       |  9
+     dialog             | []  []          []       []  []  []          []   | 30
+     dico               |                       []                          |  2
+     diffutils          | []                 [] [] []      []          []   | 30
+     dink               |                                                   |  4
+     doodle             | []                       []                       |  7
+     e2fsprogs          | []                 []    []                       | 11
+     enscript           | []                 [] [] []                       | 17
+     exif               | []                       []      []               | 16
+     fetchmail          |                    []    []      []               | 17
+     findutils          | []                 [] [] []      []               | 20
+     flex               | []                 []    []                  []   | 15
+     freedink           |                          []                       | 10
+     gas                |                    []                             |  4
+     gawk               | []                 []    []      []               | 18
+     gcal               | []                 []                             |  5
+     gcc                | []                 []            []               |  7
+     gettext-examples   | []                 [] [] []      []    []    []   | 34
+     gettext-runtime    | []                 [] [] []      []    []    []   | 29
+     gettext-tools      | []                 [] [] []      []          []   | 22
+     gip                | []                       []      []          []   | 22
+     gjay               |                          []                       |  3
+     gliv               | []                 []    []                       | 14
+     glunarclock        | []                       []  []  []          []   | 19
+     gnubiff            | []                       []                       |  4
+     gnucash            |                    () [] ()      []          ()   | 10
+     gnuedu             |                          []                  []   |  7
+     gnulib             | []                    [] []      []               | 16
+     gnunet             |                          []                       |  1
+     gnunet-gtk         | []                 []    []                       |  5
+     gnutls             | []                       []      []               | 10
+     gold               |                          []                       |  4
+     gpe-aerial         | []                       []      []               | 18
+     gpe-beam           | []                       []      []               | 19
+     gpe-bluetooth      | []                       []      []               | 13
+     gpe-calendar       | []                       []  []  []               | 12
+     gpe-clock          | []                 []    []  []  []               | 28
+     gpe-conf           | []                       []  []  []               | 20
+     gpe-contacts       | []                       []      []               | 17
+     gpe-edit           | []                       []      []               | 12
+     gpe-filemanager    | []                       []  []  []               | 16
+     gpe-go             | []                 []    []  []  []               | 25
+     gpe-login          | []                       []      []               | 11
+     gpe-ownerinfo      | []                 []    []      []          []   | 25
+     gpe-package        | []                       []      []               | 13
+     gpe-sketchbook     | []                       []      []               | 20
+     gpe-su             | []                 []    []  []  []               | 30
+     gpe-taskmanager    | []                 []    []  []  []               | 29
+     gpe-timesheet      | []                 []    []      []          []   | 25
+     gpe-today          | []                 []    []  []  []          []   | 30
+     gpe-todo           | []                       []  []  []               | 17
+     gphoto2            | []                    [] []      []          []   | 24
+     gprof              | []                 []    []                       | 15
+     gpsdrive           | []                       []      []               | 11
+     gramadoir          | []                       []      []               | 11
+     grep               |                 []       []      []               | 10
+     grub               | []                       []      []               | 14
+     gsasl              | []                       []      []          []   | 14
+     gss                | []                       []      []               | 11
+     gst-plugins-bad    | []                 []    []      []               | 26
+     gst-plugins-base   | []                 [] [] []      []               | 24
+     gst-plugins-good   | []                 []    []      []               | 24
+     gst-plugins-ugly   | []                 [] [] []      []               | 29
+     gstreamer          | []                    [] []      []               | 22
+     gtick              |                       [] []      []               | 13
+     gtkam              | []                       []      []               | 20
+     gtkorphan          | []                       []      []               | 14
+     gtkspell           | []              [] [] [] []  []  []    []    []   | 45
+     gutenprint         | []                                                | 10
+     hello              | []              [] []    []      []          []   | 21
+     help2man           | []                       []                       |  7
+     hylafax            |                          []                       |  5
+     idutils            | []                 []    []      []               | 17
+     indent             | []                 [] [] []      []          []   | 30
+     iso_15924          |                 ()    [] ()      []          []   | 16
+     iso_3166           | []        []    () [] [] ()  []  []    []    ()   | 53
+     iso_3166_2         |                 ()    [] ()      []               |  9
+     iso_4217           | []              () [] [] ()      []    []         | 26
+     iso_639            | []     [] []    ()    [] ()  []  []    []    []   | 38
+     iso_639_3          |        []                ()                       |  8
+     jwhois             | []                 []    []      []          []   | 16
+     kbd                | []                 [] [] []      []               | 15
+     keytouch           | []                       []      []               | 16
+     keytouch-editor    | []                       []      []               | 14
+     keytouch-keyboa... | []                       []      []               | 14
+     klavaro            |                          []                       | 11
+     latrine            |                    []    []      []               | 10
+     ld                 | []                 []    []                  []   | 11
+     leafpad            | []                 [] [] []      []          []   | 33
+     libc               | []                 []    []      []          []   | 21
+     libexif            |                          []      ()               |  7
+     libextractor       |                          []                       |  1
+     libgnutls          | []                       []      []               |  9
+     libgpewidget       | []                       []      []               | 14
+     libgpg-error       | []                       []      []               |  9
+     libgphoto2         |                       [] []                       |  8
+     libgphoto2_port    | []                    [] []                  []   | 14
+     libgsasl           | []                       []      []               | 13
+     libiconv           | []                       []  []  []               | 21
+     libidn             | ()                       []      []               | 11
+     lifelines          | []                                                |  4
+     liferea            | []                 []            []               | 21
+     lilypond           |                          []                       |  7
+     linkdr             | []                 []    []      []          []   | 17
+     lordsawar          |                                                   |  1
+     lprng              |                          []                       |  3
+     lynx               | []                 [] [] []                       | 17
+     m4                 | []                       []      []          []   | 19
+     mailfromd          |                       [] []                       |  3
+     mailutils          |                          []                       |  5
+     make               | []                 []    []      []               | 21
+     man-db             | []                       []      []               |  8
+     man-db-manpages    |                                                   |  4
+     minicom            | []                       []                       | 16
+     mkisofs            |                          []      []               |  9
+     myserver           |                                                   |  0
+     nano               | []                       []      []          []   | 21
+     opcodes            | []                 []    []                       | 11
+     parted             | []                 [] [] []                  []   | 15
+     pies               |                       [] []                       |  3
+     popt               | []              [] []    []      []          []   | 27
+     psmisc             | []                       []                       | 11
+     pspp               |                                                   |  4
+     pwdutils           | []                       []                       |  6
+     radius             |                       [] []                       |  9
+     recode             | []                 []    []      []               | 28
+     rosegarden         | ()                                                |  0
+     rpm                | []                       []                  []   | 11
+     rush               |                       [] []                       |  4
+     sarg               |                                                   |  1
+     screem             |                          []                       |  3
+     scrollkeeper       | []                 [] [] []                  []   | 27
+     sed                | []                 []    []      []          []   | 30
+     sharutils          | []                 []    []      []          []   | 22
+     shishi             |                          []                       |  3
+     skencil            | []                       []                       |  7
+     solfege            | []                 []    []      []               | 16
+     solfege-manual     |                    []                             |  8
+     soundtracker       | []                 []    []                       |  9
+     sp                 |                    []                             |  3
+     sysstat            |                          []      []               | 15
+     tar                | []                 [] [] []      []          []   | 23
+     texinfo            | []                 [] [] []      []               | 17
+     tin                |                                                   |  4
      unicode-han-tra... |                                                   |  0
      unicode-transla... |                                                   |  2
-     util-linux         |          [] []     []                             | 20
-     util-linux-ng      |          [] []     []                             | 20
-     vorbis-tools       |             []     []                             |  4
-     wastesedge         |                                                   |  1
-     wdiff              |          []        []                             | 23
-     wget               |          []        []                     []      | 20
-     xchat              |             []     []         []          []      | 29
-     xkeyboard-config   |          [] []     []                             | 14
-     xpad               |                    []         []          []      | 15
+     util-linux-ng      | []                 [] [] []                       | 20
+     vice               | ()                 ()                             |  1
+     vmm                |                          []                       |  4
+     vorbis-tools       |                          []                       |  6
+     wastesedge         |                                                   |  2
+     wdiff              | []                       []                       |  7
+     wget               | []                 []    []      []          []   | 26
+     wyslij-po          |                       [] []                       |  8
+     xchat              | []              []    [] []      []          []   | 36
+     xdg-user-dirs      | []     [] []    [] [] [] []      []    []    []   | 63
+     xkeyboard-config   | []                    [] []                       | 22
                         +---------------------------------------------------+
-       76 teams           tg th tk tr uk ven vi  wa xh zh_CN zh_HK zh_TW zu
-      163 domains          0  3  1 74 51  0  143 21  1  57     7    45    0  2036
+       85 teams           sv  sw ta te tg th tr uk vi  wa zh_CN zh_HK zh_TW
+      178 domains         119  1  3  3  0 10 65 51 155 17  98     7    41    2618
 
    Some counters in the preceding matrix are higher than the number of
 visible blocks let us expect.  This is because a few extra PO files are
@@ -1042,12 +1256,12 @@ distributed as such by its maintainer.  There might be an observable
 lag between the mere existence a PO file and its wide availability in a
 distribution.
 
-   If November 2007 seems to be old, you may fetch a more recent copy
-of this `ABOUT-NLS' file on most GNU archive sites.  The most
-up-to-date matrix with full percentage details can be found at
+   If June 2010 seems to be old, you may fetch a more recent copy of
+this `ABOUT-NLS' file on most GNU archive sites.  The most up-to-date
+matrix with full percentage details can be found at
 `http://translationproject.org/extra/matrix.html'.
 
-1.6 Using `gettext' in new packages
+1.5 Using `gettext' in new packages
 ===================================
 
 If you are writing a freely available program and want to
diff --git a/AUTHORS b/AUTHORS
index dfa7e43..d091302 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -33,7 +33,7 @@ Patrick D'Cruze
 Eli Zaretskii
 
 
-Copyright (C) 2001, 2006, 2009-2011 Free Software Foundation, Inc.
+Copyright (C) 2001, 2006, 2009-2013 Free Software Foundation, Inc.
 
 This file is part of GNU diffutils.
 
index 4f61103..7d4368f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,370 @@
+2013-03-24  Jim Meyering  <meyering@fb.com>
+
+       version 3.3
+       * NEWS: Record release date.
+
+2013-03-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       doc: fix menu typo
+       * doc/diffutils.texi (Comparing Three Files): Fix out-of-order menu.
+       Bug caught by Texinfo 5.0.
+
+       maint: update build procedure to recent gettext etc.
+       * bootstrap.conf (gnulib_modules): Add vararrays.
+       (needed_gnulib_files, unnecessary_gettext_files): New vars.
+       (bootstrap_post_import_hook): New function, to implement these vars.
+       (excluded_files): Remove; 'bootstrap' no longer supports this.
+       Its function is now performed by unnecessary_gettext_files.
+       (buildreq): Update automake to 1.12.2, to avoid CVE-2012-3386.
+       * configure.ac (AM_GNU_GETTEXT_VERSION): Bump from 0.17 to 0.18.2,
+       to lessen the probability that we'll have outlandishly old files
+       during a build.
+       * m4/vararrays.m4: Remove from repository, as we now use the
+       gnulib version.
+
+2013-03-21  Jim Meyering  <jim@meyering.net>
+
+       build: update gnulib to latest and adapt; update bootstrap, too
+       Blindly updating to the latest from gnulib, bootstrap would
+       fail due to failure of our local patches to apply.  Hence,
+       these first two updates.
+       * gl/lib/regex_internal.c.diff: Update offsets, so this patch
+       applies to the latest from gnulib.
+       * gl/lib/regex_internal.h.diff: Remove file.  No longer needed.
+       * bootstrap: Update from gnulib.
+
+2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       tests: port to hosts lacking fmt, make -C
+       * tests/Makefile.am (built_programs): Don't assume fmt works.
+       Don't rely on 'make -C', either.
+
+       maint: update .gitignore for recent gnulib
+       * .gitignore: Add tests/*.trs and several *.h and *.sed files in lib,
+
+2013-01-04  Jim Meyering  <jim@meyering.net>
+
+       build: update gnulib submodule to latest
+
+       maint: update all copyright year number ranges
+       Run "make update-copyright".
+
+2012-10-23  Eric Blake  <eblake@redhat.com>
+
+       build: default to --enable-gcc-warnings in a git tree
+       Anyone building from cloned sources can be assumed to have a new
+       enough environment, such that enabling gcc warnings by default will
+       be useful.  Tarballs still default to no warnings, and the default
+       can still be overridden with --disable-gcc-warnings.
+       * configure.ac (gl_gcc_warnings): Set default based on environment.
+
+2012-10-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc/diffutils.texi (cmp Options): Document -l format better.
+
+2012-09-10  Jim Meyering  <meyering@redhat.com>
+
+       maint: use xasprintf in place of xmalloc+sprintf
+       * bootstrap.conf (gnulib_modules): Add gnulib's xvasprintf module.
+       * src/util.c: Include "xvasprintf.h".
+       (begin_output): Use xasprintf in place of xmalloc+sprintf.
+
+2012-09-10  Andreas Gruenbacher  <agruen@gnu.org>
+
+       diff: encode file names with special characters
+       * src/util.c (c_escape_char): New function.
+       (c_escape): New function.
+       (begin_output): Escape file names when needed.
+       * src/context.c (print_context_header): New names parameter.
+       (print_context_label): New name parameter.
+       * src/diff.h (print_context_header): Change prototype.
+       * tests/filename-quoting: New file.
+       * NEWS: Document this change.
+
+2012-08-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       diff: silence GCC warning instead of slowing down
+       * src/dir.c (find_dir_file_pathname): Use 'IF_LINT (volatile)' to
+       silence the gcc warning, rather than using 'volatile', as the
+       warning appears to be bogus.
+
+2012-08-28  Jim Meyering  <meyering@redhat.com>
+
+       diff: avoid possible longjmp-triggered misbehavior
+       * src/dir.c (find_dir_file_pathname): gcc 4.8.0 20120825 reported
+       that a local variable's value might be clobbered.  Declare "match"
+       to be volatile.
+
+       build: update gnulib, bootstrap and init.sh to latest
+
+       maint: avoid new syntax-check failure due to @xref use
+       * doc/diffutils.texi: Change several "; @xref{..." to ".  @xref{...",
+       since @xref should start a sentence.
+
+2012-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       maint: remove ms subdirectory
+       diffutils is now designed to build with Cygwin or MinGW.
+       The old DJGPP stuff probably doesn't work anyway.
+       * Makefile.am (SUBDIRS): Remove ms.
+       * NEWS: Document this.
+       * configure.ac (AC_CONFIG_FILES): Remove ms/Makefile.
+       * ms/Makefile.am, ms/README, ms/config.bat, ms/config.sed:
+       * ms/config.site: Remove.
+
+2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       maint: update bootstrap from gnulib
+       * bootstrap: Update from gnulib.
+
+       main: port subcommands to mingw
+       Problem reported by Eli Zaretskii in
+       <http://lists.gnu.org/archive/html/bug-gnu-utils/2012-05/msg00013.html>.
+       Approach suggested by Bruno Haible as option (4) in
+       <http://lists.gnu.org/archive/html/bug-gnu-utils/2012-05/msg00036.html>.
+       * bootstrap.conf (gnulib_modules): Add system-quote.
+       * src/diff3.c, src/sdiff.c, src/util.c:
+       Include <system-quote.h>, not <sh-quote.h>.
+       * src/diff3.c (read_diff):
+       * src/sdiff.c (main, edit):
+       * src/util.c (begin_output):
+       Use system_quote_argv, for portability to Mingw.
+       * src/sdiff.c (NUM_SIGS, handler_index_of_SIGINT): Now enum
+       values, not macros; this is cleaner and avoids a GCC warning if
+       !HAVE_WORKING_VFORK.
+       * src/util.c (begin_output) [! HAVE_WORKING_FORK]: Do not use -f,
+       for consistency with the HAVE_WORKING_FORK code.
+
+       maint: update bootstrap from gnulib
+       * bootstrap: Update from gnulib.
+
+       maint: m4/gnulib-cache.m4 is not under version control
+       This is like what coreutils does, and suppresses 'git status' chatter.
+       * .gitignore: Add /m4/gnulib-cache.m4.
+
+       Use binary mode when testing for binary files.
+       This reverts the 2006-01-05 change and modernizes to the current API.
+       Idea suggested by Eli Zaretskii in:
+       http://lists.gnu.org/archive/html/bug-gnu-utils/2012-05/msg00066.html
+       * src/cmp.c (main):
+       * src/diff.c (main, compare_files):
+       Use set_binary_mode rather than SET_BINARY.
+       * src/diff.c (compare_files): Omit unnecessary use of O_BINARY.
+       * src/io.c (sip): Sample unknown files in binary mode, to see
+       whether they are binary.
+       (read_files): Read binary files in binary mode.
+
+       build: update gnulib submodule to latest
+
+2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       build: omit obsolete AM_PROG_CC_STDC macro
+       The Automake-provided macro 'AM_PROG_CC_STDC' has been superseded by
+       the Autoconf-provided one 'AC_PROG_CC' since October 2002, and will
+       be removed in the next major automake version.
+       * configure.ac (AM_PROG_CC_STDC): Drop it.
+
+2012-05-05  Jim Meyering  <meyering@redhat.com>
+
+       diff: fix a typo that was always disabling the same_special_file macro
+       * src/system.h (same_special_file): Correct cpp guard expression:
+       s/HAVE_ST_RDEV/HAVE_STRUCT_STAT_ST_RDEV/.  Reported by Eli Zaretskii.
+
+2012-04-17  Jim Meyering  <meyering@redhat.com>
+
+       maint: update bootstrap from gnulib
+       * bootstrap: Update from gnulib.
+
+2012-03-07  Eric Blake  <eblake@redhat.com>
+
+       usage: improve wording of --ignore-matching-lines
+       * src/diff.c (option_help_msgid): Tweak wording.
+
+2012-03-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       doc: explain -I RE better in --help output
+       * src/diff.c, src/sdiff.c (option_help_msgid): For -I RE,
+       change "whose lines all match" to "all whose lines match" to avoid
+       unintended interpretation.  Reported by Danijel Tasov in
+       <http://bugs.debian.org/648411>.
+
+2012-02-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       sdiff: remove dependency on sigprocmask
+       * bootstrap.conf (gnulib_modules): Remove sigprocmask.
+       * src/sdiff.c (temporary_file): No need to invoke sigprocmask
+       here, since the signal handler merely sets a flag.
+
+2012-02-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       diff: -N, --unidirectional-new-file now compare to "-" too
+       * NEWS: Document this.
+       * doc/diffutils.texi (Comparing Directories): Likewise.
+       Also, document that these options work at the top level.
+       * src/diff.c (compare_files): Treat EBADF like ENOENT, to handle
+       the case where "-" is closed.  Allow the other file to be
+       STDIN_FILENO, in case it's "-".
+       * tests/Makefile.am (TESTS): Add new-file.
+       * tests/new-file: New file.
+
+2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       maint: quote 'like this' or "like this", not `like this'
+       This is in response to a recent change in the GNU coding standards,
+       which now suggest quoting 'like this' or "like this", instead of
+       `like this' or ``like this''.
+       * HACKING, NEWS, README, README-hacking, TODO, doc/diagmeet.note:
+       * doc/diffutils.texi, ms/config.bat, ms/config.site:
+       * src/analyze.c, src/cmp.c, src/context.c, src/diff.c:
+       * src/diff.h, src/diff3.c, src/dir.c, src/ifdef.c, src/io.c:
+       * src/sdiff.c, src/side.c, src/system.h, src/util.c:
+       * tests/help-version:
+       Quote 'like this' or "like this" in commentary.
+       * cfg.mk (old_NEWS_hash): Adjust to reflect new NEWS quoting.
+       * man/help2man: Update to 1.40.4 version, with quoting fixed as above.
+       * po/en.po: Remove translation involving `, as it's no longer needed.
+       * src/cmp.c (try_help, specify_ignore_initial, usage, main):
+       * src/diff.c (main, try_help, option_help_msgid, specify_value)
+       (compare_files):
+       * src/diff3.c (main, try_help, option_help_msgid, usage)
+       (read_diff):
+       * src/dir.c (compare_names):
+       * src/sdiff.c (try_help, usage, check_child_status, main):
+       * src/util.c (finish_output):
+       * tests/help-version:
+       Quote 'like this' in output.
+
+       build: update gnulib submodule to latest
+
+2012-01-12  Jim Meyering  <meyering@redhat.com>
+
+       build: accommodate newer bootstrap from gnulib
+       * bootstrap.conf (gnulib_tool_option_extras): Add both --symlink
+       and --makefile-name=gnulib.mk.  Also remove now-obsolete $bt/ prefix.
+       * bootstrap: Update from gnulib.
+       * tests/init.sh: Update from gnulib.
+       * lib/Makefile.am: Initialize numerous variables, so that
+       generated code in gnulib.mk may use += to append to them.
+
+       maint: avoid new syntax-check failure
+       * src/diff.c (compare_files): Use STREQ, not strcmp.
+
+2012-01-08  Bruno Haible  <bruno@clisp.org>
+
+       New option --no-dereference.
+       * src/diff.h (no_dereference_symlinks): New variable.
+       * src/diff.c: Include xreadlink.h.
+       (longopts): Add --no-dereference option.
+       (main): Accept --no-dereference option.
+       (option_help_msgid): Mention the --no-dereference option.
+       (compare_files): If no_dereference_symlinks is true, use lstat()
+       instead of stat(). Compare symbolic links by comparing their values.
+       * bootstrap.conf (gnulib_modules): Add lstat, stat, xreadlink.
+       * doc/diffutils.texi (Comparing Directories, diff Options): Mention the
+       --no-dereference option.
+       * tests/no-dereference: New file.
+       * tests/Makefile.am (TESTS): Add it.
+
+2012-01-01  Jim Meyering  <meyering@redhat.com>
+
+       maint: update all copyright year number ranges
+       Run "make update-copyright".
+
+2011-12-14  Jim Meyering  <meyering@redhat.com>
+
+       build: update to latest gnulib and adapt
+       * tests/binary: Reverse arguments to compare to avoid failure of
+       new syntax-check rule.
+       * configure.ac: Use -Wno-format-nonliteral.
+       Mark functions as pure of const, per recommendations enabled by
+       new gcc -W options.  Use _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST.
+       * lib/cmpbuf.h (buffer_lcm, block_compare):
+       Apply pure and/or const attributes.
+       * src/cmp.c (block_compare): Likewise.
+       * src/context.c (find_hunk): Likewise.
+       * src/diff.h (lines_differ): Likewise.
+       * src/diff3.c (skipwhite): Likewise.
+       * src/dir.c (dir_loop): Likewise.
+       * src/util.c (find_change, find_reverse_change): Likewise.
+       (translate_line_number): Likewise.
+
+       build: stop distributing gzip'd releases;  xz is enough
+       * configure.ac (AM_INIT_AUTOMAKE): Add no-dist-gzip.
+
+2011-11-29  Jim Meyering  <meyering@redhat.com>
+
+       tests: use "compare exp out", not "compare out exp"
+       Likewise, when an empty file is expected, use "compare /dev/null out",
+       not "compare out /dev/null". I.e., specify the expected/desired contents
+       via the first file name.  Prompted by a suggestion from Bruno Haible
+       in http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020/focus=29154
+
+       Run these commands:
+
+         git grep -l -E 'compare [^ ]+ exp' \
+           |xargs perl -pi -e 's/\b(compare) (\S+) (exp\S*)/$1 $3 $2/'
+         git grep -l -E 'compare [^ ]+ /dev/null' \
+           |xargs perl -pi -e 's,\b(compare) (\S+) (/dev/null),$1 $3 $2,'
+
+       But manually convert this one:
+
+         -compare out exp-$(echo $opt|tr ' ' _)
+         +compare exp-$(echo $opt|tr ' ' _) out
+
+       and avoid an inappropriate change to cfg.mk.
+
+2011-10-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       tests: use more portable fd redirection in TESTS_ENVIRONMENT
+       * tests/Makefile.am (TESTS_ENVIRONMENT): Redirection with `exec 9>&2'
+       is not portable to various Korn shells, and to (at least) HP-UX 11
+       /bin/sh.  Use a more portable idiom.
+       See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488 for
+       lots of discussion.
+
+2011-10-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       tests: make test runner a script, not a shell function
+       All the test scripts in the diffutils testsuite are shell scripts,
+       so the current definition of TESTS_ENVIRONMENT, which adaptively
+       run tests using either perl or the shell depending on their kind,
+       is an overkill.
+
+       Moreover, this change is required in order for the testsuite to
+       continue to work with the new testsuite harness that is planned
+       to be introduced in Automake 1.12 (which, as of the writing date,
+       is still under development and in late alpha state).
+
+       See also related discussion on bug-coreutils:
+        <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8887>
+
+       * tests/Makefile.am (TESTS_ENVIRONMENT): Remove definition of the
+       `shell_or_perl_' shell function, which is not required anymore.
+       (LOG_COMPILER): New, define to `$(SHELL)'.
+       * tests/binary: Make executable.
+       * tests/colliding-file-names: Likewise.
+       * tests/excess-slash: Likewise.
+       * tests/no-newline-at-eof: Likewise.
+
+2011-10-04  Claudio Bley  <claudio.bley@gmail.com>
+
+       portability: use SET_BINARY rather than xfreopen (NULL, ...
+       * src/diff.c: Include binary-io.h, not xfreopen.h.
+       (main): Use SET_BINARY (...) rather than xfreopen (NULL, X, ...),
+       because the latter doesn't work on MinGW and crashes using MSVC.
+       * src/cmp.c (main): Likewise.
+
+2011-10-04  Jim Meyering  <meyering@redhat.com>
+
+       build: update gnulib submodule to latest
+
 2011-09-02  Jim Meyering  <meyering@redhat.com>
 
+       post-release administrivia
+       * NEWS: Add header line for next release.
+       * .prev-version: Record previous version.
+       * cfg.mk (old_NEWS_hash): Auto-update.
+
        version 3.2
        * NEWS: Record release date.
 
 
        build: update gnulib submodule to latest
 
+2011-09-01  Jim Meyering  <meyering@redhat.com>
+
        doc: diffutils' texi-derived doc may now be in debian's "main" section
        * NEWS (Packaging): Mention the "no front/back-cover" change.
 
-2011-08-15  Jim Meyering  <meyering@redhat.com>
+2011-08-14  Jim Meyering  <meyering@redhat.com>
 
        maint: avoid new "make sytnax-check" failure.
        * src/diff.h (find_dir_file_pathname): Mark declaration with "extern"
        keyword, in order to placate the tight-scope syntax check.
 
-2011-08-15  Paul Eggert  <eggert@cs.ucla.edu>
+2011-08-14  Paul Eggert  <eggert@cs.ucla.edu>
 
        * src/io.c (find_and_hash_each_line): Refactor for brevity.
 
-2011-08-15  Roland McGrath  <roland@hack.frob.com>
+2011-08-14  Roland McGrath  <roland@hack.frob.com>
 
        diff, sdiff: new option --ignore-trailing-space (-Z)
        Derived from Roland McGrath's patch (dated June 2004!) in:
        * src/io.c (find_and_hash_each_line):
        * src/util.c (lines_differ, analyze_hunk): Support -Z.
 
-2011-08-14  Paul Eggert  <eggert@cs.ucla.edu>
+2011-08-13  Paul Eggert  <eggert@cs.ucla.edu>
 
        * bootstrap.conf (gnulib_modules): Remove timegm.
        This fixes a problem noted by Andreas Schwab in:
        * sdiff.c (option_help_msgid, usage): align descriptions in the --help
        output and slightly edit content.
 
-2011-05-28  Paul Eggert  <eggert@cs.ucla.edu>
+2011-05-27  Paul Eggert  <eggert@cs.ucla.edu>
 
        diff: don't use locales after local-specific sorting fails
        * src/dir.c (compare_names): Don't invoke strcasecmp if
        maint: avoid shadowing warning
        * src/dir.c (diff_dirs): Rename shadowed local cmp to "c".
 
+2010-09-03  Jim Meyering  <meyering@redhat.com>
+
        build: use gettext-h, not gettext
        * bootstrap.conf (gnulib_modules): Use gettext-h, not gettext.
        The latter is overkill for a package that uses
 
        build: update gnulib submodule to latest
 
-2010-08-15  Jim Meyering  <meyering@redhat.com>
+2010-08-14  Jim Meyering  <meyering@redhat.com>
 
        diff -r: avoid printing excess slashes in concatenated file names
        * bootstrap.conf (gnulib_modules): Add filenamecat.
        Forwarded by Santiago Vila from <bugs.debian.org/586301a>,
        reported by Jari Aalto.
 
-2010-08-13  Paul Eggert  <eggert@cs.ucla.edu>
+2010-08-12  Paul Eggert  <eggert@cs.ucla.edu>
 
        diff: avoid spurious diffs when two distinct dir entries compare equal
        Problem reported by Christoph Anton Mitterer in:
 
        build: update gnulib submodule to latest
 
-2010-05-01  Jim Meyering  <meyering@redhat.com>
+2010-04-30  Jim Meyering  <meyering@redhat.com>
 
        build: use gnulib's sys_wait module
        * bootstrap.conf (gnulib_modules): Use gnulib's sys_wait module,
        now that we assume its presence.
 
-2010-04-30  Jim Meyering  <meyering@redhat.com>
-
        build: update gnulib submodule to latest
        * bootstrap: Also update from gnulib.
        * tests/init.sh: Likewise
        now that gnulib guarantees its presence.
        * lib/cmpbuf.c: Likewise for <unistd.h> and <inttypes.h>.
 
-2010-04-17  Jim Meyering  <meyering@redhat.com>
+2010-04-16  Jim Meyering  <meyering@redhat.com>
 
        tests: use original no-newline-at-eof test, but with -U1, not -U2
        * tests/no-newline-at-eof: Revert to the smaller test, but with
        -U1 rather than -U2, since that actually triggers the bug.
 
-2010-04-17  Paul Eggert  <eggert@cs.ucla.edu>
+2010-04-16  Paul Eggert  <eggert@cs.ucla.edu>
 
        Followon improvements for the fix for Debian bug 577832.
        * src/io.c (find_and_hash_each_line): Omit the inserted newline in
        * tests/no-newline-at-eof: New file.
        * tests/Makefile.am (TESTS): Add it.
 
+2010-04-16  Jim Meyering  <meyering@redhat.com>
+
        diff: fix a regression when at least one input lacks a newline-at-EOF,
        and the final hunk plus context-length aligns exactly with the end
        of the newline-lacking file.  Diff would fail to output the required
        Reported by Timo Juhani Lindfors in http://bugs.debian.org/577832.
        Forwarded by Santiago Vila.
 
+2010-04-16  Jim Meyering  <meyering@redhat.com>
+
        tests: update init.sh from gnulib
        * tests/init.sh: Update from gnulib.
 
        also with O_BINARY, so as to avoid this unnecessary call on
        systems where it's not needed (on some it fails with "Bad address".
 
+2010-02-09  Jim Meyering  <meyering@redhat.com>
+
        tests: honor VERBOSE
        * tests/basic: Enable "set -x" if $VERBOSE.
        * tests/help-version: Likewise.
        * tests/label-vs-func: Likewise.
        * tests/stdin: Likewise.
 
-2010-02-05  Jim Meyering  <meyering@redhat.com>
+2010-02-04  Jim Meyering  <meyering@redhat.com>
 
        build: update gnulib submodule to latest
 
        maint: add to .gitignore
        * .gitignore: Ignore more.
 
-2010-01-16  Jim Meyering  <meyering@redhat.com>
+2010-01-15  Jim Meyering  <meyering@redhat.com>
 
        doc: add to TODO
        * TODO: Add an item, suggested by Dan Jacobson.
        build: ignore more files
        * .gitignore: Add config.cache, *.exe.
 
+2009-11-20  Eric Blake  <ebb9@byu.net>
+
        build: fix test run on cygwin
        This, plus a gnulib update for xalloc-die-tests, are necessary
        for make check to pass on cygwin.
        maint: remove dead assignment from diff3.c
        * src/diff3.c (make_3way_diff): Remove dead assignment.
 
-2009-11-18  Jim Meyering  <meyering@redhat.com>
+2009-11-17  Jim Meyering  <meyering@redhat.com>
 
        build: update gnulib submodule to latest
 
        build: generalize autoheader check
        * bootstrap: Look for AC_CONFIG_HEADER as well as AC_CONFIG_HEADERS.
 
+2009-11-11  Jim Meyering  <meyering@redhat.com>
+
        maint: use a git submodule for gnulib
        * .gitmodules: New file, to track gnulib.
        * gnulib: New file, created by running this:
 
        maint: tell git what it can ignore
        * .gitignore: Ignore generated files.
-
-2009-11-11  Jim Meyering  <meyering@redhat.com>
-
-       build: generate ChangeLog (from git logs) into distribution tarball
-       * Makefile.am (dist-hook, gen-ChangeLog): New rules.
-       (gen_start_date): Define.
-       * bootstrap.conf (gnulib_modules): Add gitlog-to-changelog.
-
-       admin: update all copyright notices to include the year 2009
-
-       maint/sc: enable the m4 quote check
-       * m4/vararrays.m4 (AC_C_VARARRAYS): Quote AC_DEFINE argument.
-       * cfg.mk (local-checks-to-skip): Add sc_m4_quote_check.
-
-       build: rely on gnulib's progname module
-       * bootstrap.conf (gnulib_modules): Add progname.
-       * cfg.mk (local-checks-to-skip): Add sc_program_name.
-       * src/cmp.c: Include progname.h.
-       (program_name): Remove declaration.
-       (main): Call set_program_name.
-       * src/diff.c (main): Likewise.
-       * src/diff3.c (main): Likewise.
-       * src/sdiff.c (main): Likewise.
-       * src/diff.h (program_name): Remove extern declaration.
-
-       maint/sc: enable the space-TAB check
-       * doc/diagmeet.note: Use no TABs.
-       * ms/config.sed: Use TAB-space, not space-TAB in [].
-       * cfg.mk (local-checks-to-skip): Remove sc_space_tab.
-
-       build: rely on gnulib's mbrtowc module
-       * bootstrap.conf (gnulib_modules): Add mbrtowc.
-       * src/side.c [!HAVE_MBRTOWC]: Remove now-useless code,
-       since gnulib guarantees working <wchar.h> and mbrtowc.
-       * cfg.mk (local-checks-to-skip): Remove sc_prohibit_HAVE_MBRTOWC.
-
-       maint/sc: enable check for unmarked diagnostics
-       * cfg.mk (local-checks-to-skip): Remove sc_unmarked_diagnostics.
-       * src/dir.c (diff_dirs): Mark a diagnostic for translation.
-
-       maint/sc: enable two config.h-checking rules
-       * cfg.mk (local-checks-to-skip): Remove sc_require_config_h and
-       sc_require_config_h_first.
-       (config_h_header): Define.
-
-       maint/sc: enable the po check
-       * cfg.mk (local-checks-to-skip): Add sc_po_check.
-       * po/POTFILES.in: Update.
-
-       maint/sc: use STREQ, not strcmp(a,b) == 0
-       Run this command:
-         git grep -l 'strcmp *([^=]*== *0'|xargs \
-           perl -pi -e 's/\bstrcmp( *\(.*?\)) *== *0/STREQ$1/g'
-       and then add the new definition.
-       * src/system.h (STREQ): Define.
-       * src/cmp.c (main): Use STREQ, not strcmp.
-       * src/diff.c (main, compare_files): Likewise.
-       * src/diff3.c (main): Likewise.
-       * src/sdiff.c (expand_name): Likewise.
-       * cfg.mk (local-checks-to-skip): Add sc_prohibit_strcmp.
-
-       maint/sc: enforce "file system" spelling
-       * src/system.h: Spell it as two words, not one.
-       * ms/config.sed: Likewise.
-       * cfg.mk (local-checks-to-skip): Remove sc_file_system.
-
-       maint/sc: enable check for CVS keyword expansion
-       * doc/diff.texi: Remove $Id$.
-       * cfg.mk (local-checks-to-skip): Remove sc_prohibit_cvs_keyword.
-
-       maint: record previous version
-       * .prev-version: New file.
-
-       maint/sc: enable check for duplicate "the"; fix one
-       * NEWS: s/the the/the/.
-       Adjust style to fit what some of the hooks and release tools expect.
-       * cfg.mk (local-checks-to-skip): Remove sc_the_the.
-       (old_NEWS_hash): Update.
-
-       maint/sc: remove cast of xmalloc return value
-       * lib/prepargs.c (prepend_default_options): Remove useless cast.
-       * cfg.mk (local-checks-to-skip): Remove sc_cast_of_x_alloc_return_value.
-
-       maint: rename ChangeLog to ChangeLog-2008
-       * ChangeLog-2008: Rename from ChangeLog.
-       * Makefile.am (EXTRA_DIST): Add ChangeLog-2008.
-       * .gitignore: Ignore ChangeLog.
-
-       maint/sc: remove useless if-before-free tests
-       * src/diff.c (compare-files): Remove useless if stmts.
-       * src/dir.c (diff_dirs): Likewise.
-       * cfg.mk (local-checks-to-skip): Remove sc_avoid_if_before_free.
-
-       maint: require newer automake, new non-major version string, dist-xz
-       * configure.ac: Drop -cvs suffix.  Switch to git-based format.
-       Distribute xz-compressed tarballs, too.
-       Require automake-1.11.
-       Enable automake's --enable-silent-rules option.
-
-       build: update build/release infrastructure
-       * bootstrap: Update from gnulib.
-       * bootstrap.conf (gnulib-modules): Add do-release-commit-and-tag,
-       git-version-gen, gnu-make, gnu-web-doc-update, gnumakefile, gnupload,
-       maintainer-makefile, update-copyright.
-       * gnulib-tests/Makefile.am: New file.
-       * cfg.mk: New file.
-       (local-checks-to-skip): List currently-failing tests,
-       so that "syntax-check" passes initially.
-       (manual_title): Define.
index bac3835..5238b63 100644 (file)
@@ -4265,7 +4265,7 @@ Thu Nov  3 16:30:24 1988  Randall Smith  (randy at gluteus.ai.mit.edu)
 
        -----
 
-       Copyright (C) 1988-1994, 1997-2002, 2004, 2006, 2009-2011 Free Software
+       Copyright (C) 1988-1994, 1997-2002, 2004, 2006, 2009-2013 Free Software
        Foundation, Inc.
 
        Copying and distribution of this file, with or without
index 6e00ec8..8759034 100644 (file)
@@ -1,11 +1,11 @@
-# Having a separate GNUmakefile lets me `include' the dynamically
+# Having a separate GNUmakefile lets me 'include' the dynamically
 # generated rules created via cfg.mk (package-local configuration)
 # as well as maint.mk (generic maintainer rules).
 # This makefile is used only if you run GNU Make.
 # It is necessary if you want to build targets usually of interest
 # only to the maintainer.
 
-# Copyright (C) 2001, 2003, 2006-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2006-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Systems where /bin/sh is not the default shell need this.  The $(shell)
-# command below won't work with e.g. stock DOS/Windows shells.
-ifeq ($(wildcard /bin/s[h]),/bin/sh)
-SHELL = /bin/sh
-else
-# will be used only with the next shell-test line, then overwritten
-# by a configured-in value
-SHELL = sh
-endif
-
 # If the user runs GNU make but has not yet run ./configure,
 # give them a diagnostic.
-_have-Makefile := $(shell test -f Makefile && echo yes)
-ifeq ($(_have-Makefile),yes)
+_gl-Makefile := $(wildcard [M]akefile)
+ifneq ($(_gl-Makefile),)
 
 # Make tar archive easier to reproduce.
 export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
@@ -45,12 +35,13 @@ include Makefile
 
 # Some projects override e.g., _autoreconf here.
 -include $(srcdir)/cfg.mk
-include $(srcdir)/maint.mk
 
 # Allow cfg.mk to override these.
 _build-aux ?= build-aux
 _autoreconf ?= autoreconf -v
 
+include $(srcdir)/maint.mk
+
 # Ensure that $(VERSION) is up to date for dist-related targets, but not
 # for others: rerunning autoreconf and recompiling everything isn't cheap.
 _have-git-version-gen := \
@@ -100,6 +91,11 @@ srcdir = .
 
 # The package can override .DEFAULT_GOAL to run actions like autoreconf.
 -include ./cfg.mk
+
+# Allow cfg.mk to override these.
+_build-aux ?= build-aux
+_autoreconf ?= autoreconf -v
+
 include ./maint.mk
 
 ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile)
@@ -108,7 +104,7 @@ endif
 
 abort-due-to-no-makefile:
        @echo There seems to be no Makefile in this directory.   1>&2
-       @echo "You must run ./configure before running \`make'." 1>&2
+       @echo "You must run ./configure before running 'make'." 1>&2
        @exit 1
 
 endif
diff --git a/INSTALL b/INSTALL
index a1e89e1..007e939 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,7 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
+Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
 Inc.
 
    Copying and distribution of this file, with or without modification,
@@ -309,9 +309,10 @@ causes the specified `gcc' to be used as the C compiler (unless it is
 overridden in the site shell script).
 
 Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf bug.  Until the bug is fixed you can use this workaround:
+an Autoconf limitation.  Until the limitation is lifted, you can use
+this workaround:
 
-     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
 
 `configure' Invocation
 ======================
@@ -367,4 +368,3 @@ operates.
 
 `configure' also accepts some other, not widely useful, options.  Run
 `configure --help' for more details.
-
index fbb0b37..cf0ce1d 100644 (file)
@@ -1,6 +1,6 @@
 # Main Automakefile for GNU diffutils.
 
-# Copyright (C) 2001-2002, 2004, 2006, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2002, 2004, 2006, 2009-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -18,7 +18,7 @@
 ALL_RECURSIVE_TARGETS =
 
 EXTRA_DIST = bootstrap exgettext ChangeLog-2008 cfg.mk dist-check.mk
-SUBDIRS = lib src tests doc man po ms gnulib-tests
+SUBDIRS = lib src tests doc man po gnulib-tests
 
 ACLOCAL_AMFLAGS = -I m4
 AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
index 4eea881..96eb52e 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11a from Makefile.am.
+# Makefile.in generated by automake 1.13a from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +16,7 @@
 
 # Main Automakefile for GNU diffutils.
 
-# Copyright (C) 2001-2002, 2004, 2006, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2002, 2004, 2006, 2009-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -50,31 +66,39 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(top_srcdir)/configure ABOUT-NLS \
-       AUTHORS COPYING ChangeLog INSTALL NEWS THANKS TODO \
-       build-aux/compile build-aux/config.guess \
+DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
+       $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/configure $(am__configure_deps) ABOUT-NLS \
+       COPYING THANKS TODO build-aux/compile build-aux/config.guess \
        build-aux/config.rpath build-aux/config.sub build-aux/depcomp \
        build-aux/install-sh build-aux/mdate-sh build-aux/missing \
-       build-aux/mkinstalldirs build-aux/texinfo.tex
+       build-aux/texinfo.tex $(top_srcdir)/build-aux/compile \
+       $(top_srcdir)/build-aux/config.guess \
+       $(top_srcdir)/build-aux/config.rpath \
+       $(top_srcdir)/build-aux/config.sub \
+       $(top_srcdir)/build-aux/install-sh \
+       $(top_srcdir)/build-aux/missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \
        $(top_srcdir)/m4/c-stack.m4 $(top_srcdir)/m4/clock_time.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \
-       $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
+       $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
-       $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fcntl-o.m4 \
+       $(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/extensions.m4 \
+       $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
        $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
-       $(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/float_h.m4 \
-       $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpieee.m4 \
-       $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/getcwd.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/filenamecat.m4 \
+       $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+       $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/freopen.m4 \
+       $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/getcwd.m4 \
        $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext_gl.m4 \
+       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
-       $(top_srcdir)/m4/glibc21_gl.m4 $(top_srcdir)/m4/gnu-make.m4 \
+       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
        $(top_srcdir)/m4/gnulib-comp.m4 \
        $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \
@@ -82,54 +106,58 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
        $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
-       $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h_gl.m4 \
+       $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
        $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \
-       $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld_gl.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix_gl.m4 \
+       $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/libsigsegv.m4 \
        $(top_srcdir)/m4/libunistring-base.m4 \
        $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
        $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
        $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/longlong_gl.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \
-       $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \
-       $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \
-       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \
-       $(top_srcdir)/m4/onceonly.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/po_gl.m4 $(top_srcdir)/m4/printf.m4 \
+       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/longlong.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbslen.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mkstemp.m4 \
+       $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/putenv.m4 \
        $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
-       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
-       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/readlink.m4 \
+       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/secure_getenv.m4 \
+       $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \
+       $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \
        $(top_srcdir)/m4/signalblocking.m4 \
        $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
        $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
        $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
        $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
        $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdint_h_gl.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
        $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strcase.m4 \
-       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
-       $(top_srcdir)/m4/strftime.m4 $(top_srcdir)/m4/string_h.m4 \
-       $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
-       $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strptime.m4 \
-       $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
-       $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strftime.m4 \
+       $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+       $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+       $(top_srcdir)/m4/strptime.m4 $(top_srcdir)/m4/strtoull.m4 \
+       $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_wait_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
-       $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlocked-io.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/vararrays.m4 \
-       $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_wait_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+       $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd_h.m4 \
+       $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/vararrays.m4 $(top_srcdir)/m4/vasnprintf.m4 \
+       $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -137,35 +165,67 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \
        $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xsize.m4 \
        $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \
-       $(top_srcdir)/configure.ac
+       $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
-mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
+mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN     " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
        cscope distdir dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope
@@ -174,9 +234,11 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
 am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
+  if test -d "$(distdir)"; then \
+    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+      && rm -rf "$(distdir)" \
+      || { sleep 5 && rm -rf "$(distdir)"; }; \
+  else :; fi
 am__post_remove_distdir = $(am__remove_distdir)
 am__relativize = \
   dir0=`pwd`; \
@@ -203,10 +265,12 @@ am__relativize = \
     dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
   done; \
   reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz
 GZIP_ENV = --best
-DIST_TARGETS = dist-xz dist-gzip
+DIST_ARCHIVES = $(distdir).tar.xz
+DIST_TARGETS = dist-xz
 distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
 distcleancheck_listfiles = find . -type f -print
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -258,9 +322,11 @@ GNULIB_ATOLL = @GNULIB_ATOLL@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
 GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
@@ -272,6 +338,8 @@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
 GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
 GNULIB_FCLOSE = @GNULIB_FCLOSE@
 GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
 GNULIB_FFLUSH = @GNULIB_FFLUSH@
 GNULIB_FFS = @GNULIB_FFS@
 GNULIB_FFSL = @GNULIB_FFSL@
@@ -289,6 +357,7 @@ GNULIB_FREOPEN = @GNULIB_FREOPEN@
 GNULIB_FSCANF = @GNULIB_FSCANF@
 GNULIB_FSEEK = @GNULIB_FSEEK@
 GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
 GNULIB_FSTATAT = @GNULIB_FSTATAT@
 GNULIB_FSYNC = @GNULIB_FSYNC@
 GNULIB_FTELL = @GNULIB_FTELL@
@@ -309,21 +378,23 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETS = @GNULIB_GETS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
 GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_ICONV = @GNULIB_ICONV@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_ISATTY = @GNULIB_ISATTY@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -369,20 +440,25 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
 GNULIB_PIPE2 = @GNULIB_PIPE2@
 GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
 GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
 GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RAISE = @GNULIB_RAISE@
+GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
@@ -396,7 +472,9 @@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
 GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
 GNULIB_SIGACTION = @GNULIB_SIGACTION@
 GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
@@ -437,7 +515,6 @@ GNULIB_TIME_R = @GNULIB_TIME_R@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -503,6 +580,7 @@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
@@ -520,6 +598,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -545,6 +624,7 @@ HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
 HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
 HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFS = @HAVE_FFS@
 HAVE_FFSL = @HAVE_FFSL@
@@ -598,17 +678,24 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
 HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
 HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
 HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RAISE = @HAVE_RAISE@
+HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
@@ -617,7 +704,9 @@ HAVE_READLINKAT = @HAVE_READLINKAT@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
 HAVE_SIGACTION = @HAVE_SIGACTION@
 HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@
 HAVE_SIGINFO_T = @HAVE_SIGINFO_T@
@@ -632,6 +721,7 @@ HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASECMP = @HAVE_STRCASECMP@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRINGS_H = @HAVE_STRINGS_H@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
@@ -764,6 +854,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
@@ -787,6 +878,7 @@ NEXT_STRINGS_H = @NEXT_STRINGS_H@
 NEXT_STRING_H = @NEXT_STRING_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
 NEXT_SYS_WAIT_H = @NEXT_SYS_WAIT_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
@@ -822,6 +914,7 @@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
@@ -833,6 +926,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@
 REPLACE_FSTATAT = @REPLACE_FSTATAT@
 REPLACE_FTELL = @REPLACE_FTELL@
 REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
 REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
@@ -845,11 +939,14 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
+REPLACE_ITOLD = @REPLACE_ITOLD@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
@@ -879,8 +976,12 @@ REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
 REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_RAISE = @REPLACE_RAISE@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
 REPLACE_REALLOC = @REPLACE_REALLOC@
@@ -909,7 +1010,10 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
 REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
@@ -956,6 +1060,8 @@ VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -967,7 +1073,6 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 am__include = @am__include@
-am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
@@ -1003,7 +1108,6 @@ lispdir = @lispdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
-mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -1019,7 +1123,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 ALL_RECURSIVE_TARGETS = distcheck-hook
 EXTRA_DIST = bootstrap exgettext ChangeLog-2008 cfg.mk dist-check.mk
-SUBDIRS = lib src tests doc man po ms gnulib-tests
+SUBDIRS = lib src tests doc man po gnulib-tests
 ACLOCAL_AMFLAGS = -I m4
 AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
 gen_start_date = '2009-11-11 15:00'
@@ -1062,12 +1166,12 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
        @fail= failcom='exit 1'; \
        for f in x $$MAKEFLAGS; do \
          case $$f in \
@@ -1077,7 +1181,11 @@ $(RECURSIVE_TARGETS):
        done; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
          echo "Making $$target in $$subdir"; \
          if test "$$subdir" = "."; then \
            dot_seen=yes; \
@@ -1092,61 +1200,12 @@ $(RECURSIVE_TARGETS):
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-cscopelist-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
-       done
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
        if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -1162,12 +1221,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -1179,15 +1233,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -1196,18 +1246,16 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
-
 cscope: cscope.files
        test ! -s cscope.files \
          || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
-
 clean-cscope:
        -rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
 
-cscope.files: clean-cscope cscopelist-recursive cscopelist
-
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
        case "$(srcdir)" in \
          [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          *) sdir=$(subdir)/$(srcdir) ;; \
@@ -1258,13 +1306,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
@@ -1303,14 +1348,10 @@ dist-bzip2: distdir
        $(am__post_remove_distdir)
 
 dist-lzip: distdir
-       tardir=$(distdir) && $(am__tar) | lzip -9 -c >$(distdir).tar.lz
-       $(am__post_remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+       tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
        $(am__post_remove_distdir)
 dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--9} xz -c >$(distdir).tar.xz
+       tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
        $(am__post_remove_distdir)
 
 dist-tarZ: distdir
@@ -1339,8 +1380,6 @@ distcheck: dist
          GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
        *.tar.bz2*) \
          bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
        *.tar.lz*) \
          lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
        *.tar.xz*) \
@@ -1352,9 +1391,9 @@ distcheck: dist
        *.zip*) \
          unzip $(distdir).zip ;;\
        esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
+       chmod -R a-w $(distdir)
+       chmod u+w $(distdir)
+       mkdir $(distdir)/_build $(distdir)/_inst
        chmod a-w $(distdir)
        test -d $(distdir)/_build || exit 0; \
        dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
@@ -1392,8 +1431,16 @@ distcheck: dist
          list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
          sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
 distuninstallcheck:
-       @$(am__cd) '$(distuninstallcheck_dir)' \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+       @test -n '$(distuninstallcheck_dir)' || { \
+         echo 'ERROR: trying to run $@ with an empty' \
+              '$$(distuninstallcheck_dir)' >&2; \
+         exit 1; \
+       }; \
+       $(am__cd) '$(distuninstallcheck_dir)' || { \
+         echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+         exit 1; \
+       }; \
+       test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
           || { echo "ERROR: files left after uninstall:" ; \
                if test -n "$(DESTDIR)"; then \
                  echo "  (check DESTDIR support)"; \
@@ -1513,16 +1560,13 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
-       cscopelist-recursive ctags-recursive install-am install-strip \
-       tags-recursive
+.MAKE: $(am__recursive_targets) install-am install-strip
 
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am am--refresh check check-am clean clean-cscope \
-       clean-generic cscope cscopelist cscopelist-recursive ctags \
-       ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-hook \
-       dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
-       distcheck distclean distclean-generic distclean-tags \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+       am--refresh check check-am clean clean-cscope clean-generic \
+       cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
+       dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \
+       dist-zip distcheck distclean distclean-generic distclean-tags \
        distcleancheck distdir distuninstallcheck dvi dvi-am html \
        html-am info info-am install install-am install-data \
        install-data-am install-dvi install-dvi-am install-exec \
@@ -1531,7 +1575,7 @@ uninstall-am:
        install-ps install-ps-am install-strip installcheck \
        installcheck-am installdirs installdirs-am maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
+       pdf-am ps ps-am tags tags-am uninstall uninstall-am
 
 
 # Arrange so that .tarball-version appears only in the distribution
diff --git a/NEWS b/NEWS
index 5a24273..12ad4f7 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,23 @@
 GNU diffutils NEWS                                    -*- outline -*-
 
+* Noteworthy changes in release 3.3 (2013-03-24) [stable]
+
+** New features
+
+  --new-file (-N) and --unidirectional-new-file now allow comparisons to "-".
+  A standard input that's closed acts like a nonexistent file.
+
+  A file name containing spaces, double quotes, backslashes or control
+  characters is now encoded in a diff header as a double-quoted C string
+  literal.  The escape sequences \\, \", \a, \b, \f, \n, \r, \t, \v and
+  \ooo (a three-digit octal number between 0 and 255) are used.
+
+** Packaging
+
+  diffutils is now designed to build with Cygwin or MinGW rather than DJGPP.
+  The ms subdirectory has been removed.
+
+
 * Noteworthy changes in release 3.2 (2011-09-02) [stable]
 
 ** Changes in behavior
@@ -55,7 +73,7 @@ GNU diffutils NEWS                                    -*- outline -*-
 
   New diff option --suppress-blank-empty.
 
-  Bring back support for `diff -NUM', where NUM is a number,
+  Bring back support for 'diff -NUM', where NUM is a number,
   even when conforming to POSIX 1003.1-2001.  This change reverts to
   the behavior of GNU diff 2.7 and earlier.  This is a change only
   when conforming to POSIX 1003.1-2001; there is no effect when
@@ -91,7 +109,7 @@ User-visible changes in version 2.8.6:
   that 'patch' creates to indicate nonexistent backups) are now
   treated as nonexistent when they are in the 'backup' file position.
 
-* If multiple SKIP values are given to cmp, e.g., `cmp -i 10 -i 20',
+* If multiple SKIP values are given to cmp, e.g., 'cmp -i 10 -i 20',
   cmp now uses the maximal value instead of the last one.
 
 * diff now omits the ".000000000" on hosts that do not support
@@ -131,7 +149,7 @@ User-visible changes in version 2.8:
 * cmp and diff now conform to POSIX 1003.1-2001 (IEEE Std 1003.1-2001)
   if the underlying system conforms to POSIX and if the _POSIX2_VERSION
   environment variable is set to 200112.  Conformance removes support
-  for `diff -NUM', where NUM is a number.  Use -C NUM or -U NUM instead.
+  for 'diff -NUM', where NUM is a number.  Use -C NUM or -U NUM instead.
 * cmp now supports trailing operands SKIP1 and SKIP2, like BSD cmp.
 * cmp -i or --ignore-initial now accepts SKIP1:SKIP2 option value.
 * New cmp option: -n or --bytes.
@@ -165,13 +183,13 @@ User-visible changes in version 2.8:
   category if possible, instead of using native byte comparison.
 * Recursive diffs now detect and report directory loops.
 * Diff printf specs can now use the "0" and "'" flags.
-* The new sdiff interactive command `ed' precedes each version with a header.
+* The new sdiff interactive command 'ed' precedes each version with a header.
 * On 64-bit hosts, files larger than 2 GB can be compared.
 * Some internationalization support has been added, but multibyte locales
   are still not completely supported yet.
 * Some diagnostics have been reworded slightly for consistency.
-  Also, `diff -D FOO' now outputs `/* ! FOO */' instead of `/* not FOO */'.
-* The `patch' part of the manual now describes `patch' version 2.5.4.
+  Also, 'diff -D FOO' now outputs '/* ! FOO */' instead of '/* not FOO */'.
+* The 'patch' part of the manual now describes 'patch' version 2.5.4.
 * Man pages are now distributed and installed.
 * There is support for DJGPP; see the 'ms' subdirectory and the files
   m4/dos.m4 and */setmode.*.
@@ -209,7 +227,7 @@ User-visible changes in version 2.4:
       A printf spec followed by one of the following letters
       causes the integer corresponding to that letter to be
       printed according to the printf specification.
-      E.g. `%5df' prints the number of the first line in the
+      E.g. '%5df' prints the number of the first line in the
       group in the old file using the "%5d" format.
        e: line number just before the group in old file; equals f - 1
        f: first line number in group in the old file
@@ -222,9 +240,9 @@ User-visible changes in version 2.4:
       constant or a single letter interpreted as above.  T and E are
       arbitrary format strings.  This format spec is equivalent to T if
       A's value equals B's; otherwise it is equivalent to E.  For
-      example, `%(N=0?no:%dN) line%(N=1?:s)' is equivalent to `no lines'
+      example, '%(N=0?no:%dN) line%(N=1?:s)' is equivalent to 'no lines'
       if N (the number of lines in the group in the new file) is 0,
-      to `1 line' if N is 1, and to `%dN lines' otherwise.
+      to '1 line' if N is 1, and to '%dN lines' otherwise.
   %c'C'
       where C is a single character, stands for the character C.  C may not
       be a backslash or an apostrophe.  E.g. %c':' stands for a colon.
@@ -234,7 +252,7 @@ User-visible changes in version 2.4:
 * New diff line format specifications:
   <PRINTF_SPEC>n
       The line number, printed with <PRINTF_SPEC>.
-      E.g. `%5dn' prints the line number with a "%5d" format.
+      E.g. '%5dn' prints the line number with a "%5d" format.
   %c'C'
   %c'\O'
       The character C, or with octal code O, as above.
@@ -246,14 +264,14 @@ User-visible changes in version 2.4:
 * cmp and diff now conform to POSIX 1003.2-1992 (ISO/IEC 9945-2:1993)
   if the underlying system conforms to POSIX:
   - Some messages' wordings are changed in minor ways.
-  - ``White space'' is now whatever C's `isspace' says it is.
-  - When comparing directories, if `diff' finds a file that is not a regular
+  - "White space" is now whatever C's 'isspace' says it is.
+  - When comparing directories, if 'diff' finds a file that is not a regular
     file or a directory, it reports the file's type instead of diffing it.
     (As usual, it follows symbolic links first.)
   - When signaled, sdiff exits with the signal's status, not with status 2.
 * Now portable to hosts where int, long, pointer, etc. are not all the same
   size.
-* `cmp - -' now works like `diff - -'.
+* 'cmp - -' now works like 'diff - -'.
 
 
 User-visible changes in version 2.3:
@@ -306,7 +324,7 @@ User-visible changes in version 2.0:
 
 \f
 
-Copyright (C) 1993-1994, 1998, 2001-2002, 2004, 2006, 2009-2011 Free Software
+Copyright (C) 1993-1994, 1998, 2001-2002, 2004, 2006, 2009-2013 Free Software
 Foundation, Inc.
 
 This file is part of GNU Diffutils.
diff --git a/README b/README
index f51587a..753e66e 100644 (file)
--- a/README
+++ b/README
@@ -9,8 +9,8 @@ Please see the file COPYING for copying conditions.
 Please see the file doc/version.texi for version information.
 
 Please see the file doc/diffutils.texi (or doc/diffutils.info) for
-documentation that can be printed with TeX, or read with the `info'
-program or with Emacs's `M-x info'.  Brief man pages are in man/*,
+documentation that can be printed with TeX, or read with the 'info'
+program or with Emacs's 'M-x info'.  Brief man pages are in man/*,
 but they are no substitute for the documentation.
 
 Please see the file ABOUT-NLS for notes about translations.
@@ -21,7 +21,7 @@ command "./configure --help" lists the supported --enable and --with
 options.
 
 If you have a problem with internationalization, you might be able to
-work around it as described in ABOUT-NLS by invoking `./configure
+work around it as described in ABOUT-NLS by invoking './configure
 --disable-nls'.  Many of the problems arise from dynamic linking
 issues on non-GNU platforms (e.g. with the iconv library).  Such
 problems tend to be shared by other GNU applications on these
@@ -51,7 +51,7 @@ Please report bugs to <bug-gnu-utils@gnu.org>.
 
 -----
 
-Copyright (C) 1992, 1998, 2001-2002, 2004, 2009-2011 Free Software Foundation,
+Copyright (C) 1992, 1998, 2001-2002, 2004, 2009-2013 Free Software Foundation,
 Inc.
 
 This file is part of GNU Diffutils.
@@ -60,5 +60,5 @@ Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
 any later version published by the Free Software Foundation; with no
 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts.  A copy of the license is included in the ``GNU Free
-Documentation License'' file as part of this distribution.
+Texts.  A copy of the license is included in the "GNU Free
+Documentation License" file as part of this distribution.
index dd8fadb..713d77d 100644 (file)
@@ -1,44 +1,48 @@
 Here are most of the steps we (maintainers) follow when making a release.
 
-* start from a clean, up-to-date git directory.
+* Start from a clean, up-to-date git directory on "master":
 
-    git checkout master; git pull
+    make -k maintainer-clean || { ./configure && make maintainer-clean; }
+    git checkout master
+    git pull origin master
 
-* Run ./configure && make maintainer-clean
-
-* Ensure that the desired versions of autoconf, automake, etc.
+* Ensure that the latest stable versions of autoconf, automake, etc.
   are in your PATH.  See the buildreq list in bootstrap.conf for
-  the complete list.
+  the complete list of tools.
+
+* Ensure that you have no uncommitted diffs.  This should produce no
+  output:
 
-* Ensure that you're on "master" with no uncommitted diffs.
-  This should produce no output: git checkout master; git diff
+    git diff
 
-* Ensure that you've pushed all changes that belong in the release
-  and that the NixOS/Hydra autobuilder is reporting all is well:
+* Ensure that you've pushed all changes that belong in the release:
 
-      http://hydra.nixos.org/jobset/gnu/diffutils-master
+    git push origin master
 
-* Run bootstrap one last time.  This downloads any new translations:
+* Check that the NixOS/Hydra autobuilder is reporting all is well:
 
-    ./bootstrap
+    http://hydra.nixos.org/jobset/gnu/diffutils-master
 
-* Pre-release testing:
-  Ensure that make check syntax-check succeeds.
+* Run the following command to download any new translations:
 
-* Run "make distcheck"
+    ./bootstrap && ./configure
 
-* Set the date, version number, and release type [stable/alpha/beta] on
-  line 3 of NEWS, commit that, and tag the release by running e.g.,
+* Pre-release testing: ensure that the following command succeeds:
 
-    build-aux/do-release-commit-and-tag X.Y stable
+    make check syntax-check distcheck
+
+* To (i) set the date, version number, and release TYPE on line 3 of
+  NEWS, (ii) commit that, and (iii) tag the release, run
+
+    # "TYPE" must be stable, beta or alpha
+    make release-commit RELEASE='X.Y TYPE'
 
 * Run the following to create release tarballs.  Your choice selects the
   corresponding upload-to destination in the emitted gnupload command.
   The different destinations are specified in cfg.mk.  See the definitions
   of gnu_ftp_host-{alpha,beta,stable}.
 
-    # "TYPE" must be stable, beta or alpha
-    make TYPE
+    make release RELEASE='X.Y TYPE'
 
 * Test the tarball.  Copy it to a few odd-ball systems and ensure that
   it builds and passes all tests.
@@ -49,7 +53,10 @@ Here are most of the steps we (maintainers) follow when making a release.
 
 Once all the builds and tests have passed,
 
-* Run the gnupload command that was suggested by your "make stable" run above.
+* Run the gnupload command that was suggested by your "make release"
+  run above, or run
+
+    make upload RELEASE='X.Y TYPE'
 
 * Wait a few minutes (maybe up to 30?) and then use the release URLs to
   download all tarball/signature pairs and use gpg --verify to ensure
@@ -60,15 +67,18 @@ Once all the builds and tests have passed,
     v=$(cat .prev-version)
     git push origin master tag v$v
 
-* Announce it on Savannah first, so you can include the preferable
-  savannah.org announcement link in the email message.
+* Announce it on Savannah first, so you can include the savannah.org
+  announcement link in the email message.
 
-  From here:
-    https://savannah.gnu.org/projects/diffutils/
-  click on the "submit news", then write something like the following:
-  (If there is no such button, then enable "News" for the project via
-   the Main -> "Select Features" menu item, or via this link:
-   https://savannah.gnu.org/project/admin/editgroupfeatures.php?group=diffutils)
+  Go to the news-submission form:
+
+    https://savannah.gnu.org/news/submit.php?group=diffutils
+
+  If it does not work, then enable "News" for the project via this link:
+
+    https://savannah.gnu.org/project/admin/editgroupfeatures.php?group=diffutils
+
+  Write something like the following:
 
     Subject: diffutils-X.Y released [stable]
     +verbatim+
@@ -76,14 +86,15 @@ Once all the builds and tests have passed,
     -verbatim-
 
   Then go here to approve it:
+
     https://savannah.gnu.org/news/approve.php?group=diffutils
 
 * Send the announcement email message.
 
-* After each non-alpha release, update the on-line manual accessible via
+* After each non-alpha release, run
 
-    http://www.gnu.org/software/diffutils/manual/
+    make web-manual-update
 
-  by running this:
+  to update the on-line manual accessible at
 
-    build-aux/gnu-web-doc-update
+    http://www.gnu.org/software/diffutils/manual/
diff --git a/TODO b/TODO
index f8dc34a..5132de8 100644 (file)
--- a/TODO
+++ b/TODO
@@ -6,4 +6,4 @@ http://www.pkix.net/~chuck/sdiff2.diff
 Propagate stderr from subprocess so that diff3 does
 a better job of explaining _why_:
   > $ diff3 /bin/sh /bin/false /bin/mv
-  > diff3: subsidiary program `diff' failed (exit status 2)
+  > diff3: subsidiary program 'diff' failed (exit status 2)
index 9f99438..143b33e 100644 (file)
@@ -1,8 +1,7 @@
-# generated automatically by aclocal 1.11a -*- Autoconf -*-
+# generated automatically by aclocal 1.13a -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68.79-5e017],,
-[m4_warning([this file was generated for autoconf 2.68.79-5e017.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69.79-0bdae],,
+[m4_warning([this file was generated for autoconf 2.69.79-0bdae.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 8
-
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11a'
+[am__api_version='1.13a'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11a], [],
+m4_if([$1], [1.13a], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -54,24 +51,22 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11a])dnl
+[AM_AUTOMAKE_VERSION([1.13a])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
 #
 # Of course, Automake must honor this variable whenever it calls a
 # tool from the auxiliary directory.  The problem is that $srcdir (and
@@ -90,7 +85,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 #
 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
 # are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
 # start a VPATH build or use an absolute $srcdir.
 #
 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -114,40 +109,14 @@ AC_PREREQ([2.50])dnl
 am_aux_dir=`cd $ac_aux_dir && pwd`
 ])
 
-
-# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# This was merged into AC_PROG_CC in Autoconf.
-
-AU_DEFUN([AM_PROG_CC_STDC],
-[AC_PROG_CC
-AC_DIAGNOSE([obsolete], [$0:
-       your code should no longer depend upon `am_cv_prog_cc_stdc', but upon
-       `ac_cv_prog_cc_stdc'.  Remove this warning and the assignment when
-       you adjust the code.  You can also remove the above call to
-       AC_PROG_CC if you already called it elsewhere.])
-am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
-])
-AU_DEFUN([fp_PROG_CC_STDC])
-
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008, 2011
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 10
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
@@ -173,16 +142,14 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
-# 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 14
 
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
 # will think it sees a *use*, and therefore will trigger all it's
 # C support machinery.  Also note that it means that autoscan, seeing
@@ -192,7 +159,7 @@ fi])])
 # _AM_DEPENDENCIES(NAME)
 # ----------------------
 # See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
 # We try a few techniques and use that to set a single cache variable.
 #
 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -208,6 +175,7 @@ AC_REQUIRE([AM_DEP_TRACK])dnl
 m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
       [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
       [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
       [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
       [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
                     [depcc="$$1"   am_compiler_list=])
@@ -218,8 +186,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -259,16 +227,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -277,8 +245,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
        continue
       else
@@ -286,7 +254,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -334,11 +302,8 @@ AM_CONDITIONAL([am__fastdep$1], [
 # AM_SET_DEPDIR
 # -------------
 # Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
+AC_DEFUN([AM_SET_DEPDIR], [AC_SUBST([DEPDIR], [.deps])])
 
 
 # AM_DEP_TRACK
@@ -365,20 +330,18 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-#serial 5
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 [{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -391,7 +354,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -403,21 +366,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
     test -z "am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`AS_DIRNAME(["$file"])`
@@ -435,7 +396,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 # This macro should only be invoked once -- use via AC_REQUIRE.
 #
 # This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
+# is enabled.  FIXME.  This creates each '.P' file that we will
 # need in order to bootstrap the dependency handling code.
 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 [AC_CONFIG_COMMANDS([depfiles],
@@ -445,15 +406,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 17
-
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
 
@@ -469,7 +427,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 # arguments mandatory, and then we can depend on a new Autoconf
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
+[AC_PREREQ([2.65])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -498,7 +456,9 @@ AC_SUBST([CYGPATH_W])
 # Define the identity of the package.
 dnl Distinguish between old-style and new-style calls.
 m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+             [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
  AC_SUBST([PACKAGE], [$1])dnl
  AC_SUBST([VERSION], [$2])],
 [_AM_SET_OPTIONS([$1])dnl
@@ -524,44 +484,133 @@ AM_MISSING_PROG([AUTOHEADER], [autoheader])
 AM_MISSING_PROG([MAKEINFO], [makeinfo])
 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
                             [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
                  [_AM_DEPENDENCIES([CC])],
-                 [define([AC_PROG_CC],
-                         defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
+                 [m4_define([AC_PROG_CC],
+                            m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
                  [_AM_DEPENDENCIES([CXX])],
-                 [define([AC_PROG_CXX],
-                         defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
+                 [m4_define([AC_PROG_CXX],
+                            m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
                  [_AM_DEPENDENCIES([OBJC])],
-                 [define([AC_PROG_OBJC],
-                         defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+                 [m4_define([AC_PROG_OBJC],
+                            m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+                 [_AM_DEPENDENCIES([OBJCXX])],
+                 [m4_define([AC_PROG_OBJCXX],
+                            m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
 ])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
 
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+  fi
+fi])
+
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
 dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
 
+dnl We have to redefine AC_PROG_CC to allow our compile rules to use
+dnl "-c -o" together also with losing compilers.
+dnl FIXME: Add references to the original discussion and bug report.
+dnl FIXME: Shameless copy & paste from Autoconf internals, since trying to
+dnl        play smart among tangles of AC_REQUIRE, m4_defn, m4_provide and
+dnl        other tricks was proving too difficult, and in the end, likely
+dnl        more brittle too.  And this should anyway be just a temporary
+dnl        band-aid, until Autoconf provides the semantics and/or hooks we
+dnl        need (hint hint, nudge nudge) ...
+AC_DEFUN([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+dnl FIXME The following abomination is expected to disappear in
+dnl       Automake 1.14.
+AC_MSG_CHECKING([whether $CC understands -c and -o together])
+set dummy $CC; am__cc=`AS_ECHO(["$[2]"]) | \
+                       sed 's/[[^a-zA-Z0-9_]]/_/g;s/^[[0-9]]/_/'`
+AC_CACHE_VAL([am_cv_prog_cc_${am__cc}_c_o],
+[AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+# Make sure it works both with $CC and with simple cc.
+# We do the test twice because some compilers refuse to overwrite an
+# existing .o file with -o, though they will create one.
+ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&AS_MESSAGE_LOG_FD'
+rm -f conftest2.*
+if _AC_DO_VAR(ac_try) && test -f conftest2.$ac_objext
+then
+  eval am_cv_prog_cc_${am__cc}_c_o=yes
+else
+  eval am_cv_prog_cc_${am__cc}_c_o=no
+fi
+rm -f core conftest*
+])dnl
+if eval test \"\$am_cv_prog_cc_${am__cc}_c_o\" = yes; then
+  AC_MSG_RESULT([yes])
+else
+  AC_MSG_RESULT([no])
+  # Losing compiler, so wrap it with the 'compile' script.
+  # FIXME: It is wrong to rewrite CC.
+  # But if we don't then we get into trouble of one sort or another.
+  # A longer-term fix would be to have automake use am__CC in this case,
+  # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+  CC="$am_aux_dir/compile $CC"
+fi
+])
 
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
@@ -584,15 +633,12 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 8
-
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
@@ -608,37 +654,14 @@ if test x"${install_sh}" != xset; then
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot.  For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
 # Check to see how 'make' treats includes.                 -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
-
 # AM_MAKE_INCLUDE()
 # -----------------
 # Check to see how make treats includes.
@@ -656,7 +679,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -681,52 +704,39 @@ AC_MSG_RESULT([$_am_result])
 rm -f confinc confmf
 ])
 
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
-
 # AM_PROG_CC_C_O
 # --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
+# Basically a no-op now, completely superseded by the AC_PROG_CC
+# adjusted by Automake.  Kept for backward-compatibility.
 AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
+[AC_REQUIRE([AC_PROG_CC])dnl
 dnl Make sure AC_PROG_CC is never called again, or it will override our
 dnl setting of CC.
 m4_define([AC_PROG_CC],
           [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
+# For better backward-compatibility.  Users are advised to stop
+# relying on this cache variable and C preprocessor symbol ASAP.
+eval ac_cv_prog_cc_${am__cc}_c_o=\$am_cv_prog_cc_${am__cc}_c_o
+if eval test \"\$ac_cv_prog_cc_${am__cc}_c_o\" != yes; then
+  AC_DEFINE([NO_MINUS_C_MINUS_O], [1],
+            [Define to 1 if your C compiler doesn't accept -c and -o together.])
+fi
 ])
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
-
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
 AC_DEFUN([AM_MISSING_PROG],
@@ -734,11 +744,10 @@ AC_DEFUN([AM_MISSING_PROG],
 $1=${$1-"${am_missing_run}$2"}
 AC_SUBST($1)])
 
-
 # AM_MISSING_HAS_RUN
 # ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
 AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
@@ -751,54 +760,22 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
+  AC_MSG_WARN(['missing' script is too old or missing])
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
-# Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
-
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
 AC_DEFUN([_AM_MANGLE_OPTION],
@@ -824,15 +801,12 @@ AC_DEFUN([_AM_IF_OPTION],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_SANITY_CHECK
 # ---------------
 AC_DEFUN([AM_SANITY_CHECK],
@@ -847,10 +821,10 @@ case `pwd` in
 esac
 case $srcdir in
   *[[\\\"\#\$\&\'\`$am_lf\ \   ]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
@@ -908,76 +882,100 @@ AC_CONFIG_COMMANDS_PRE(
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # AM_SILENT_RULES([DEFAULT])
 # --------------------------
 # Enable less verbose build rules; with the default set to DEFAULT
-# (`yes' being less verbose, `no' or empty being verbose).
+# ("yes" being less verbose, "no" or empty being verbose).
 AC_DEFUN([AM_SILENT_RULES],
 [AC_ARG_ENABLE([silent-rules], [dnl
 AS_HELP_STRING(
   [--enable-silent-rules],
-  [less verbose build output (undo: `make V=1')])
+  [less verbose build output (undo: "make V=1")])
 AS_HELP_STRING(
   [--disable-silent-rules],
-  [verbose build output (undo: `make V=0')])dnl
+  [verbose build output (undo: "make V=0")])dnl
 ])
 case $enable_silent_rules in @%:@ (((
   yes) AM_DEFAULT_VERBOSITY=0;;
    no) AM_DEFAULT_VERBOSITY=1;;
     *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
 esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+   [am_cv_make_support_nested_variables],
+   [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+       @$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+  dnl Using '$V' instead of '$(V)' breaks IRIX make.
+  AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
 AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
 AM_BACKSLASH='\'
 AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # AM_PROG_INSTALL_STRIP
 # ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
 # is unlikely to handle the host's binaries.
 # Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2006-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 3
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -991,18 +989,16 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2004-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_PROG_TAR(FORMAT)
 # --------------------
 # Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
 #
 # Substitute a variable $(am__tar) that is a command
 # writing to stdout a FORMAT-tarball containing the directory
@@ -1013,10 +1009,11 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 # a tarball read from stdin.
 #     $(am__untar) < result.tar
 AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
+[# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
 m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
      [m4_case([$1], [ustar],, [pax],,
               [m4_fatal([Unknown tar format])])
 AC_MSG_CHECKING([how to create a $1 tar archive])
@@ -1024,7 +1021,7 @@ AC_MSG_CHECKING([how to create a $1 tar archive])
 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
 _am_tools=${am_cv_prog_tar_$1-$_am_tools}
 # Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
+# Solaris sh will not grok spaces in the rhs of '-'.
 for _am_tool in $_am_tools
 do
   case $_am_tool in
@@ -1090,6 +1087,7 @@ m4_include([m4/alloca.m4])
 m4_include([m4/btowc.m4])
 m4_include([m4/c-stack.m4])
 m4_include([m4/clock_time.m4])
+m4_include([m4/close.m4])
 m4_include([m4/codeset.m4])
 m4_include([m4/config-h.m4])
 m4_include([m4/configmake.m4])
@@ -1100,23 +1098,27 @@ m4_include([m4/eealloc.m4])
 m4_include([m4/environ.m4])
 m4_include([m4/errno_h.m4])
 m4_include([m4/error.m4])
+m4_include([m4/exponentd.m4])
 m4_include([m4/extensions.m4])
+m4_include([m4/extern-inline.m4])
 m4_include([m4/fcntl-o.m4])
 m4_include([m4/fcntl.m4])
 m4_include([m4/fcntl_h.m4])
+m4_include([m4/fdopen.m4])
 m4_include([m4/filenamecat.m4])
 m4_include([m4/float_h.m4])
 m4_include([m4/fnmatch.m4])
 m4_include([m4/fpieee.m4])
 m4_include([m4/freopen.m4])
+m4_include([m4/fstat.m4])
 m4_include([m4/getcwd.m4])
 m4_include([m4/getdtablesize.m4])
 m4_include([m4/getopt.m4])
 m4_include([m4/getpagesize.m4])
-m4_include([m4/gettext_gl.m4])
+m4_include([m4/gettext.m4])
 m4_include([m4/gettime.m4])
 m4_include([m4/gettimeofday.m4])
-m4_include([m4/glibc21_gl.m4])
+m4_include([m4/glibc21.m4])
 m4_include([m4/gnu-make.m4])
 m4_include([m4/gnulib-common.m4])
 m4_include([m4/gnulib-comp.m4])
@@ -1131,13 +1133,13 @@ m4_include([m4/intmax_t.m4])
 m4_include([m4/inttostr.m4])
 m4_include([m4/inttypes-pri.m4])
 m4_include([m4/inttypes.m4])
-m4_include([m4/inttypes_h_gl.m4])
+m4_include([m4/inttypes_h.m4])
 m4_include([m4/iswblank.m4])
 m4_include([m4/langinfo_h.m4])
 m4_include([m4/largefile.m4])
-m4_include([m4/lib-ld_gl.m4])
+m4_include([m4/lib-ld.m4])
 m4_include([m4/lib-link.m4])
-m4_include([m4/lib-prefix_gl.m4])
+m4_include([m4/lib-prefix.m4])
 m4_include([m4/libsigsegv.m4])
 m4_include([m4/libunistring-base.m4])
 m4_include([m4/localcharset.m4])
@@ -1146,7 +1148,8 @@ m4_include([m4/locale-ja.m4])
 m4_include([m4/locale-tr.m4])
 m4_include([m4/locale-zh.m4])
 m4_include([m4/locale_h.m4])
-m4_include([m4/longlong_gl.m4])
+m4_include([m4/localeconv.m4])
+m4_include([m4/longlong.m4])
 m4_include([m4/lstat.m4])
 m4_include([m4/malloc.m4])
 m4_include([m4/malloca.m4])
@@ -1164,19 +1167,25 @@ m4_include([m4/mkstemp.m4])
 m4_include([m4/mktime.m4])
 m4_include([m4/mmap-anon.m4])
 m4_include([m4/mode_t.m4])
+m4_include([m4/msvc-inval.m4])
+m4_include([m4/msvc-nothrow.m4])
 m4_include([m4/multiarch.m4])
 m4_include([m4/nl_langinfo.m4])
 m4_include([m4/nls.m4])
 m4_include([m4/nocrash.m4])
-m4_include([m4/onceonly.m4])
+m4_include([m4/off_t.m4])
 m4_include([m4/open.m4])
-m4_include([m4/po_gl.m4])
+m4_include([m4/pathmax.m4])
+m4_include([m4/po.m4])
 m4_include([m4/printf.m4])
 m4_include([m4/progtest.m4])
 m4_include([m4/putenv.m4])
 m4_include([m4/quote.m4])
 m4_include([m4/quotearg.m4])
+m4_include([m4/raise.m4])
+m4_include([m4/readlink.m4])
 m4_include([m4/regex.m4])
+m4_include([m4/secure_getenv.m4])
 m4_include([m4/setenv.m4])
 m4_include([m4/setlocale.m4])
 m4_include([m4/sigaction.m4])
@@ -1192,12 +1201,11 @@ m4_include([m4/stdarg.m4])
 m4_include([m4/stdbool.m4])
 m4_include([m4/stddef_h.m4])
 m4_include([m4/stdint.m4])
-m4_include([m4/stdint_h_gl.m4])
+m4_include([m4/stdint_h.m4])
 m4_include([m4/stdio_h.m4])
 m4_include([m4/stdlib_h.m4])
 m4_include([m4/strcase.m4])
 m4_include([m4/strerror.m4])
-m4_include([m4/strerror_r.m4])
 m4_include([m4/strftime.m4])
 m4_include([m4/string_h.m4])
 m4_include([m4/strings_h.m4])
@@ -1210,6 +1218,7 @@ m4_include([m4/symlink.m4])
 m4_include([m4/sys_socket_h.m4])
 m4_include([m4/sys_stat_h.m4])
 m4_include([m4/sys_time_h.m4])
+m4_include([m4/sys_types_h.m4])
 m4_include([m4/sys_wait_h.m4])
 m4_include([m4/tempname.m4])
 m4_include([m4/time_h.m4])
@@ -1221,6 +1230,7 @@ m4_include([m4/unlocked-io.m4])
 m4_include([m4/usleep.m4])
 m4_include([m4/vararrays.m4])
 m4_include([m4/vasnprintf.m4])
+m4_include([m4/vasprintf.m4])
 m4_include([m4/version-etc.m4])
 m4_include([m4/warn-on-use.m4])
 m4_include([m4/warnings.m4])
@@ -1236,3 +1246,4 @@ m4_include([m4/xalloc.m4])
 m4_include([m4/xsize.m4])
 m4_include([m4/xstrndup.m4])
 m4_include([m4/xstrtol.m4])
+m4_include([m4/xvasprintf.m4])
index f76db9a..bee7765 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Print a version string.
-scriptversion=2011-08-11.17; # UTC
+scriptversion=2013-01-20.16; # UTC
 
 # Bootstrap this package from checked-out sources.
 
-# Copyright (C) 2003-2011 Free Software Foundation, Inc.
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -36,12 +36,12 @@ nl='
 LC_ALL=C
 export LC_ALL
 
+# Ensure that CDPATH is not set.  Otherwise, the output from cd
+# would cause trouble in at least one use below.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
 local_gl_dir=gl
 
-# Temporary directory names.
-bt='._bootmp'
-bt_regex=`echo "$bt"| sed 's/\./[.]/g'`
-bt2=${bt}2
 me=$0
 
 usage() {
@@ -77,6 +77,33 @@ Running without arguments will suffice in most cases.
 EOF
 }
 
+# warnf_ FORMAT-STRING ARG1...
+warnf_ ()
+{
+  warnf_format_=$1
+  shift
+  nl='
+'
+  case $* in
+    *$nl*) me_=$(printf "$me"|tr "$nl|" '??')
+       printf "$warnf_format_" "$@" | sed "s|^|$me_: |" ;;
+    *) printf "$me: $warnf_format_" "$@" ;;
+  esac >&2
+}
+
+# warn_ WORD1...
+warn_ ()
+{
+  # If IFS does not start with ' ', set it and emit the warning in a subshell.
+  case $IFS in
+    ' '*) warnf_ '%s\n' "$*";;
+    *)    (IFS=' '; warn_ "$@");;
+  esac
+}
+
+# die WORD1...
+die() { warn_ "$@"; exit 1; }
+
 # Configuration.
 
 # Name of the Makefile.am
@@ -88,9 +115,12 @@ gnulib_modules=
 # Any gnulib files needed that are not in modules.
 gnulib_files=
 
-# A function to be called to edit gnulib.mk right after it's created.
+: ${AUTOPOINT=autopoint}
+: ${AUTORECONF=autoreconf}
+
+# A function to be called right after gnulib-tool is run.
 # Override it via your own definition in bootstrap.conf.
-gnulib_mk_hook() { :; }
+bootstrap_post_import_hook() { :; }
 
 # A function to be called after everything else in this script.
 # Override it via your own definition in bootstrap.conf.
@@ -105,6 +135,11 @@ po_download_command_format=\
 "rsync --delete --exclude '*.s1' -Lrtvz \
  'translationproject.org::tp/latest/%s/' '%s'"
 
+# Fallback for downloading .po files (if rsync fails).
+po_download_command_format2=\
+"wget --mirror -nd -q -np -A.po -P '%s' \
+ http://translationproject.org/latest/%s/"
+
 extract_package_name='
   /^AC_INIT(/{
      /.*,.*,.*, */{
@@ -122,7 +157,8 @@ extract_package_name='
      p
   }
 '
-package=`sed -n "$extract_package_name" configure.ac` || exit
+package=$(sed -n "$extract_package_name" configure.ac) \
+  || die 'cannot find package name in configure.ac'
 gnulib_name=lib$package
 
 build_aux=build-aux
@@ -178,6 +214,8 @@ use_git=true
 # otherwise find the first of the NAMES that can be run (i.e.,
 # supports --version).  If found, set ENVVAR to the program name,
 # die otherwise.
+#
+# FIXME: code duplication, see also gnu-web-doc-update.
 find_tool ()
 {
   find_tool_envvar=$1
@@ -195,19 +233,15 @@ find_tool ()
   else
     find_tool_error_prefix="\$$find_tool_envvar: "
   fi
-  if test x"$find_tool_res" = x; then
-    echo >&2 "$me: one of these is required: $find_tool_names"
-    exit 1
-  fi
-  ($find_tool_res --version </dev/null) >/dev/null 2>&1 || {
-    echo >&2 "$me: ${find_tool_error_prefix}cannot run $find_tool_res --version"
-    exit 1
-  }
+  test x"$find_tool_res" != x \
+    || die "one of these is required: $find_tool_names"
+  ($find_tool_res --version </dev/null) >/dev/null 2>&1 \
+    || die "${find_tool_error_prefix}cannot run $find_tool_res --version"
   eval "$find_tool_envvar=\$find_tool_res"
   eval "export $find_tool_envvar"
 }
 
-# Find sha1sum, named gsha1sum on MacPorts, and shasum on MacOS 10.6.
+# Find sha1sum, named gsha1sum on MacPorts, and shasum on Mac OS X 10.6.
 find_tool SHA1SUM sha1sum gsha1sum shasum
 
 # Override the default configuration, if necessary.
@@ -222,7 +256,6 @@ esac
 test -z "${gnulib_extra_files}" && \
   gnulib_extra_files="
         $build_aux/install-sh
-        $build_aux/missing
         $build_aux/mdate-sh
         $build_aux/texinfo.tex
         $build_aux/depcomp
@@ -248,7 +281,7 @@ do
     usage
     exit;;
   --gnulib-srcdir=*)
-    GNULIB_SRCDIR=`expr "X$option" : 'X--gnulib-srcdir=\(.*\)'`;;
+    GNULIB_SRCDIR=${option#--gnulib-srcdir=};;
   --skip-po)
     SKIP_PO=t;;
   --force)
@@ -262,62 +295,56 @@ do
   --no-git)
     use_git=false;;
   *)
-    echo >&2 "$0: $option: unknown option"
-    exit 1;;
+    die "$option: unknown option";;
   esac
 done
 
-if $use_git || test -d "$GNULIB_SRCDIR"; then
-  :
-else
-  echo "$0: Error: --no-git requires --gnulib-srcdir" >&2
-  exit 1
-fi
+$use_git || test -d "$GNULIB_SRCDIR" \
+  || die "Error: --no-git requires --gnulib-srcdir"
 
 if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
-  echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2
-  exit 1
+  die "Bootstrapping from a non-checked-out distribution is risky."
 fi
 
-# Ensure that lines starting with ! sort last, per gitignore conventions
-# for whitelisting exceptions after a more generic blacklist pattern.
-sort_patterns() {
-  sort -u "$@" | sed '/^!/ {
-    H
-    d
-  }
-  $ {
-    P
-    x
-    s/^\n//
-  }' | sed '/^$/d'
+# Strip blank and comment lines to leave significant entries.
+gitignore_entries() {
+  sed '/^#/d; /^$/d' "$@"
 }
 
-# If $STR is not already on a line by itself in $FILE, insert it,
-# sorting the new contents of the file and replacing $FILE with the result.
-insert_sorted_if_absent() {
+# If $STR is not already on a line by itself in $FILE, insert it at the start.
+# Entries are inserted at the start of the ignore list to ensure existing
+# entries starting with ! are not overridden.  Such entries support
+# whitelisting exceptions after a more generic blacklist pattern.
+insert_if_absent() {
   file=$1
   str=$2
   test -f $file || touch $file
-  echo "$str" | sort_patterns - $file | cmp - $file > /dev/null \
-    || { echo "$str" | sort_patterns - $file > $file.bak \
-      && mv $file.bak $file; } \
-    || exit 1
+  test -r $file || die "Error: failed to read ignore file: $file"
+  duplicate_entries=$(gitignore_entries $file | sort | uniq -d)
+  if [ "$duplicate_entries" ] ; then
+    die "Error: Duplicate entries in $file: " $duplicate_entries
+  fi
+  linesold=$(gitignore_entries $file | wc -l)
+  linesnew=$(echo "$str" | gitignore_entries - $file | sort -u | wc -l)
+  if [ $linesold != $linesnew ] ; then
+    { echo "$str" | cat - $file > $file.bak && mv $file.bak $file; } \
+      || die "insert_if_absent $file $str: failed"
+  fi
 }
 
 # Adjust $PATTERN for $VC_IGNORE_FILE and insert it with
-# insert_sorted_if_absent.
+# insert_if_absent.
 insert_vc_ignore() {
   vc_ignore_file="$1"
   pattern="$2"
   case $vc_ignore_file in
   *.gitignore)
-    # A .gitignore entry that does not start with `/' applies
-    # recursively to subdirectories, so prepend `/' to every
+    # A .gitignore entry that does not start with '/' applies
+    # recursively to subdirectories, so prepend '/' to every
     # .gitignore entry.
-    pattern=`echo "$pattern" | sed s,^,/,`;;
+    pattern=$(echo "$pattern" | sed s,^,/,);;
   esac
-  insert_sorted_if_absent "$vc_ignore_file" "$pattern"
+  insert_if_absent "$vc_ignore_file" "$pattern"
 }
 
 # Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac.
@@ -326,11 +353,8 @@ grep '^[    ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \
     >/dev/null && found_aux_dir=yes
 grep '^[        ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \
     >/dev/null && found_aux_dir=yes
-if test $found_aux_dir = no; then
-  echo "$0: expected line not found in configure.ac. Add the following:" >&2
-  echo "  AC_CONFIG_AUX_DIR([$build_aux])" >&2
-  exit 1
-fi
+test $found_aux_dir = yes \
+  || die "configure.ac lacks 'AC_CONFIG_AUX_DIR([$build_aux])'; add it"
 
 # If $build_aux doesn't exist, create it now, otherwise some bits
 # below will malfunction.  If creating it, also mark it as ignored.
@@ -419,31 +443,48 @@ check_versions() {
       $use_git || continue
     fi
     # Honor $APP variables ($TAR, $AUTOCONF, etc.)
-    appvar=`echo $app | tr '[a-z]-' '[A-Z]_'`
+    appvar=$(echo $app | LC_ALL=C tr '[a-z]-' '[A-Z]_')
     test "$appvar" = TAR && appvar=AMTAR
     case $appvar in
         GZIP) ;; # Do not use $GZIP:  it contains gzip options.
         *) eval "app=\${$appvar-$app}" ;;
     esac
+
+    # Handle the still-experimental Automake-NG programs specially.
+    # They remain named as the mainstream Automake programs ("automake",
+    # and "aclocal") to avoid gratuitous incompatibilities with
+    # pre-existing usages (by, say, autoreconf, or custom autogen.sh
+    # scripts), but correctly identify themselves (as being part of
+    # "GNU automake-ng") when asked their version.
+    case $app in
+      automake-ng|aclocal-ng)
+        app=${app%-ng}
+        ($app --version | grep '(GNU automake-ng)') >/dev/null 2>&1 || {
+          warn_ "Error: '$app' not found or not from Automake-NG"
+          ret=1
+          continue
+        } ;;
+    esac
     if [ "$req_ver" = "-" ]; then
       # Merely require app to exist; not all prereq apps are well-behaved
       # so we have to rely on $? rather than get_version.
       $app --version >/dev/null 2>&1
       if [ 126 -le $? ]; then
-        echo "$me: Error: '$app' not found" >&2
+        warn_ "Error: '$app' not found"
         ret=1
       fi
     else
       # Require app to produce a new enough version string.
       inst_ver=$(get_version $app)
       if [ ! "$inst_ver" ]; then
-        echo "$me: Error: '$app' not found" >&2
+        warn_ "Error: '$app' not found"
         ret=1
       else
         latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2)
         if [ ! "$latest_ver" = "$inst_ver" ]; then
-          echo "$me: Error: '$app' version == $inst_ver is too old" >&2
-          echo "       '$app' version >= $req_ver is required" >&2
+          warnf_ '%s\n'                                        \
+              "Error: '$app' version == $inst_ver is too old"  \
+              "       '$app' version >= $req_ver is required"
           ret=1
         fi
       fi
@@ -473,14 +514,37 @@ if test $use_libtool = 1; then
   find_tool LIBTOOLIZE glibtoolize libtoolize
 fi
 
+# gnulib-tool requires at least automake and autoconf.
+# If either is not listed, add it (with minimum version) as a prerequisite.
+case $buildreq in
+  *automake*) ;;
+  *) buildreq="automake 1.9
+$buildreq" ;;
+esac
+case $buildreq in
+  *autoconf*) ;;
+  *) buildreq="autoconf 2.59
+$buildreq" ;;
+esac
+
+# When we can deduce that gnulib-tool will require patch,
+# and when patch is not already listed as a prerequisite, add it, too.
+if test -d "$local_gl_dir" \
+    && ! find "$local_gl_dir" -name '*.diff' -exec false {} +; then
+  case $buildreq in
+    *patch*) ;;
+    *) buildreq="patch -
+$buildreq" ;;
+  esac
+fi
+
 if ! printf "$buildreq" | check_versions; then
   echo >&2
   if test -f README-prereq; then
-    echo "$0: See README-prereq for how to get the prerequisite programs" >&2
+    die "See README-prereq for how to get the prerequisite programs"
   else
-    echo "$0: Please install the prerequisite programs" >&2
+    die "Please install the prerequisite programs"
   fi
-  exit 1
 fi
 
 echo "$0: Bootstrapping from checked-out $package sources..."
@@ -509,7 +573,7 @@ git_modules_config () {
   test -f .gitmodules && git config --file .gitmodules "$@"
 }
 
-gnulib_path=`git_modules_config submodule.gnulib.path`
+gnulib_path=$(git_modules_config submodule.gnulib.path)
 test -z "$gnulib_path" && gnulib_path=gnulib
 
 # Get gnulib files.
@@ -574,7 +638,7 @@ if $bootstrap_sync; then
 fi
 
 gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
-<$gnulib_tool || exit
+<$gnulib_tool || exit $?
 
 # Get translations.
 
@@ -582,7 +646,10 @@ download_po_files() {
   subdir=$1
   domain=$2
   echo "$me: getting translations into $subdir for $domain..."
-  cmd=`printf "$po_download_command_format" "$domain" "$subdir"`
+  cmd=$(printf "$po_download_command_format" "$domain" "$subdir")
+  eval "$cmd" && return
+  # Fallback to HTTP.
+  cmd=$(printf "$po_download_command_format2" "$subdir" "$domain")
   eval "$cmd"
 }
 
@@ -605,7 +672,7 @@ update_po_files() {
     && ls "$ref_po_dir"/*.po 2>/dev/null |
       sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return
 
-  langs=`cd $ref_po_dir && echo *.po|sed 's/\.po//g'`
+  langs=$(cd $ref_po_dir && echo *.po | sed 's/\.po//g')
   test "$langs" = '*' && langs=x
   for po in $langs; do
     case $po in x) continue;; esac
@@ -642,18 +709,18 @@ symlink_to_dir()
 
     # If the destination directory doesn't exist, create it.
     # This is required at least for "lib/uniwidth/cjk.h".
-    dst_dir=`dirname "$dst"`
+    dst_dir=$(dirname "$dst")
     if ! test -d "$dst_dir"; then
       mkdir -p "$dst_dir"
 
       # If we've just created a directory like lib/uniwidth,
       # tell version control system(s) it's ignorable.
       # FIXME: for now, this does only one level
-      parent=`dirname "$dst_dir"`
+      parent=$(dirname "$dst_dir")
       for dot_ig in x $vc_ignore; do
         test $dot_ig = x && continue
         ig=$parent/$dot_ig
-        insert_vc_ignore $ig `echo "$dst_dir"|sed 's,.*/,,'`
+        insert_vc_ignore $ig "${dst_dir##*/}"
       done
     fi
 
@@ -677,10 +744,10 @@ symlink_to_dir()
       # so that broken tools aren't confused into skipping needed builds.  See
       # <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00326.html>.
       test -h "$dst" &&
-      src_ls=`ls -diL "$src" 2>/dev/null` && set $src_ls && src_i=$1 &&
-      dst_ls=`ls -diL "$dst" 2>/dev/null` && set $dst_ls && dst_i=$1 &&
+      src_ls=$(ls -diL "$src" 2>/dev/null) && set $src_ls && src_i=$1 &&
+      dst_ls=$(ls -diL "$dst" 2>/dev/null) && set $dst_ls && dst_i=$1 &&
       test "$src_i" = "$dst_i" &&
-      both_ls=`ls -dt "$src" "$dst"` &&
+      both_ls=$(ls -dt "$src" "$dst") &&
       test "X$both_ls" = "X$dst$nl$src" || {
         dot_dots=
         case $src in
@@ -688,11 +755,10 @@ symlink_to_dir()
         *)
           case /$dst/ in
           *//* | */../* | */./* | /*/*/*/*/*/)
-             echo >&2 "$me: invalid symlink calculation: $src -> $dst"
-             exit 1;;
-          /*/*/*/*/)   dot_dots=../../../;;
-          /*/*/*/)     dot_dots=../../;;
-          /*/*/)       dot_dots=../;;
+             die "invalid symlink calculation: $src -> $dst";;
+          /*/*/*/*/)    dot_dots=../../../;;
+          /*/*/*/)      dot_dots=../../;;
+          /*/*/)        dot_dots=../;;
           esac;;
         esac
 
@@ -703,151 +769,94 @@ symlink_to_dir()
   }
 }
 
-cp_mark_as_generated()
-{
-  cp_src=$1
-  cp_dst=$2
-
-  if cmp -s "$cp_src" "$GNULIB_SRCDIR/$cp_dst"; then
-    symlink_to_dir "$GNULIB_SRCDIR" "$cp_dst"
-  elif cmp -s "$cp_src" "$local_gl_dir/$cp_dst"; then
-    symlink_to_dir $local_gl_dir "$cp_dst"
-  else
-    case $cp_dst in
-      *.[ch])             c1='/* '; c2=' */';;
-      *.texi)             c1='@c '; c2=     ;;
-      *.m4|*/Make*|Make*) c1='# ' ; c2=     ;;
-      *)                  c1=     ; c2=     ;;
-    esac
-
-    # If the destination directory doesn't exist, create it.
-    # This is required at least for "lib/uniwidth/cjk.h".
-    dst_dir=`dirname "$cp_dst"`
-    test -d "$dst_dir" || mkdir -p "$dst_dir"
-
-    if test -z "$c1"; then
-      cmp -s "$cp_src" "$cp_dst" || {
-        # Copy the file first to get proper permissions if it
-        # doesn't already exist.  Then overwrite the copy.
-        echo "$me: cp -f $cp_src $cp_dst" &&
-        rm -f "$cp_dst" &&
-        cp "$cp_src" "$cp_dst-t" &&
-        sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst-t" &&
-        mv -f "$cp_dst-t" "$cp_dst"
-      }
-    else
-      # Copy the file first to get proper permissions if it
-      # doesn't already exist.  Then overwrite the copy.
-      cp "$cp_src" "$cp_dst-t" &&
-      (
-        echo "$c1-*- buffer-read-only: t -*- vi: set ro:$c2" &&
-        echo "${c1}DO NOT EDIT! GENERATED AUTOMATICALLY!$c2" &&
-        sed "s!$bt_regex/!!g" "$cp_src"
-      ) > $cp_dst-t &&
-      if cmp -s "$cp_dst-t" "$cp_dst"; then
-        rm -f "$cp_dst-t"
-      else
-        echo "$me: cp $cp_src $cp_dst # with edits" &&
-        mv -f "$cp_dst-t" "$cp_dst"
-      fi
-    fi
-  fi
-}
-
 version_controlled_file() {
-  dir=$1
+  parent=$1
   file=$2
-  found=no
-  if test -d CVS; then
-    grep -F "/$file/" $dir/CVS/Entries 2>/dev/null |
-             grep '^/[^/]*/[0-9]' > /dev/null && found=yes
-  elif test -d .git; then
-    git rm -n "$dir/$file" > /dev/null 2>&1 && found=yes
+  if test -d .git; then
+    git rm -n "$file" > /dev/null 2>&1
   elif test -d .svn; then
-    svn log -r HEAD "$dir/$file" > /dev/null 2>&1 && found=yes
+    svn log -r HEAD "$file" > /dev/null 2>&1
+  elif test -d CVS; then
+    grep -F "/${file##*/}/" "$parent/CVS/Entries" 2>/dev/null |
+             grep '^/[^/]*/[0-9]' > /dev/null
   else
-    echo "$me: no version control for $dir/$file?" >&2
+    warn_ "no version control for $file?"
+    false
   fi
-  test $found = yes
 }
 
-slurp() {
-  for dir in . `(cd $1 && find * -type d -print)`; do
-    copied=
-    sep=
-    for file in `ls -a $1/$dir`; do
-      case $file in
-      .|..) continue;;
-      # FIXME: should all file names starting with "." be ignored?
-      .*) continue;;
-      esac
-      test -d $1/$dir/$file && continue
-      for excluded_file in $excluded_files; do
-        test "$dir/$file" = "$excluded_file" && continue 2
-      done
-      if test $file = Makefile.am && test "X$gnulib_mk" != XMakefile.am; then
-        copied=$copied${sep}$gnulib_mk; sep=$nl
-        remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g"
-        sed "$remove_intl" $1/$dir/$file |
-        cmp - $dir/$gnulib_mk > /dev/null || {
-          echo "$me: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
-          rm -f $dir/$gnulib_mk &&
-          sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk &&
-          gnulib_mk_hook $dir/$gnulib_mk
-        }
-      elif { test "${2+set}" = set && test -r $2/$dir/$file; } ||
-           version_controlled_file $dir $file; then
-        echo "$me: $dir/$file overrides $1/$dir/$file"
-      else
-        copied=$copied$sep$file; sep=$nl
-        cp_mark_as_generated $1/$dir/$file $dir/$file
-      fi || exit
-    done
+# NOTE: we have to be careful to run both autopoint and libtoolize
+# before gnulib-tool, since gnulib-tool is likely to provide newer
+# versions of files "installed" by these two programs.
+# Then, *after* gnulib-tool (see below), we have to be careful to
+# run autoreconf in such a way that it does not run either of these
+# two just-pre-run programs.
 
-    for dot_ig in x $vc_ignore; do
-      test $dot_ig = x && continue
-      ig=$dir/$dot_ig
-      if test -n "$copied"; then
-        insert_vc_ignore $ig "$copied"
-        # If an ignored file name ends with .in.h, then also add
-        # the name with just ".h".  Many gnulib headers are generated,
-        # e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc.
-        # Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed
-        f=`echo "$copied" |
-          sed '
-            s/\.in\.h$/.h/
-            s/\.sin$/.sed/
-            s/\.y$/.c/
-            s/\.gperf$/.h/
-          '
-        `
-        insert_vc_ignore $ig "$f"
-
-        # For files like sys_stat.in.h and sys_time.in.h, record as
-        # ignorable the directory we might eventually create: sys/.
-        f=`echo "$copied"|sed 's/sys_.*\.in\.h$/sys/'`
-        insert_vc_ignore $ig "$f"
-      fi
-    done
-  done
-}
+# Import from gettext.
+with_gettext=yes
+grep '^[        ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
+    with_gettext=no
 
+if test $with_gettext = yes || test $use_libtool = 1; then
 
-# Create boot temporary directories to import from gnulib and gettext.
-rm -fr $bt $bt2 &&
-mkdir $bt $bt2 || exit
+  tempbase=.bootstrap$$
+  trap "rm -f $tempbase.0 $tempbase.1" 1 2 13 15
+
+  > $tempbase.0 > $tempbase.1 &&
+  find . ! -type d -print | sort > $tempbase.0 || exit
+
+  if test $with_gettext = yes; then
+    # Released autopoint has the tendency to install macros that have been
+    # obsoleted in current gnulib, so run this before gnulib-tool.
+    echo "$0: $AUTOPOINT --force"
+    $AUTOPOINT --force || exit
+  fi
+
+  # Autoreconf runs aclocal before libtoolize, which causes spurious
+  # warnings if the initial aclocal is confused by the libtoolized
+  # (or worse out-of-date) macro directory.
+  # libtoolize 1.9b added the --install option; but we support back
+  # to libtoolize 1.5.22, where the install action was default.
+  if test $use_libtool = 1; then
+    install=
+    case $($LIBTOOLIZE --help) in
+      *--install*) install=--install ;;
+    esac
+    echo "running: $LIBTOOLIZE $install --copy"
+    $LIBTOOLIZE $install --copy
+  fi
+
+  find . ! -type d -print | sort >$tempbase.1
+  old_IFS=$IFS
+  IFS=$nl
+  for file in $(comm -13 $tempbase.0 $tempbase.1); do
+    IFS=$old_IFS
+    parent=${file%/*}
+    version_controlled_file "$parent" "$file" || {
+      for dot_ig in x $vc_ignore; do
+        test $dot_ig = x && continue
+        ig=$parent/$dot_ig
+        insert_vc_ignore "$ig" "${file##*/}"
+      done
+    }
+  done
+  IFS=$old_IFS
+
+  rm -f $tempbase.0 $tempbase.1
+  trap - 1 2 13 15
+fi
 
 # Import from gnulib.
 
 gnulib_tool_options="\
  --import\
  --no-changelog\
- --aux-dir $bt/$build_aux\
- --doc-base $bt/$doc_base\
+ --aux-dir $build_aux\
+ --doc-base $doc_base\
  --lib $gnulib_name\
- --m4-base $bt/$m4_base/\
- --source-base $bt/$source_base/\
- --tests-base $bt/$tests_base\
+ --m4-base $m4_base/\
+ --source-base $source_base/\
+ --tests-base $tests_base\
  --local-dir $local_gl_dir\
  $gnulib_tool_option_extras\
 "
@@ -859,25 +868,14 @@ if test $use_libtool = 1; then
 fi
 echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
 $gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
-slurp $bt || exit
 
 for file in $gnulib_files; do
-  symlink_to_dir "$GNULIB_SRCDIR" $file || exit
+  symlink_to_dir "$GNULIB_SRCDIR" $file \
+    || die "failed to symlink $file"
 done
 
-
-# Import from gettext.
-with_gettext=yes
-grep '^[        ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
-    with_gettext=no
-
-if test $with_gettext = yes; then
-  echo "$0: (cd $bt2; ${AUTOPOINT-autopoint}) ..."
-  cp configure.ac $bt2 &&
-  (cd $bt2 && ${AUTOPOINT-autopoint} && rm configure.ac) &&
-  slurp $bt2 $bt || exit
-fi
-rm -fr $bt $bt2 || exit
+bootstrap_post_import_hook \
+  || die "bootstrap_post_import_hook failed"
 
 # Remove any dangling symlink matching "*.m4" or "*.[ch]" in some
 # gnulib-populated directories.  Such .m4 files would cause aclocal to fail.
@@ -891,37 +889,32 @@ find "$m4_base" "$source_base" \
   -depth \( -name '*.m4' -o -name '*.[ch]' \) \
   -type l -xtype l -delete > /dev/null 2>&1
 
-# Reconfigure, getting other files.
-
-# Skip autoheader if it's not needed.
-grep -E '^[     ]*AC_CONFIG_HEADERS?\>' configure.ac >/dev/null ||
-  AUTOHEADER=true
+# Invoke autoreconf with --force --install to ensure upgrades of tools
+# such as ylwrap.
+AUTORECONFFLAGS="--verbose --install --force -I $m4_base $ACLOCAL_FLAGS"
 
-for command in \
-  libtool \
-  "${ACLOCAL-aclocal} --force -I '$m4_base' $ACLOCAL_FLAGS" \
-  "${AUTOCONF-autoconf} --force" \
-  "${AUTOHEADER-autoheader} --force" \
-  "${AUTOMAKE-automake} --add-missing --copy --force-missing"
-do
-  if test "$command" = libtool; then
-    test $use_libtool = 0 \
-      && continue
-    command="${LIBTOOLIZE-libtoolize} -c -f"
-  fi
-  echo "$0: $command ..."
-  eval "$command" || exit
-done
+# Some systems (RHEL 5) are using ancient autotools, for which the
+# --no-recursive option had not been invented.  Detect that lack and
+# omit the option when it's not supported.  FIXME in 2017: remove this
+# hack when RHEL 5 autotools are updated, or when they become irrelevant.
+case $($AUTORECONF --help) in
+  *--no-recursive*) AUTORECONFFLAGS="$AUTORECONFFLAGS --no-recursive";;
+esac
 
+# Tell autoreconf not to invoke autopoint or libtoolize; they were run above.
+echo "running: AUTOPOINT=true LIBTOOLIZE=true $AUTORECONF $AUTORECONFFLAGS"
+AUTOPOINT=true LIBTOOLIZE=true $AUTORECONF $AUTORECONFFLAGS \
+  || die "autoreconf failed"
 
 # Get some extra files from gnulib, overriding existing files.
 for file in $gnulib_extra_files; do
   case $file in
   */INSTALL) dst=INSTALL;;
-  build-aux/*) dst=$build_aux/`expr "$file" : 'build-aux/\(.*\)'`;;
+  build-aux/*) dst=$build_aux/${file#build-aux/};;
   *) dst=$file;;
   esac
-  symlink_to_dir "$GNULIB_SRCDIR" $file $dst || exit
+  symlink_to_dir "$GNULIB_SRCDIR" $file $dst \
+    || die "failed to symlink $file"
 done
 
 if test $with_gettext = yes; then
@@ -937,7 +930,19 @@ if test $with_gettext = yes; then
       a\
           '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
     }
-  ' po/Makevars.template >po/Makevars || exit 1
+  ' po/Makevars.template >po/Makevars \
+    || die 'cannot generate po/Makevars'
+
+  # If the 'gettext' module is in use, grab the latest Makefile.in.in.
+  # If only the 'gettext-h' module is in use, assume autopoint already
+  # put the correct version of this file into place.
+  case $gnulib_modules in
+  *gettext-h*) ;;
+  *gettext*)
+    cp $GNULIB_SRCDIR/build-aux/po/Makefile.in.in po/Makefile.in.in \
+      || die "cannot create po/Makefile.in.in"
+    ;;
+  esac
 
   if test -d runtime-po; then
     # Similarly for runtime-po/Makevars, but not quite the same.
@@ -951,7 +956,8 @@ if test $with_gettext = yes; then
         a\
             '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+}
       }
-    ' po/Makevars.template >runtime-po/Makevars || exit 1
+    ' po/Makevars.template >runtime-po/Makevars \
+    || die 'cannot generate runtime-po/Makevars'
 
     # Copy identical files from po to runtime-po.
     (cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
index 0eb6b5b..3a64ec6 100755 (executable)
@@ -3,13 +3,13 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
     if 0;
 # Generate a release announcement message.
 
-my $VERSION = '2011-05-17 20:25'; # UTC
+my $VERSION = '2012-06-08 06:53'; # UTC
 # The definition above must lie within the first 8 lines in order
 # for the Emacs time-stamp write hook (at end) to update it.
 # If you change this file with Emacs, please let the write hook
 # do its job.  Otherwise, update this string manually.
 
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -30,13 +30,15 @@ use strict;
 
 use Getopt::Long;
 use Digest::MD5;
-use Digest::SHA1;
+eval { require Digest::SHA; }
+  or eval 'use Digest::SHA1';
 use POSIX qw(strftime);
 
 (my $ME = $0) =~ s|.*/||;
 
 my %valid_release_types = map {$_ => 1} qw (alpha beta stable);
 my @archive_suffixes = ('tar.gz', 'tar.bz2', 'tar.lzma', 'tar.xz');
+my $srcdir = '.';
 
 sub usage ($)
 {
@@ -44,14 +46,14 @@ sub usage ($)
   my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
   if ($exit_code != 0)
     {
-      print $STREAM "Try `$ME --help' for more information.\n";
+      print $STREAM "Try '$ME --help' for more information.\n";
     }
   else
     {
       my @types = sort keys %valid_release_types;
       print $STREAM <<EOF;
 Usage: $ME [OPTIONS]
-Generate an announcement message.
+Generate an announcement message.  Run this from builddir.
 
 OPTIONS:
 
@@ -66,7 +68,9 @@ These options must be specified:
 
 The following are optional:
 
-   --news=NEWS_FILE
+   --news=NEWS_FILE             include the NEWS section about this release
+                                from this NEWS_FILE; accumulates.
+   --srcdir=DIR                 where to find the NEWS_FILEs (default: $srcdir)
    --bootstrap-tools=TOOL_LIST  a comma-separated list of tools, e.g.,
                                 autoconf,automake,bison,gnulib
    --gnulib-version=VERSION     report VERSION as the gnulib version, where
@@ -102,13 +106,13 @@ sub sizes (@)
   my %res;
   foreach my $f (@file)
     {
-      my $cmd = "du --human $f";
+      my $cmd = "du -h $f";
       my $t = `$cmd`;
       # FIXME-someday: give a better diagnostic, a la $PROCESS_STATUS
       $@
-        and (warn "$ME: command failed: `$cmd'\n"), $fail = 1;
+        and (warn "command failed: '$cmd'\n"), $fail = 1;
       chomp $t;
-      $t =~ s/^([\d.]+[MkK]).*/${1}B/;
+      $t =~ s/^\s*([\d.]+[MkK]).*/${1}B/;
       $res{$f} = $t;
     }
   return $fail ? undef : %res;
@@ -181,7 +185,7 @@ sub print_news_deltas ($$$)
   my ($news_file, $prev_version, $curr_version) = @_;
 
   my $news_name = $news_file;
-  $news_name =~ s|^\./||;
+  $news_name =~ s|^\Q$srcdir\E/||;
 
   print "\n$news_name\n\n";
 
@@ -210,7 +214,7 @@ sub print_news_deltas ($$$)
       else
         {
           # This regexp must not match version numbers in NEWS items.
-          # For example, they might well say `introduced in 4.5.5',
+          # For example, they might well say "introduced in 4.5.5",
           # and we don't want that to match.
           $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$prev_version\E(?:[^\d.]|$)/o
             and last;
@@ -222,9 +226,9 @@ sub print_news_deltas ($$$)
   close NEWS;
 
   $in_items
-    or die "$ME: $news_file: no matching lines for `$curr_version'\n";
+    or die "$ME: $news_file: no matching lines for '$curr_version'\n";
   $found_news
-    or die "$ME: $news_file: no news item found for `$curr_version'\n";
+    or die "$ME: $news_file: no news item found for '$curr_version'\n";
 }
 
 sub print_changelog_deltas ($$)
@@ -269,7 +273,7 @@ sub print_changelog_deltas ($$)
   # Append any remaining ChangeLog files.
   push @reordered, sort keys %changelog;
 
-  # Remove leading `./'.
+  # Remove leading './'.
   @reordered = map { s!^\./!!; $_ } @reordered;
 
   print "\nChangeLog entries:\n\n";
@@ -280,11 +284,11 @@ sub print_changelog_deltas ($$)
 
   my $cmd = "cvs -n diff -u -r$prev_cvs_tag -rHEAD @reordered";
   open DIFF, '-|', $cmd
-    or die "$ME: cannot run `$cmd': $!\n";
+    or die "$ME: cannot run '$cmd': $!\n";
   # Print two types of lines, making minor changes:
-  # Lines starting with `+++ ', e.g.,
+  # Lines starting with '+++ ', e.g.,
   # +++ ChangeLog   22 Feb 2003 16:52:51 -0000      1.247
-  # and those starting with `+'.
+  # and those starting with '+'.
   # Don't print the others.
   my $prev_printed_line_empty = 1;
   while (defined (my $line = <DIFF>))
@@ -310,7 +314,7 @@ sub print_changelog_deltas ($$)
   # The exit code should be 1.
   # Allow in case there are no modified ChangeLog entries.
   $? == 256 || $? == 128
-    or warn "$ME: warning: `cmd' had unexpected exit code or signal ($?)\n";
+    or warn "warning: '$cmd' had unexpected exit code or signal ($?)\n";
 }
 
 sub get_tool_versions ($$)
@@ -329,7 +333,7 @@ sub get_tool_versions ($$)
           next;
         }
       # Assume that the last "word" on the first line of
-      # `tool --version` output is the version string.
+      # 'tool --version' output is the version string.
       my ($first_line, undef) = split ("\n", `$t --version`);
       if ($first_line =~ /.* (\d[\w.-]+)$/)
         {
@@ -340,7 +344,7 @@ sub get_tool_versions ($$)
         {
           defined $first_line
             and $first_line = '';
-          warn "$ME: $t: unexpected --version output\n:$first_line";
+          warn "$t: unexpected --version output\n:$first_line";
           $fail = 1;
         }
     }
@@ -368,6 +372,15 @@ sub get_tool_versions ($$)
   my $gnulib_version;
   my $print_checksums_p = 1;
 
+  # Reformat the warnings before displaying them.
+  local $SIG{__WARN__} = sub
+    {
+      my ($msg) = @_;
+      # Warnings from GetOptions.
+      $msg =~ s/Option (\w)/option --$1/;
+      warn "$ME: $msg";
+    };
+
   GetOptions
     (
      'mail-headers=s'     => \$mail_headers,
@@ -378,6 +391,7 @@ sub get_tool_versions ($$)
      'gpg-key-id=s'       => \$gpg_key_id,
      'url-directory=s'    => \@url_dir_list,
      'news=s'             => \@news_file,
+     'srcdir=s'           => \$srcdir,
      'bootstrap-tools=s'  => \$bootstrap_tools,
      'gnulib-version=s'   => \$gnulib_version,
      'print-checksums!'   => \$print_checksums_p,
@@ -388,32 +402,32 @@ sub get_tool_versions ($$)
     ) or usage 1;
 
   my $fail = 0;
-  # Ensure that sure each required option is specified.
+  # Ensure that each required option is specified.
   $release_type
-    or (warn "$ME: release type not specified\n"), $fail = 1;
+    or (warn "release type not specified\n"), $fail = 1;
   $package_name
-    or (warn "$ME: package name not specified\n"), $fail = 1;
+    or (warn "package name not specified\n"), $fail = 1;
   $prev_version
-    or (warn "$ME: previous version string not specified\n"), $fail = 1;
+    or (warn "previous version string not specified\n"), $fail = 1;
   $curr_version
-    or (warn "$ME: current version string not specified\n"), $fail = 1;
+    or (warn "current version string not specified\n"), $fail = 1;
   $gpg_key_id
-    or (warn "$ME: GnuPG key ID not specified\n"), $fail = 1;
+    or (warn "GnuPG key ID not specified\n"), $fail = 1;
   @url_dir_list
-    or (warn "$ME: URL directory name(s) not specified\n"), $fail = 1;
+    or (warn "URL directory name(s) not specified\n"), $fail = 1;
 
   my @tool_list = split ',', $bootstrap_tools;
 
   grep (/^gnulib$/, @tool_list) ^ defined $gnulib_version
-    and (warn "$ME: when specifying gnulib as a tool, you must also specify\n"
+    and (warn "when specifying gnulib as a tool, you must also specify\n"
         . "--gnulib-version=V, where V is the result of running git describe\n"
         . "in the gnulib source directory.\n"), $fail = 1;
 
   exists $valid_release_types{$release_type}
-    or (warn "$ME: `$release_type': invalid release type\n"), $fail = 1;
+    or (warn "'$release_type': invalid release type\n"), $fail = 1;
 
   @ARGV
-    and (warn "$ME: too many arguments:\n", join ("\n", @ARGV), "\n"),
+    and (warn "too many arguments:\n", join ("\n", @ARGV), "\n"),
       $fail = 1;
   $fail
     and usage 1;
@@ -453,28 +467,50 @@ FIXME: put comments here
 
 EOF
 
-  print_locations ("compressed sources", @url_dir_list, %size, @tarballs);
-  -f $xd
-    and print_locations ("xdelta diffs (useful? if so, "
-                         . "please tell bug-gnulib\@gnu.org)",
-                         @url_dir_list, %size, $xd);
-  my @sig_files = map { "$_.sig" } @tarballs;
-  print_locations ("GPG detached signatures[*]", @url_dir_list, %size,
-                   @sig_files);
+  if (@url_dir_list == 1 && @tarballs == 1)
+    {
+      # When there's only one tarball and one URL, use a more concise form.
+      my $m = "$url_dir_list[0]/$tarballs[0]";
+      print "Here are the compressed sources and a GPG detached signature[*]:\n"
+        . "  $m\n"
+        . "  $m.sig\n\n";
+    }
+  else
+    {
+      print_locations ("compressed sources", @url_dir_list, %size, @tarballs);
+      -f $xd
+        and print_locations ("xdelta diffs (useful? if so, "
+                             . "please tell bug-gnulib\@gnu.org)",
+                             @url_dir_list, %size, $xd);
+      my @sig_files = map { "$_.sig" } @tarballs;
+      print_locations ("GPG detached signatures[*]", @url_dir_list, %size,
+                       @sig_files);
+    }
+
   if ($url_dir_list[0] =~ "gnu\.org")
     {
-      print "To reduce load on the main server, use a mirror listed at:\n";
-      print "  http://www.gnu.org/order/ftp.html\n\n";
+      print "Use a mirror for higher download bandwidth:\n";
+      if (@tarballs == 1 && $url_dir_list[0] =~ m!http://ftp\.gnu\.org/gnu/!)
+        {
+          (my $m = "$url_dir_list[0]/$tarballs[0]")
+            =~ s!http://ftp\.gnu\.org/gnu/!http://ftpmirror\.gnu\.org/!;
+          print "  $m\n"
+              . "  $m.sig\n\n";
+
+        }
+      else
+        {
+          print "  http://www.gnu.org/order/ftp.html\n\n";
+        }
     }
 
   $print_checksums_p
     and print_checksums (@sizable);
 
   print <<EOF;
-[*] You can use either of the above signature files to verify that
-the corresponding file (without the .sig suffix) is intact.  First,
-be sure to download both the .sig file and the corresponding tarball.
-Then, run a command like this:
+[*] Use a .sig file to verify that the corresponding file (without the
+.sig suffix) is intact.  First, be sure to download both the .sig file
+and the corresponding tarball.  Then, run a command like this:
 
   gpg --verify $tarballs[0].sig
 
@@ -483,7 +519,7 @@ then run this command to import it:
 
   gpg --keyserver keys.gnupg.net --recv-keys $gpg_key_id
 
-and rerun the \`gpg --verify' command.
+and rerun the 'gpg --verify' command.
 EOF
 
   my @tool_versions = get_tool_versions (\@tool_list, $gnulib_version);
index bac481c..531136b 100755 (executable)
@@ -1,10 +1,9 @@
 #! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
+# Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2010-11-15.09; # UTC
+scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -40,7 +39,7 @@ file_conv=
 
 # func_file_conv build_file lazy
 # Convert a $build file to $host form and store it in $file
-# Currently only supports Win32 hosts. If the determined conversion
+# Currently only supports Windows hosts. If the determined conversion
 # type is listed in (the comma separated) LAZY, no conversion will
 # take place.
 func_file_conv ()
@@ -79,6 +78,53 @@ func_file_conv ()
   esac
 }
 
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+  func_file_conv "$1"
+  if test -z "$lib_path"; then
+    lib_path=$file
+  else
+    lib_path="$lib_path;$file"
+  fi
+  linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+  lib=$1
+  found=no
+  save_IFS=$IFS
+  IFS=';'
+  for dir in $lib_path $LIB
+  do
+    IFS=$save_IFS
+    if $shared && test -f "$dir/$lib.dll.lib"; then
+      found=yes
+      lib=$dir/$lib.dll.lib
+      break
+    fi
+    if test -f "$dir/$lib.lib"; then
+      found=yes
+      lib=$dir/$lib.lib
+      break
+    fi
+    if test -f "$dir/lib$lib.a"; then
+      found=yes
+      lib=$dir/lib$lib.a
+      break
+    fi
+  done
+  IFS=$save_IFS
+
+  if test "$found" != yes; then
+    lib=$lib.lib
+  fi
+}
+
 # func_cl_wrapper cl arg...
 # Adjust compile command to suit cl
 func_cl_wrapper ()
@@ -94,7 +140,7 @@ func_cl_wrapper ()
     else
       case $1 in
        -o)
-         # configure might choose to run compile as `compile cc -o foo foo.c'.
+         # configure might choose to run compile as 'compile cc -o foo foo.c'.
          eat=1
          case $2 in
            *.o | *.[oO][bB][jJ])
@@ -109,43 +155,34 @@ func_cl_wrapper ()
              ;;
          esac
          ;;
+       -I)
+         eat=1
+         func_file_conv "$2" mingw
+         set x "$@" -I"$file"
+         shift
+         ;;
        -I*)
          func_file_conv "${1#-I}" mingw
          set x "$@" -I"$file"
          shift
          ;;
+       -l)
+         eat=1
+         func_cl_dashl "$2"
+         set x "$@" "$lib"
+         shift
+         ;;
        -l*)
-         lib=${1#-l}
-         found=no
-         save_IFS=$IFS
-         IFS=';'
-         for dir in $lib_path $LIB
-         do
-           IFS=$save_IFS
-           if $shared && test -f "$dir/$lib.dll.lib"; then
-             found=yes
-             set x "$@" "$dir/$lib.dll.lib"
-             break
-           fi
-           if test -f "$dir/$lib.lib"; then
-             found=yes
-             set x "$@" "$dir/$lib.lib"
-             break
-           fi
-         done
-         IFS=$save_IFS
-
-         test "$found" != yes && set x "$@" "$lib.lib"
+         func_cl_dashl "${1#-l}"
+         set x "$@" "$lib"
          shift
          ;;
+       -L)
+         eat=1
+         func_cl_dashL "$2"
+         ;;
        -L*)
-         func_file_conv "${1#-L}"
-         if test -z "$lib_path"; then
-           lib_path=$file
-         else
-           lib_path="$lib_path;$file"
-         fi
-         linker_opts="$linker_opts -LIBPATH:$file"
+         func_cl_dashL "${1#-L}"
          ;;
        -static)
          shared=false
@@ -196,19 +233,19 @@ eat=
 
 case $1 in
   '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
      exit 1;
      ;;
   -h | --h*)
     cat <<\EOF
 Usage: compile [--help] [--version] PROGRAM [ARGS]
 
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
 arguments, and rename the output as expected.
 
 If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
+right script to run: please start by reading the file 'INSTALL'.
 
 Report bugs to <bug-automake@gnu.org>.
 EOF
@@ -233,8 +270,8 @@ do
   else
     case $1 in
       -o)
-       # configure might choose to run compile as `compile cc -o foo foo.c'.
-       # So we strip `-o arg' only if arg is an object.
+       # configure might choose to run compile as 'compile cc -o foo foo.c'.
+       # So we strip '-o arg' only if arg is an object.
        eat=1
        case $2 in
          *.o | *.obj)
@@ -261,10 +298,10 @@ do
 done
 
 if test -z "$ofile" || test -z "$cfile"; then
-  # If no `-o' option was seen then we might have been invoked from a
+  # If no '-o' option was seen then we might have been invoked from a
   # pattern rule where we don't need one.  That is ok -- this is a
   # normal compilation that the losing compiler can handle.  If no
-  # `.c' file was seen then we are probably linking.  That is also
+  # '.c' file was seen then we are probably linking.  That is also
   # ok.
   exec "$@"
 fi
@@ -273,7 +310,7 @@ fi
 cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
 
 # Create the lock directory.
-# Note: use `[/\\:.-]' here to ensure that we don't use the same name
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
 # that we are using for the .o file.  Also, base the name on the expected
 # object file name, since that is what matters with a parallel build.
 lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
index f7dd69e..f475ceb 100755 (executable)
@@ -1,14 +1,12 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011 Free Software Foundation, Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
-timestamp='2011-08-20'
+timestamp='2013-02-12'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful, but
@@ -17,26 +15,22 @@ timestamp='2011-08-20'
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner.  Please send patches (context
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
-# entry.
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
 #
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
+# Originally written by Per Bothner.
 #
 # You can get the latest version of this script from:
 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+
 
 me=`echo "$0" | sed -e 's,.*/,,'`
 
@@ -56,9 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -145,7 +137,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:NetBSD:*:*)
        # NetBSD (nbsd) targets should (where applicable) match one or
-       # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+       # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
        # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
        # switched to ELF, *-*-netbsd* would select the old
        # object file format.  This provides both forward
@@ -202,6 +194,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
        echo "${machine}-${os}${release}"
        exit ;;
+    *:Bitrig:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+       echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+       exit ;;
     *:OpenBSD:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
        echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
@@ -304,7 +300,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
        echo arm-acorn-riscix${UNAME_RELEASE}
        exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
+    arm*:riscos:*:*|arm*:RISCOS:*:*)
        echo arm-unknown-riscos
        exit ;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
@@ -803,9 +799,15 @@ EOF
     i*:CYGWIN*:*)
        echo ${UNAME_MACHINE}-pc-cygwin
        exit ;;
+    *:MINGW64*:*)
+       echo ${UNAME_MACHINE}-pc-mingw64
+       exit ;;
     *:MINGW*:*)
        echo ${UNAME_MACHINE}-pc-mingw32
        exit ;;
+    i*:MSYS*:*)
+       echo ${UNAME_MACHINE}-pc-msys
+       exit ;;
     i*:windows32*:*)
        # uname -m includes "-pc" on this system.
        echo ${UNAME_MACHINE}-mingw32
@@ -860,6 +862,13 @@ EOF
     i*86:Minix:*:*)
        echo ${UNAME_MACHINE}-pc-minix
        exit ;;
+    aarch64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    aarch64_be:Linux:*:*)
+       UNAME_MACHINE=aarch64_be
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
     alpha:Linux:*:*)
        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
          EV5)   UNAME_MACHINE=alphaev5 ;;
@@ -894,13 +903,16 @@ EOF
        echo ${UNAME_MACHINE}-unknown-linux-gnu
        exit ;;
     cris:Linux:*:*)
-       echo cris-axis-linux-gnu
+       echo ${UNAME_MACHINE}-axis-linux-gnu
        exit ;;
     crisv32:Linux:*:*)
-       echo crisv32-axis-linux-gnu
+       echo ${UNAME_MACHINE}-axis-linux-gnu
        exit ;;
     frv:Linux:*:*)
-       echo frv-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    hexagon:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
        exit ;;
     i*86:Linux:*:*)
        LIBC=gnu
@@ -941,8 +953,11 @@ EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
        test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
        ;;
+    or1k:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
     or32:Linux:*:*)
-       echo or32-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
        exit ;;
     padre:Linux:*:*)
        echo sparc-unknown-linux-gnu
@@ -983,7 +998,7 @@ EOF
        echo ${UNAME_MACHINE}-dec-linux-gnu
        exit ;;
     x86_64:Linux:*:*)
-       echo x86_64-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
        exit ;;
     xtensa*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -1190,6 +1205,9 @@ EOF
     BePC:Haiku:*:*)    # Haiku running on Intel PC compatible.
        echo i586-pc-haiku
        exit ;;
+    x86_64:Haiku:*:*)
+       echo x86_64-unknown-haiku
+       exit ;;
     SX-4:SUPER-UX:*:*)
        echo sx4-nec-superux${UNAME_RELEASE}
        exit ;;
@@ -1245,7 +1263,7 @@ EOF
     NEO-?:NONSTOP_KERNEL:*:*)
        echo neo-tandem-nsk${UNAME_RELEASE}
        exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
+    NSE-*:NONSTOP_KERNEL:*:*)
        echo nse-tandem-nsk${UNAME_RELEASE}
        exit ;;
     NSR-?:NONSTOP_KERNEL:*:*)
@@ -1314,11 +1332,11 @@ EOF
     i*86:AROS:*:*)
        echo ${UNAME_MACHINE}-pc-aros
        exit ;;
+    x86_64:VMkernel:*:*)
+       echo ${UNAME_MACHINE}-unknown-esx
+       exit ;;
 esac
 
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
 eval $set_cc_for_build
 cat >$dummy.c <<EOF
 #ifdef _SEQUENT_
index 8bd7f5d..c38b914 100755 (executable)
@@ -2,7 +2,7 @@
 # Output a system dependent set of variables, describing how to set the
 # run time search path of shared libraries in an executable.
 #
-#   Copyright 1996-2011 Free Software Foundation, Inc.
+#   Copyright 1996-2013 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
@@ -25,7 +25,7 @@
 #   known workaround is to choose shorter directory names for the build
 #   directory and/or the installation directory.
 
-# All known linkers require a `.a' archive for static linking (except MSVC,
+# All known linkers require a '.a' archive for static linking (except MSVC,
 # which needs '.lib').
 libext=a
 shrext=.so
index da19a88..872199a 100755 (executable)
@@ -1,38 +1,31 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011 Free Software Foundation, Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
-timestamp='2011-08-23'
+timestamp='2013-02-12'
 
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 #
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -75,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -125,13 +116,17 @@ esac
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
   knetbsd*-gnu* | netbsd*-gnu* | \
   kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
+  android-linux)
+    os=-linux-android
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+    ;;
   *)
     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
     if [ $basic_machine != $1 ]
@@ -154,7 +149,7 @@ case $os in
        -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
        -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
        -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple | -axis | -knuth | -cray | -microblaze)
+       -apple | -axis | -knuth | -cray | -microblaze*)
                os=
                basic_machine=$1
                ;;
@@ -223,6 +218,12 @@ case $os in
        -isc*)
                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                ;;
+       -lynx*178)
+               os=-lynxos178
+               ;;
+       -lynx*5)
+               os=-lynxos5
+               ;;
        -lynx*)
                os=-lynxos
                ;;
@@ -247,22 +248,27 @@ case $basic_machine in
        # Some are omitted here because they have special meanings below.
        1750a | 580 \
        | a29k \
+       | aarch64 | aarch64_be \
        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
        | am33_2.0 \
-       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-        | be32 | be64 \
+       | arc \
+       | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+       | avr | avr32 \
+       | be32 | be64 \
        | bfin \
        | c4x | clipper \
        | d10v | d30v | dlx | dsp16xx \
+       | epiphany \
        | fido | fr30 | frv \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+       | hexagon \
        | i370 | i860 | i960 | ia64 \
        | ip2k | iq2000 \
        | le32 | le64 \
        | lm32 \
        | m32c | m32r | m32rle | m68000 | m68k | m88k \
-       | maxq | mb | microblaze | mcore | mep | metag \
+       | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
        | mips | mipsbe | mipseb | mipsel | mipsle \
        | mips16 \
        | mips64 | mips64el \
@@ -280,20 +286,21 @@ case $basic_machine in
        | mipsisa64r2 | mipsisa64r2el \
        | mipsisa64sb1 | mipsisa64sb1el \
        | mipsisa64sr71k | mipsisa64sr71kel \
+       | mipsr5900 | mipsr5900el \
        | mipstx39 | mipstx39el \
        | mn10200 | mn10300 \
        | moxie \
        | mt \
        | msp430 \
        | nds32 | nds32le | nds32be \
-       | nios | nios2 \
+       | nios | nios2 | nios2eb | nios2el \
        | ns16k | ns32k \
        | open8 \
-       | or32 \
+       | or1k | or32 \
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
        | pyramid \
-       | rx \
+       | rl78 | rx \
        | score \
        | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
        | sh64 | sh64le \
@@ -317,8 +324,7 @@ case $basic_machine in
        c6x)
                basic_machine=tic6x-unknown
                ;;
-       m6811 | m68hc11 | m6812 | m68hc12 | picochip)
-               # Motorola 68HC11/12.
+       m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
                basic_machine=$basic_machine-unknown
                os=-none
                ;;
@@ -331,7 +337,10 @@ case $basic_machine in
        strongarm | thumb | xscale)
                basic_machine=arm-unknown
                ;;
-
+       xgate)
+               basic_machine=$basic_machine-unknown
+               os=-none
+               ;;
        xscaleeb)
                basic_machine=armeb-unknown
                ;;
@@ -354,6 +363,7 @@ case $basic_machine in
        # Recognize the basic CPU types with company name.
        580-* \
        | a29k-* \
+       | aarch64-* | aarch64_be-* \
        | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
        | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
        | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
@@ -368,13 +378,15 @@ case $basic_machine in
        | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+       | hexagon-* \
        | i*86-* | i860-* | i960-* | ia64-* \
        | ip2k-* | iq2000-* \
        | le32-* | le64-* \
        | lm32-* \
        | m32c-* | m32r-* | m32rle-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+       | microblaze-* | microblazeel-* \
        | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
        | mips16-* \
        | mips64-* | mips64el-* \
@@ -392,19 +404,20 @@ case $basic_machine in
        | mipsisa64r2-* | mipsisa64r2el-* \
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+       | mipsr5900-* | mipsr5900el-* \
        | mipstx39-* | mipstx39el-* \
        | mmix-* \
        | mt-* \
        | msp430-* \
        | nds32-* | nds32le-* | nds32be-* \
-       | nios-* | nios2-* \
+       | nios-* | nios2-* | nios2eb-* | nios2el-* \
        | none-* | np1-* | ns16k-* | ns32k-* \
        | open8-* \
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
        | pyramid-* \
-       | romp-* | rs6000-* | rx-* \
+       | rl78-* | romp-* | rs6000-* | rx-* \
        | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
        | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
        | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
@@ -716,7 +729,6 @@ case $basic_machine in
        i370-ibm* | ibm*)
                basic_machine=i370-ibm
                ;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
        i*86v32)
                basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
                os=-sysv32
@@ -774,9 +786,13 @@ case $basic_machine in
                basic_machine=ns32k-utek
                os=-sysv
                ;;
-       microblaze)
+       microblaze*)
                basic_machine=microblaze-xilinx
                ;;
+       mingw64)
+               basic_machine=x86_64-pc
+               os=-mingw64
+               ;;
        mingw32)
                basic_machine=i386-pc
                os=-mingw32
@@ -813,6 +829,10 @@ case $basic_machine in
        ms1-*)
                basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
                ;;
+       msys)
+               basic_machine=i386-pc
+               os=-msys
+               ;;
        mvs)
                basic_machine=i370-ibm
                os=-mvs
@@ -1001,7 +1021,11 @@ case $basic_machine in
                basic_machine=i586-unknown
                os=-pw32
                ;;
-       rdos)
+       rdos | rdos64)
+               basic_machine=x86_64-pc
+               os=-rdos
+               ;;
+       rdos32)
                basic_machine=i386-pc
                os=-rdos
                ;;
@@ -1328,21 +1352,21 @@ case $os in
        -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
              | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-             | -sym* | -kopensolaris* \
+             | -sym* | -kopensolaris* | -plan9* \
              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
              | -aos* | -aros* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
              | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-             | -openbsd* | -solidbsd* \
+             | -bitrig* | -openbsd* | -solidbsd* \
              | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
              | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
              | -chorusos* | -chorusrdb* | -cegcc* \
-             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -linux-android* \
-             | -linux-newlib* | -linux-uclibc* \
+             | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+             | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+             | -linux-newlib* | -linux-musl* | -linux-uclibc* \
              | -uxpv* | -beos* | -mpeix* | -udk* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1474,9 +1498,6 @@ case $os in
        -aros*)
                os=-aros
                ;;
-       -kaos*)
-               os=-kaos
-               ;;
        -zvmoe)
                os=-zvmoe
                ;;
@@ -1525,6 +1546,9 @@ case $basic_machine in
        c4x-* | tic4x-*)
                os=-coff
                ;;
+       hexagon-*)
+               os=-elf
+               ;;
        tic54x-*)
                os=-coff
                ;;
@@ -1552,9 +1576,6 @@ case $basic_machine in
                ;;
        m68000-sun)
                os=-sunos3
-               # This also exists in the configure program, but was not the
-               # default.
-               # os=-sunos4
                ;;
        m68*-cisco)
                os=-aout
@@ -1568,6 +1589,9 @@ case $basic_machine in
        mips*-*)
                os=-elf
                ;;
+       or1k-*)
+               os=-elf
+               ;;
        or32-*)
                os=-coff
                ;;
index 9825d56..91d4bf8 100755 (executable)
@@ -1,10 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2011-04-16.09; # UTC
+scriptversion=2012-10-18.11; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -28,9 +27,9 @@ scriptversion=2011-04-16.09; # UTC
 
 case $1 in
   '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
+    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+    exit 1;
+    ;;
   -h | --h*)
     cat <<\EOF
 Usage: depcomp [--help] [--version] PROGRAM [ARGS]
@@ -40,11 +39,11 @@ as side-effects.
 
 Environment variables:
   depmode     Dependency tracking mode.
-  source      Source file read by `PROGRAMS ARGS'.
-  object      Object file output by `PROGRAMS ARGS'.
+  source      Source file read by 'PROGRAMS ARGS'.
+  object      Object file output by 'PROGRAMS ARGS'.
   DEPDIR      directory where to store dependencies.
   depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputing dependencies.
+  tmpdepfile  Temporary file to use when outputting dependencies.
   libtool     Whether libtool is used (yes/no).
 
 Report bugs to <bug-automake@gnu.org>.
@@ -57,6 +56,66 @@ EOF
     ;;
 esac
 
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'.  Note that this directory component will
+# be either empty or ending with a '/' character.  This is deliberate.
+set_dir_from ()
+{
+  case $1 in
+    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+      *) dir=;;
+  esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+  echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+  # If the compiler actually managed to produce a dependency file,
+  # post-process it.
+  if test -f "$tmpdepfile"; then
+    # Each line is of the form 'foo.o: dependency.h'.
+    # Do two passes, one to just change these to
+    #   $object: dependency.h
+    # and one to simply output
+    #   dependency.h:
+    # which is needed to avoid the deleted-header problem.
+    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+    } > "$depfile"
+    rm -f "$tmpdepfile"
+  else
+    make_dummy_depfile
+  fi
+}
+
+# A tabulation character.
+tab='  '
+# A newline character.
+nl='
+'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
+
 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
   exit 1
@@ -69,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
 
 rm -f "$tmpdepfile"
 
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
 # Some modes work just like other modes, but use different flags.  We
 # parameterize here, but still list the modes in the big case below,
 # to make depend.m4 easier to write.  Note that we *cannot* use a case
@@ -80,26 +142,32 @@ if test "$depmode" = hp; then
 fi
 
 if test "$depmode" = dashXmstdout; then
-   # This is just like dashmstdout with a different argument.
-   dashmflag=-xM
-   depmode=dashmstdout
+  # This is just like dashmstdout with a different argument.
+  dashmflag=-xM
+  depmode=dashmstdout
 fi
 
 cygpath_u="cygpath -u -f -"
 if test "$depmode" = msvcmsys; then
-   # This is just like msvisualcpp but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u='sed s,\\\\,/,g'
-   depmode=msvisualcpp
+  # This is just like msvisualcpp but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvisualcpp
 fi
 
 if test "$depmode" = msvc7msys; then
-   # This is just like msvc7 but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u='sed s,\\\\,/,g'
-   depmode=msvc7
+  # This is just like msvc7 but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+  gccflag=-qmakedep=gcc,-MF
+  depmode=gcc
 fi
 
 case "$depmode" in
@@ -122,8 +190,7 @@ gcc3)
   done
   "$@"
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -131,13 +198,17 @@ gcc3)
   ;;
 
 gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
 ## There are various ways to get dependency output from gcc.  Here's
 ## why we pick this rather obscure method:
 ## - Don't want to use -MD because we'd like the dependencies to end
 ##   up in a subdir.  Having to rename by hand is ugly.
 ##   (We might end up doing this anyway to support other compilers.)
 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).
+##   -MM, not -M (despite what the docs say).  Also, it might not be
+##   supported by the other compilers which use the 'gcc' depmode.
 ## - Using -M directly means running the compiler twice (even worse
 ##   than renaming).
   if test -z "$gccflag"; then
@@ -145,33 +216,31 @@ gcc)
   fi
   "$@" -Wp,"$gccflag$tmpdepfile"
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
+  # The second -e expression handles DOS-style file names with drive
+  # letters.
   sed -e 's/^[^:]*: / /' \
       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
+## This next piece of magic avoids the "deleted header file" problem.
 ## The problem is that when a header file which appears in a .P file
 ## is deleted, the dependency causes make to die (because there is
 ## typically no way to rebuild the header).  We avoid this by adding
 ## dummy dependencies for each header file.  Too bad gcc doesn't do
 ## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
+## Some versions of gcc put a space before the ':'.  On the theory
 ## that the space means something, we add a space to the output as
 ## well.  hp depmode also adds that space, but also prefixes the VPATH
 ## to the object.  Take care to not repeat it in the output.
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
-      | sed -e 's/$/ :/' >> "$depfile"
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -182,59 +251,21 @@ hp)
   exit 1
   ;;
 
-sgi)
-  if test "$libtool" = yes; then
-    "$@" "-Wp,-MDupdate,$tmpdepfile"
-  else
-    "$@" -MDupdate "$tmpdepfile"
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-
-  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
-    echo "$object : \\" > "$depfile"
-
-    # Clip off the initial element (the dependent).  Don't try to be
-    # clever and replace this with sed code, as IRIX sed won't handle
-    # lines with more than a fixed number of characters (4096 in
-    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
-    # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
-    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> "$depfile"
-    echo >> "$depfile"
-
-    # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
-   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
+xlc)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
   ;;
 
 aix)
   # The C for AIX Compiler uses -M and outputs the dependencies
   # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # current directory.  Also, the AIX compiler puts '$object:' at the
   # start of each line; $object doesn't have directory information.
   # Version 6 uses the directory in both cases.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  set_dir_from "$object"
+  set_base_from "$object"
   if test "$libtool" = yes; then
     tmpdepfile1=$dir$base.u
     tmpdepfile2=$base.u
@@ -247,9 +278,7 @@ aix)
     "$@" -M
   fi
   stat=$?
-
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
     exit $stat
   fi
@@ -258,44 +287,100 @@ aix)
   do
     test -f "$tmpdepfile" && break
   done
-  if test -f "$tmpdepfile"; then
-    # Each line is of the form `foo.o: dependent.h'.
-    # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
-    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    # That's a tab and a space in the [].
-    sed -e 's,^.*\.[a-z]*:[     ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
+  aix_post_process_depfile
+  ;;
+
+tcc)
+  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+  # FIXME: That version still under development at the moment of writing.
+  #        Make that this statement remains true also for stable, released
+  #        versions.
+  # It will wrap lines (doesn't matter whether long or short) with a
+  # trailing '\', as in:
+  #
+  #   foo.o : \
+  #    foo.c \
+  #    foo.h \
+  #
+  # It will put a trailing '\' even on the last line, and will use leading
+  # spaces rather than leading tabs (at least since its commit 0394caf7
+  # "Emit spaces for -MD").
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
   fi
+  rm -f "$depfile"
+  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+  # We have to change lines of the first kind to '$object: \'.
+  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+  # And for each line of the second kind, we have to emit a 'dep.h:'
+  # dummy dependency, to avoid the deleted-header problem.
+  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
-icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
-  # ICC 7.0 will fill foo.d with something like
-  #    foo.o: sub/foo.c
-  #    foo.o: sub/foo.h
-  # which is wrong.  We want:
-  #    sub/foo.o: sub/foo.c
-  #    sub/foo.o: sub/foo.h
-  #    sub/foo.c:
-  #    sub/foo.h:
-  # ICC 7.1 will output
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file.  A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+  # Portland's C compiler understands '-MD'.
+  # Will always output deps to 'file.d' where file is the root name of the
+  # source file under compilation, even if file resides in a subdirectory.
+  # The object file name does not affect the name of the '.d' file.
+  # pgcc 10.2 will output
   #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using \ :
+  # and will wrap long lines using '\' :
   #    foo.o: sub/foo.c ... \
   #     sub/foo.h ... \
   #     ...
+  set_dir_from "$object"
+  # Use the source, not the object, to determine the base name, since
+  # that's sadly what pgcc will do too.
+  set_base_from "$source"
+  tmpdepfile=$base.d
+
+  # For projects that build the same source file twice into different object
+  # files, the pgcc approach of using the *source* file root name can cause
+  # problems in parallel builds.  Use a locking strategy to avoid stomping on
+  # the same $tmpdepfile.
+  lockdir=$base.d-lock
+  trap "
+    echo '$0: caught signal, cleaning up...' >&2
+    rmdir '$lockdir'
+    exit 1
+  " 1 2 13 15
+  numtries=100
+  i=$numtries
+  while test $i -gt 0; do
+    # mkdir is a portable test-and-set.
+    if mkdir "$lockdir" 2>/dev/null; then
+      # This process acquired the lock.
+      "$@" -MD
+      stat=$?
+      # Release the lock.
+      rmdir "$lockdir"
+      break
+    else
+      # If the lock is being held by a different process, wait
+      # until the winning process is done or we timeout.
+      while test -d "$lockdir" && test $i -gt 0; do
+        sleep 1
+        i=`expr $i - 1`
+      done
+    fi
+    i=`expr $i - 1`
+  done
+  trap - 1 2 13 15
+  if test $i -le 0; then
+    echo "$0: failed to acquire lock after $numtries attempts" >&2
+    echo "$0: check lockdir '$lockdir'" >&2
+    exit 1
+  fi
 
-  "$@" -MD -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -307,8 +392,8 @@ icc)
   sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
   # Some versions of the HPUX 10.20 sed can't process this invocation
   # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+    sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -319,9 +404,8 @@ hp2)
   # 'foo.d', which lands next to the object file, wherever that
   # happens to be.
   # Much of this is similar to the tru64 case; see comments there.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  set_dir_from  "$object"
+  set_base_from "$object"
   if test "$libtool" = yes; then
     tmpdepfile1=$dir$base.d
     tmpdepfile2=$dir.libs/$base.d
@@ -332,8 +416,7 @@ hp2)
     "$@" +Maked
   fi
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
      rm -f "$tmpdepfile1" "$tmpdepfile2"
      exit $stat
   fi
@@ -343,77 +426,61 @@ hp2)
     test -f "$tmpdepfile" && break
   done
   if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
+    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
+    # Add 'dependent.h:' lines.
     sed -ne '2,${
-              s/^ *//
-              s/ \\*$//
-              s/$/:/
-              p
-            }' "$tmpdepfile" >> "$depfile"
+               s/^ *//
+               s/ \\*$//
+               s/$/:/
+               p
+             }' "$tmpdepfile" >> "$depfile"
   else
-    echo "#dummy" > "$depfile"
+    make_dummy_depfile
   fi
   rm -f "$tmpdepfile" "$tmpdepfile2"
   ;;
 
 tru64)
-   # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
-   # Subdirectories are respected.
-   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-   test "x$dir" = "x$object" && dir=
-   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
-   if test "$libtool" = yes; then
-      # With Tru64 cc, shared objects can also be used to make a
-      # static library.  This mechanism is used in libtool 1.4 series to
-      # handle both shared and static libraries in a single compilation.
-      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
-      #
-      # With libtool 1.5 this exception was removed, and libtool now
-      # generates 2 separate objects for the 2 libraries.  These two
-      # compilations output dependencies in $dir.libs/$base.o.d and
-      # in $dir$base.o.d.  We have to check for both files, because
-      # one of the two compilations can be disabled.  We should prefer
-      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-      # automatically cleaned when .libs/ is deleted, while ignoring
-      # the former would cause a distcleancheck panic.
-      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
-      tmpdepfile2=$dir$base.o.d          # libtool 1.5
-      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
-      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
-      "$@" -Wc,-MD
-   else
-      tmpdepfile1=$dir$base.o.d
-      tmpdepfile2=$dir$base.d
-      tmpdepfile3=$dir$base.d
-      tmpdepfile4=$dir$base.d
-      "$@" -MD
-   fi
-
-   stat=$?
-   if test $stat -eq 0; then :
-   else
-      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-      exit $stat
-   fi
-
-   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-   do
-     test -f "$tmpdepfile" && break
-   done
-   if test -f "$tmpdepfile"; then
-      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a tab and a space in the [].
-      sed -e 's,^.*\.[a-z]*:[   ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-   else
-      echo "#dummy" > "$depfile"
-   fi
-   rm -f "$tmpdepfile"
-   ;;
+  # The Tru64 compiler uses -MD to generate dependencies as a side
+  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+  # dependencies in 'foo.d' instead, so we check for that too.
+  # Subdirectories are respected.
+  set_dir_from  "$object"
+  set_base_from "$object"
+
+  if test "$libtool" = yes; then
+    # Libtool generates 2 separate objects for the 2 libraries.  These
+    # two compilations output dependencies in $dir.libs/$base.o.d and
+    # in $dir$base.o.d.  We have to check for both files, because
+    # one of the two compilations can be disabled.  We should prefer
+    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+    # automatically cleaned when .libs/ is deleted, while ignoring
+    # the former would cause a distcleancheck panic.
+    tmpdepfile1=$dir$base.o.d          # libtool 1.5
+    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
+    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
+    "$@" -Wc,-MD
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    tmpdepfile3=$dir$base.d
+    "$@" -MD
+  fi
+
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  # Same post-processing that is required for AIX mode.
+  aix_post_process_depfile
+  ;;
 
 msvc7)
   if test "$libtool" = yes; then
@@ -424,8 +491,7 @@ msvc7)
   "$@" $showIncludes > "$tmpdepfile"
   stat=$?
   grep -v '^Note: including file: ' "$tmpdepfile"
-  if test "$stat" = 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -443,11 +509,11 @@ msvc7)
   p
 }' | $cygpath_u | sort -u | sed -n '
 s/ /\\ /g
-s/\(.*\)/      \1 \\/p
+s/\(.*\)/'"$tab"'\1 \\/p
 s/.\(.*\) \\/\1:/
 H
 $ {
-  s/.*/        /
+  s/.*/'"$tab"'/
   G
   p
 }' >> "$depfile"
@@ -478,7 +544,7 @@ dashmstdout)
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -498,18 +564,18 @@ dashmstdout)
   done
 
   test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
+  # Require at least two characters before searching for ':'
   # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this sed invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -562,11 +628,12 @@ makedepend)
   # makedepend may prepend the VPATH from the source file name to the object.
   # No need to regex-escape $object, excess matching of '.' is harmless.
   sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process the last invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed '1,2d' "$tmpdepfile" \
+    | tr ' ' "$nl" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile" "$tmpdepfile".bak
   ;;
 
@@ -583,7 +650,7 @@ cpp)
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -602,10 +669,10 @@ cpp)
     esac
   done
 
-  "$@" -E |
-    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-    sed '$ s: \\$::' > "$tmpdepfile"
+  "$@" -E \
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+    sed '$ s: \\$::' > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
   cat < "$tmpdepfile" >> "$depfile"
@@ -637,23 +704,23 @@ msvisualcpp)
       shift
       ;;
     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-       set fnord "$@"
-       shift
-       shift
-       ;;
+        set fnord "$@"
+        shift
+        shift
+        ;;
     *)
-       set fnord "$@" "$arg"
-       shift
-       shift
-       ;;
+        set fnord "$@" "$arg"
+        shift
+        shift
+        ;;
     esac
   done
   "$@" -E 2>/dev/null |
   sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::     \1 \\:p' >> "$depfile"
-  echo "       " >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+  echo "$tab" >> "$depfile"
   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
index b1eaf88..0bd8ce8 100755 (executable)
@@ -3,11 +3,11 @@
 # controlled .prev-version file, automate the procedure by which we record
 # the date, release-type and version string in the NEWS file.  That commit
 # will serve to identify the release, so apply a signed tag to it as well.
-VERSION=2011-05-04.11 # UTC
+VERSION=2012-08-01.09 # UTC
 
 # Note: this is a bash script (could be zsh or dash)
 
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -24,31 +24,32 @@ VERSION=2011-05-04.11 # UTC
 
 # Written by Jim Meyering
 
-ME=`basename "$0"`
+ME=$(basename "$0")
 warn() { printf '%s: %s\n' "$ME" "$*" >&2; }
 die() { warn "$*"; exit 1; }
 
-help_version()
+help()
 {
-  case $1 in
-    --help) cat <<EOF
+  cat <<EOF
 Usage: $ME [OPTION...] VERSION RELEASE_TYPE
 
-Run this script to perform the final pre-release NEWS update
-in which the date, release-type and version string are recorded.
-Commit that result with a log entry marking the release, and apply
-a signed tag.  Run it from your project's top-level directory.
+Run this script from top_srcdir to perform the final pre-release NEWS
+update in which the date, release-type and version string are
+recorded.  Commit that result with a log entry marking the release,
+and apply a signed tag.  Run it from your project's top-level
+directory.
 
 Requirements:
 - you use git for version-control
-- a NEWS file, with line 3 identical to this:
-* Noteworthy changes in release ?.? (????-??-??) [?]
 - a version-controlled .prev-version file
+- a NEWS file, with line 3 identical to this:
+$noteworthy_stub
 
 Options:
-  --branch BRANCH            set release branch (default: master)
-  --help                     print this help, then exit
-  --version                  print version number, then exit
+  --branch=BRANCH     set release branch (default: $branch)
+  -C, --builddir=DIR  location of (configured) Makefile (default: $builddir)
+  --help              print this help, then exit
+  --version           print version number, then exit
 
 EXAMPLE:
 To update NEWS and tag the beta 8.1 release of coreutils, I would run this:
@@ -57,37 +58,66 @@ To update NEWS and tag the beta 8.1 release of coreutils, I would run this:
 
 Report bugs and patches to <bug-gnulib@gnu.org>.
 EOF
-      exit ;;
+  exit
+}
 
-    --version)
-      year=`echo "$VERSION" | sed 's/[^0-9].*//'`
-      cat <<EOF
+version()
+{
+  year=$(echo "$VERSION" | sed 's/[^0-9].*//')
+  cat <<EOF
 $ME $VERSION
 Copyright (C) $year Free Software Foundation, Inc,
 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.
 EOF
-      exit ;;
+  exit
+}
+
+## ------ ##
+## Main.  ##
+## ------ ##
+
+# Constants.
+noteworthy='* Noteworthy changes in release'
+noteworthy_stub="$noteworthy ?.? (????-??-??) [?]"
 
-  *) die "unrecognized option: $1";;
+# Variables.
+branch=$(git branch | sed -ne '/^\* /{s///;p;q;}')
+builddir=.
+
+while test $# != 0
+do
+  # Handle --option=value by splitting apart and putting back on argv.
+  case $1 in
+    --*=*)
+      opt=$(echo "$1" | sed -e 's/=.*//')
+      val=$(echo "$1" | sed -e 's/[^=]*=//')
+      shift
+      set dummy "$opt" "$val" ${1+"$@"}; shift
+      ;;
   esac
-}
 
-branch=master
-case $1 in
-  --branch) shift; branch=$1; shift ;;
-esac
+  case $1 in
+    --help|--version) ${1#--};;
+    --branch) shift; branch=$1; shift ;;
+    -C|--builddir) shift; builddir=$1; shift ;;
+    --*) die "unrecognized option: $1";;
+    *) break;;
+  esac
+done
 
-case $# in
-  1) help_version $1; exit 0;;
-  2) ;;
-  *) warn "Usage: $ME [OPTION...] VERSION TYPE"; exit 1;;
-esac
+test $# = 2 \
+  || die "Usage: $ME [OPTION...] VERSION TYPE"
 
 ver=$1
 type=$2
 
+
+## ---------------------- ##
+## First, sanity checks.  ##
+## ---------------------- ##
+
 # Verify that $ver looks like a version number, and...
 echo "$ver"|grep -E '^[0-9][0-9.]*[0-9]$' > /dev/null \
   || die "invalid version: $ver"
@@ -97,7 +127,7 @@ prev_ver=$(cat .prev-version) \
 # Verify that $ver is sensible (> .prev-version).
 case $(printf "$prev_ver\n$ver\n"|sort -V -u|tr '\n' ':') in
   "$prev_ver:$ver:") ;;
-  *) die "invalid version: $ver";;
+  *) die "invalid version: $ver (<= $prev_ver)";;
 esac
 
 case $type in
@@ -105,32 +135,36 @@ case $type in
   *) die "invalid release type: $type";;
 esac
 
-# Extract package name from Makefile.
-pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' Makefile) \
-  || die 'failed to determine package name from Makefile'
-
-# simple check: no question marks on line 3 of NEWS
-noteworthy='* Noteworthy changes in release'
-test "$(sed -n 3p NEWS)" = "$noteworthy ?.? (????-??-??) [?]" \
-  || die 'line 3 of NEWS looks fishy!'
-
-# No dirt allowed.
+# No local modifications allowed.
 case $(git diff-index --name-only HEAD) in
   '') ;;
   *) die 'this tree is dirty; commit your changes first';;
 esac
 
-# update NEWS to have today's date, plus desired version number and $type
+# Ensure the current branch name is correct:
+curr_br=$(git rev-parse --symbolic-full-name HEAD)
+test "$curr_br" = refs/heads/$branch || die not on branch $branch
+
+# Extract package name from Makefile.
+Makefile=$builddir/Makefile
+pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' "$Makefile") \
+  || die "failed to determine package name from $Makefile"
+
+# Check that line 3 of NEWS is the stub line about to be replaced.
+test "$(sed -n 3p NEWS)" = "$noteworthy_stub" \
+  || die "line 3 of NEWS must be exactly '$noteworthy_stub'"
+
+## --------------- ##
+## Then, changes.  ##
+## --------------- ##
+
+# Update NEWS to have today's date, plus desired version number and $type.
 perl -MPOSIX -ni -e 'my $today = strftime "%F", localtime time;' \
  -e 'my ($type, $ver) = qw('"$type $ver"');' \
  -e 'my $pfx = "'"$noteworthy"'";' \
  -e 'print $.==3 ? "$pfx $ver ($today) [$type]\n" : $_' \
      NEWS || die 'failed to update NEWS'
 
-# Ensure the current branch name is correct:
-curr_br=$(git rev-parse --symbolic-full-name HEAD)
-test "$curr_br" = refs/heads/$branch || die not on branch $branch
-
 printf "version $ver\n\n* NEWS: Record release date.\n" \
     | git commit -F -  -a || die 'git commit failed'
 git tag -s -m "$pkg $ver" v$ver HEAD || die 'git tag failed'
index c8abd55..98c7523 100755 (executable)
@@ -2,10 +2,10 @@
 # gendocs.sh -- generate a GNU manual in many formats.  This script is
 #   mentioned in maintain.texi.  See the help message below for usage details.
 
-scriptversion=2011-04-08.14
+scriptversion=2013-03-08.15
 
-# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
+# Free Software Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -30,6 +30,12 @@ scriptversion=2011-04-08.14
 #
 # An up-to-date copy is also maintained in Gnulib (gnu.org/software/gnulib).
 
+# TODO:
+# - image importation was only implemented for HTML generated by
+#   makeinfo.  But it should be simple enough to adjust.
+# - images are not imported in the source tarball.  All the needed
+#   formats (PDF, PNG, etc.) should be included.
+
 prog=`basename "$0"`
 srcdir=`pwd`
 
@@ -39,38 +45,47 @@ templateurl="http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/texinfo/texinfo/
 : ${SETLANG="env LANG= LC_MESSAGES= LC_ALL= LANGUAGE="}
 : ${MAKEINFO="makeinfo"}
 : ${TEXI2DVI="texi2dvi -t @finalout"}
-: ${DVIPS="dvips"}
 : ${DOCBOOK2HTML="docbook2html"}
 : ${DOCBOOK2PDF="docbook2pdf"}
-: ${DOCBOOK2PS="docbook2ps"}
 : ${DOCBOOK2TXT="docbook2txt"}
 : ${GENDOCS_TEMPLATE_DIR="."}
+: ${PERL='perl'}
 : ${TEXI2HTML="texi2html"}
 unset CDPATH
 unset use_texi2html
 
 version="gendocs.sh $scriptversion
 
-Copyright 2010 Free Software Foundation, Inc.
+Copyright 2013 Free Software Foundation, Inc.
 There is NO warranty.  You may redistribute this software
 under the terms of the GNU General Public License.
 For more information about these matters, see the files named COPYING."
 
 usage="Usage: $prog [OPTION]... PACKAGE MANUAL-TITLE
 
-Generate various output formats from PACKAGE.texinfo (or .texi or .txi) source.
-See the GNU Maintainers document for a more extensive discussion:
+Generate output in various formats from PACKAGE.texinfo (or .texi or
+.txi) source.  See the GNU Maintainers document for a more extensive
+discussion:
   http://www.gnu.org/prep/maintain_toc.html
 
 Options:
-  -s SRCFILE  read Texinfo from SRCFILE, instead of PACKAGE.{texinfo|texi|txi}
-  -o OUTDIR   write files into OUTDIR, instead of manual/.
-  --email ADR use ADR as contact in generated web pages.
-  --docbook   convert to DocBook too (xml, txt, html, pdf and ps).
-  --html ARG  pass indicated ARG to makeinfo or texi2html for HTML targets.
-  --texi2html use texi2html to generate HTML targets.
-  --help      display this help and exit successfully.
-  --version   display version information and exit successfully.
+  --email ADR use ADR as contact in generated web pages; always give this.
+
+  -s SRCFILE   read Texinfo from SRCFILE, instead of PACKAGE.{texinfo|texi|txi}
+  -o OUTDIR    write files into OUTDIR, instead of manual/.
+  -I DIR       append DIR to the Texinfo search path.
+  --common ARG pass ARG in all invocations.
+  --html ARG   pass ARG to makeinfo or texi2html for HTML targets.
+  --info ARG   pass ARG to makeinfo for Info, instead of --no-split.
+  --no-ascii   skip generating the plain text output.
+  --source ARG include ARG in tar archive of sources.
+  --split HOW  make split HTML by node, section, chapter; default node.
+
+  --texi2html  use texi2html to make HTML target, with all split versions.
+  --docbook    convert through DocBook too (xml, txt, html, pdf).
+
+  --help       display this help and exit successfully.
+  --version    display version information and exit successfully.
 
 Simple example: $prog --email bug-gnu-emacs@gnu.org emacs \"GNU Emacs Manual\"
 
@@ -80,12 +95,12 @@ Typical sequence:
   wget \"$templateurl\"
   $prog --email BUGLIST MANUAL \"GNU MANUAL - One-line description\"
 
-Output will be in a new subdirectory \"manual\" (by default, use -o OUTDIR
-to override).  Move all the new files into your web CVS tree, as
-explained in the Web Pages node of maintain.texi.
+Output will be in a new subdirectory \"manual\" (by default;
+use -o OUTDIR to override).  Move all the new files into your web CVS
+tree, as explained in the Web Pages node of maintain.texi.
 
-Please use the --email ADDRESS option to specify your bug-reporting
-address in the generated HTML pages.
+Please use the --email ADDRESS option so your own bug-reporting
+address will be used in the generated HTML pages.
 
 MANUAL-TITLE is included as part of the HTML <title> of the overall
 manual/index.html file.  It should include the name of the package being
@@ -102,11 +117,14 @@ If a manual's Texinfo sources are spread across several directories,
 first copy or symlink all Texinfo sources into a single directory.
 (Part of the script's work is to make a tar.gz of the sources.)
 
-You can set the environment variables MAKEINFO, TEXI2DVI, TEXI2HTML, and
-DVIPS to control the programs that get executed, and
+As implied above, by default monolithic Info files are generated.
+If you want split Info, or other Info options, use --info to override.
+
+You can set the environment variables MAKEINFO, TEXI2DVI, TEXI2HTML,
+and PERL to control the programs that get executed, and
 GENDOCS_TEMPLATE_DIR to control where the gendocs_template file is
 looked for.  With --docbook, the environment variables DOCBOOK2HTML,
-DOCBOOK2PDF, DOCBOOK2PS, and DOCBOOK2TXT are also respected.
+DOCBOOK2PDF, and DOCBOOK2TXT are also consulted.
 
 By default, makeinfo and texi2dvi are run in the default (English)
 locale, since that's the language of most Texinfo manuals.  If you
@@ -116,29 +134,37 @@ SETLANG setting in the source.
 Email bug reports or enhancement requests to bug-texinfo@gnu.org.
 "
 
-calcsize()
-{
-  size=`ls -ksl $1 | awk '{print $1}'`
-  echo $size
-}
-
 MANUAL_TITLE=
 PACKAGE=
 EMAIL=webmasters@gnu.org  # please override with --email
+commonarg= # passed to all makeinfo/texi2html invcations.
+dirargs=   # passed to all tools (-I dir).
+dirs=      # -I's directories.
 htmlarg=
+infoarg=--no-split
+generate_ascii=true
 outdir=manual
+source_extra=
+split=node
 srcfile=
 
 while test $# -gt 0; do
   case $1 in
-    --email) shift; EMAIL=$1;;
-    --help) echo "$usage"; exit 0;;
-    --version) echo "$version"; exit 0;;
-    -s) shift; srcfile=$1;;
-    -o) shift; outdir=$1;;
-    --docbook) docbook=yes;;
-    --html) shift; htmlarg=$1;;
+    -s)          shift; srcfile=$1;;
+    -o)          shift; outdir=$1;;
+    -I)          shift; dirargs="$dirargs -I '$1'"; dirs="$dirs $1";;
+    --common)    shift; commonarg=$1;;
+    --docbook)   docbook=yes;;
+    --email)     shift; EMAIL=$1;;
+    --html)      shift; htmlarg=$1;;
+    --info)      shift; infoarg=$1;;
+    --no-ascii)  generate_ascii=false;;
+    --source)    shift; source_extra=$1;;
+    --split)     shift; split=$1;;
     --texi2html) use_texi2html=1;;
+
+    --help)      echo "$usage"; exit 0;;
+    --version)   echo "$version"; exit 0;;
     -*)
       echo "$0: Unknown option \`$1'." >&2
       echo "$0: Try \`--help' for more information." >&2
@@ -156,6 +182,9 @@ while test $# -gt 0; do
   shift
 done
 
+# makeinfo uses the dirargs, but texi2dvi doesn't.
+commonarg=" $dirargs $commonarg"
+
 # For most of the following, the base name is just $PACKAGE
 base=$PACKAGE
 
@@ -183,57 +212,107 @@ if test ! -r $GENDOCS_TEMPLATE_DIR/gendocs_template; then
   exit 1
 fi
 
+# Function to return size of $1 in something resembling kilobytes.
+calcsize()
+{
+  size=`ls -ksl $1 | awk '{print $1}'`
+  echo $size
+}
+
+# copy_images OUTDIR HTML-FILE...
+# -------------------------------
+# Copy all the images needed by the HTML-FILEs into OUTDIR.  Look
+# for them in the -I directories.
+copy_images()
+{
+  local odir
+  odir=$1
+  shift
+  $PERL -n -e "
+BEGIN {
+  \$me = '$prog';
+  \$odir = '$odir';
+  @dirs = qw($dirs);
+}
+" -e '
+/<img src="(.*?)"/g && ++$need{$1};
+
+END {
+  #print "$me: @{[keys %need]}\n";  # for debugging, show images found.
+  FILE: for my $f (keys %need) {
+    for my $d (@dirs) {
+      if (-f "$d/$f") {
+        use File::Basename;
+        my $dest = dirname ("$odir/$f");
+        #
+        use File::Path;
+        -d $dest || mkpath ($dest)
+          || die "$me: cannot mkdir $dest: $!\n";
+        #
+        use File::Copy;
+        copy ("$d/$f", $dest)
+          || die "$me: cannot copy $d/$f to $dest: $!\n";
+        next FILE;
+      }
+    }
+    die "$me: $ARGV: cannot find image $f\n";
+  }
+}
+' -- "$@" || exit 1
+}
+
 case $outdir in
   /*) abs_outdir=$outdir;;
   *)  abs_outdir=$srcdir/$outdir;;
 esac
 
-echo Generating output formats for $srcfile
+echo "Making output for $srcfile"
+echo " in `pwd`"
+mkdir -p "$outdir/"
 
-cmd="$SETLANG $MAKEINFO -o $PACKAGE.info \"$srcfile\""
-echo "Generating info files... ($cmd)"
+cmd="$SETLANG $MAKEINFO -o $PACKAGE.info $commonarg $infoarg \"$srcfile\""
+echo "Generating info... ($cmd)"
 eval "$cmd"
-mkdir -p "$outdir/"
 tar czf "$outdir/$PACKAGE.info.tar.gz" $PACKAGE.info*
+ls -l "$outdir/$PACKAGE.info.tar.gz"
 info_tgz_size=`calcsize "$outdir/$PACKAGE.info.tar.gz"`
 # do not mv the info files, there's no point in having them available
 # separately on the web.
 
-cmd="$SETLANG ${TEXI2DVI} \"$srcfile\""
-echo "Generating dvi ... ($cmd)"
+cmd="$SETLANG $TEXI2DVI $dirargs \"$srcfile\""
+printf "\nGenerating dvi... ($cmd)\n"
 eval "$cmd"
-
-# now, before we compress dvi:
-echo Generating postscript...
-${DVIPS} $PACKAGE -o
-gzip -f -9 $PACKAGE.ps
-ps_gz_size=`calcsize $PACKAGE.ps.gz`
-mv $PACKAGE.ps.gz "$outdir/"
-
 # compress/finish dvi:
 gzip -f -9 $PACKAGE.dvi
 dvi_gz_size=`calcsize $PACKAGE.dvi.gz`
 mv $PACKAGE.dvi.gz "$outdir/"
+ls -l "$outdir/$PACKAGE.dvi.gz"
 
-cmd="$SETLANG ${TEXI2DVI} --pdf \"$srcfile\""
-echo "Generating pdf ... ($cmd)"
+cmd="$SETLANG $TEXI2DVI --pdf $dirargs \"$srcfile\""
+printf "\nGenerating pdf... ($cmd)\n"
 eval "$cmd"
 pdf_size=`calcsize $PACKAGE.pdf`
 mv $PACKAGE.pdf "$outdir/"
+ls -l "$outdir/$PACKAGE.pdf"
 
-cmd="$SETLANG $MAKEINFO -o $PACKAGE.txt --no-split --no-headers \"$srcfile\""
-echo "Generating ASCII... ($cmd)"
-eval "$cmd"
-ascii_size=`calcsize $PACKAGE.txt`
-gzip -f -9 -c $PACKAGE.txt >"$outdir/$PACKAGE.txt.gz"
-ascii_gz_size=`calcsize "$outdir/$PACKAGE.txt.gz"`
-mv $PACKAGE.txt "$outdir/"
+if $generate_ascii; then
+  opt="-o $PACKAGE.txt --no-split --no-headers $commonarg"
+  cmd="$SETLANG $MAKEINFO $opt \"$srcfile\""
+  printf "\nGenerating ascii... ($cmd)\n"
+  eval "$cmd"
+  ascii_size=`calcsize $PACKAGE.txt`
+  gzip -f -9 -c $PACKAGE.txt >"$outdir/$PACKAGE.txt.gz"
+  ascii_gz_size=`calcsize "$outdir/$PACKAGE.txt.gz"`
+  mv $PACKAGE.txt "$outdir/"
+  ls -l "$outdir/$PACKAGE.txt" "$outdir/$PACKAGE.txt.gz"
+fi
 
+# Split HTML at level $1.  Used for texi2html.
 html_split()
 {
-  opt="--split=$1 $htmlarg --node-files"
+  opt="--split=$1 --node-files $commonarg $htmlarg"
   cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $opt \"$srcfile\""
-  echo "Generating html by $1... ($cmd)"
+  printf "\nGenerating html by $1... ($cmd)\n"
   eval "$cmd"
   split_html_dir=$PACKAGE.html
   (
@@ -249,32 +328,48 @@ html_split()
 }
 
 if test -z "$use_texi2html"; then
-  opt="--no-split --html -o $PACKAGE.html $htmlarg"
+  opt="--no-split --html -o $PACKAGE.html $commonarg $htmlarg"
   cmd="$SETLANG $MAKEINFO $opt \"$srcfile\""
-  echo "Generating monolithic html... ($cmd)"
+  printf "\nGenerating monolithic html... ($cmd)\n"
   rm -rf $PACKAGE.html  # in case a directory is left over
   eval "$cmd"
   html_mono_size=`calcsize $PACKAGE.html`
   gzip -f -9 -c $PACKAGE.html >"$outdir/$PACKAGE.html.gz"
   html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"`
+  copy_images "$outdir/" $PACKAGE.html
   mv $PACKAGE.html "$outdir/"
-
-  cmd="$SETLANG $MAKEINFO --html -o $PACKAGE.html $htmlarg \"$srcfile\""
-  echo "Generating html by node... ($cmd)"
+  ls -l "$outdir/$PACKAGE.html" "$outdir/$PACKAGE.html.gz"
+
+  # Before Texinfo 5.0, makeinfo did not accept a --split=HOW option,
+  # it just always split by node.  So if we're splitting by node anyway,
+  # leave it out.
+  if test "x$split" = xnode; then
+    split_arg=
+  else
+    split_arg=--split=$split
+  fi
+  #
+  opt="--html -o $PACKAGE.html $split_arg $commonarg $htmlarg"
+  cmd="$SETLANG $MAKEINFO $opt \"$srcfile\""
+  printf "\nGenerating html by $split... ($cmd)\n"
   eval "$cmd"
   split_html_dir=$PACKAGE.html
+  copy_images $split_html_dir/ $split_html_dir/*.html
   (
-   cd ${split_html_dir} || exit 1
-   tar -czf "$abs_outdir/${PACKAGE}.html_node.tar.gz" -- *.html
+    cd $split_html_dir || exit 1
+    tar -czf "$abs_outdir/$PACKAGE.html_$split.tar.gz" -- *
   )
-  html_node_tgz_size=`calcsize "$outdir/${PACKAGE}.html_node.tar.gz"`
-  rm -f "$outdir"/html_node/*.html
-  mkdir -p "$outdir/html_node/"
-  mv ${split_html_dir}/*.html "$outdir/html_node/"
-  rmdir ${split_html_dir}
-else
-  cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $htmlarg \"$srcfile\""
-  echo "Generating monolithic html... ($cmd)"
+  eval \
+    html_${split}_tgz_size=`calcsize "$outdir/$PACKAGE.html_$split.tar.gz"`
+  rm -rf "$outdir/html_$split/"
+  mv $split_html_dir "$outdir/html_$split/"
+  du -s "$outdir/html_$split/"
+  ls -l "$outdir/$PACKAGE.html_$split.tar.gz"
+
+else # use texi2html:
+  opt="--output $PACKAGE.html $commonarg $htmlarg"
+  cmd="$SETLANG $TEXI2HTML $opt \"$srcfile\""
+  printf "\nGenerating monolithic html with texi2html... ($cmd)\n"
   rm -rf $PACKAGE.html  # in case a directory is left over
   eval "$cmd"
   html_mono_size=`calcsize $PACKAGE.html`
@@ -287,18 +382,20 @@ else
   html_split section
 fi
 
-echo Making .tar.gz for sources...
+printf "\nMaking .tar.gz for sources...\n"
 d=`dirname $srcfile`
 (
   cd "$d"
-  srcfiles=`ls *.texinfo *.texi *.txi *.eps 2>/dev/null` || true
-  tar cvzfh "$abs_outdir/$PACKAGE.texi.tar.gz" $srcfiles
+  srcfiles=`ls -d *.texinfo *.texi *.txi *.eps $source_extra 2>/dev/null` || true
+  tar czfh "$abs_outdir/$PACKAGE.texi.tar.gz" $srcfiles
+  ls -l "$abs_outdir/$PACKAGE.texi.tar.gz"
 )
 texi_tgz_size=`calcsize "$outdir/$PACKAGE.texi.tar.gz"`
 
 if test -n "$docbook"; then
-  cmd="$SETLANG $MAKEINFO -o - --docbook \"$srcfile\" > ${srcdir}/$PACKAGE-db.xml"
-  echo "Generating docbook XML... ($cmd)"
+  opt="-o - --docbook $commonarg"
+  cmd="$SETLANG $MAKEINFO $opt \"$srcfile\" >${srcdir}/$PACKAGE-db.xml"
+  printf "\nGenerating docbook XML... ($cmd)\n"
   eval "$cmd"
   docbook_xml_size=`calcsize $PACKAGE-db.xml`
   gzip -f -9 -c $PACKAGE-db.xml >"$outdir/$PACKAGE-db.xml.gz"
@@ -306,8 +403,9 @@ if test -n "$docbook"; then
   mv $PACKAGE-db.xml "$outdir/"
 
   split_html_db_dir=html_node_db
-  cmd="${DOCBOOK2HTML} -o $split_html_db_dir \"${outdir}/$PACKAGE-db.xml\""
-  echo "Generating docbook HTML... ($cmd)"
+  opt="$commonarg -o $split_html_db_dir"
+  cmd="$DOCBOOK2HTML $opt \"${outdir}/$PACKAGE-db.xml\""
+  printf "\nGenerating docbook HTML... ($cmd)\n"
   eval "$cmd"
   (
     cd ${split_html_db_dir} || exit 1
@@ -319,33 +417,28 @@ if test -n "$docbook"; then
   mv ${split_html_db_dir}/*.html "$outdir/html_node_db/"
   rmdir ${split_html_db_dir}
 
-  cmd="${DOCBOOK2TXT} \"${outdir}/$PACKAGE-db.xml\""
-  echo "Generating docbook ASCII... ($cmd)"
+  cmd="$DOCBOOK2TXT \"${outdir}/$PACKAGE-db.xml\""
+  printf "\nGenerating docbook ASCII... ($cmd)\n"
   eval "$cmd"
   docbook_ascii_size=`calcsize $PACKAGE-db.txt`
   mv $PACKAGE-db.txt "$outdir/"
 
-  cmd="${DOCBOOK2PS} \"${outdir}/$PACKAGE-db.xml\""
-  echo "Generating docbook PS... ($cmd)"
-  eval "$cmd"
-  gzip -f -9 -c $PACKAGE-db.ps >"$outdir/$PACKAGE-db.ps.gz"
-  docbook_ps_gz_size=`calcsize "$outdir/$PACKAGE-db.ps.gz"`
-  mv $PACKAGE-db.ps "$outdir/"
-
-  cmd="${DOCBOOK2PDF} \"${outdir}/$PACKAGE-db.xml\""
-  echo "Generating docbook PDF... ($cmd)"
+  cmd="$DOCBOOK2PDF \"${outdir}/$PACKAGE-db.xml\""
+  printf "\nGenerating docbook PDF... ($cmd)\n"
   eval "$cmd"
   docbook_pdf_size=`calcsize $PACKAGE-db.pdf`
   mv $PACKAGE-db.pdf "$outdir/"
 fi
 
-echo "Writing index file..."
+printf "\nMaking index file...\n"
 if test -z "$use_texi2html"; then
-   CONDS="/%%IF  *HTML_SECTION%%/,/%%ENDIF  *HTML_SECTION%%/d;\
-          /%%IF  *HTML_CHAPTER%%/,/%%ENDIF  *HTML_CHAPTER%%/d"
+  CONDS="/%%IF  *HTML_SECTION%%/,/%%ENDIF  *HTML_SECTION%%/d;\
+         /%%IF  *HTML_CHAPTER%%/,/%%ENDIF  *HTML_CHAPTER%%/d"
 else
-   CONDS="/%%ENDIF.*%%/d;/%%IF  *HTML_SECTION%%/d;/%%IF  *HTML_CHAPTER%%/d"
+  # should take account of --split here.
+  CONDS="/%%ENDIF.*%%/d;/%%IF  *HTML_SECTION%%/d;/%%IF  *HTML_CHAPTER%%/d"
 fi
+
 curdate=`$SETLANG date '+%B %d, %Y'`
 sed \
    -e "s!%%TITLE%%!$MANUAL_TITLE!g" \
@@ -360,13 +453,11 @@ sed \
    -e "s!%%INFO_TGZ_SIZE%%!$info_tgz_size!g" \
    -e "s!%%DVI_GZ_SIZE%%!$dvi_gz_size!g" \
    -e "s!%%PDF_SIZE%%!$pdf_size!g" \
-   -e "s!%%PS_GZ_SIZE%%!$ps_gz_size!g" \
    -e "s!%%ASCII_SIZE%%!$ascii_size!g" \
    -e "s!%%ASCII_GZ_SIZE%%!$ascii_gz_size!g" \
    -e "s!%%TEXI_TGZ_SIZE%%!$texi_tgz_size!g" \
    -e "s!%%DOCBOOK_HTML_NODE_TGZ_SIZE%%!$html_node_db_tgz_size!g" \
    -e "s!%%DOCBOOK_ASCII_SIZE%%!$docbook_ascii_size!g" \
-   -e "s!%%DOCBOOK_PS_GZ_SIZE%%!$docbook_ps_gz_size!g" \
    -e "s!%%DOCBOOK_PDF_SIZE%%!$docbook_pdf_size!g" \
    -e "s!%%DOCBOOK_XML_SIZE%%!$docbook_xml_size!g" \
    -e "s!%%DOCBOOK_XML_GZ_SIZE%%!$docbook_xml_gz_size!g" \
index 168d81a..3468247 100755 (executable)
@@ -1,8 +1,8 @@
 #!/bin/sh
 # Print a version string.
-scriptversion=2011-08-11.12; # UTC
+scriptversion=2012-12-31.23; # UTC
 
-# Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# Copyright (C) 2007-2013 Free Software Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -69,15 +69,63 @@ scriptversion=2011-08-11.12; # UTC
 # dist-hook:
 #      echo $(VERSION) > $(distdir)/.tarball-version
 
-case $# in
-    1|2) ;;
-    *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version" \
-         '[TAG-NORMALIZATION-SED-SCRIPT]'
-       exit 1;;
-esac
 
-tarball_version_file=$1
-tag_sed_script="${2:-s/x/x/}"
+me=$0
+
+version="git-version-gen $scriptversion
+
+Copyright 2011 Free Software Foundation, Inc.
+There is NO warranty.  You may redistribute this software
+under the terms of the GNU General Public License.
+For more information about these matters, see the files named COPYING."
+
+usage="\
+Usage: $me [OPTION]... \$srcdir/.tarball-version [TAG-NORMALIZATION-SED-SCRIPT]
+Print a version string.
+
+Options:
+
+   --prefix           prefix of git tags (default 'v')
+   --fallback         fallback version to use if \"git --version\" fails
+
+   --help             display this help and exit
+   --version          output version information and exit
+
+Running without arguments will suffice in most cases."
+
+prefix=v
+fallback=
+
+while test $# -gt 0; do
+  case $1 in
+    --help) echo "$usage"; exit 0;;
+    --version) echo "$version"; exit 0;;
+    --prefix) shift; prefix="$1";;
+    --fallback) shift; fallback="$1";;
+    -*)
+      echo "$0: Unknown option '$1'." >&2
+      echo "$0: Try '--help' for more information." >&2
+      exit 1;;
+    *)
+      if test "x$tarball_version_file" = x; then
+        tarball_version_file="$1"
+      elif test "x$tag_sed_script" = x; then
+        tag_sed_script="$1"
+      else
+        echo "$0: extra non-option argument '$1'." >&2
+        exit 1
+      fi;;
+  esac
+  shift
+done
+
+if test "x$tarball_version_file" = x; then
+    echo "$usage"
+    exit 1
+fi
+
+tag_sed_script="${tag_sed_script:-s/x/x/}"
+
 nl='
 '
 
@@ -95,22 +143,22 @@ then
         [0-9]*) ;;
         *) v= ;;
     esac
-    test -z "$v" \
+    test "x$v" = x \
         && echo "$0: WARNING: $tarball_version_file is missing or damaged" 1>&2
 fi
 
-if test -n "$v"
+if test "x$v" != x
 then
     : # use $v
 # Otherwise, if there is at least one git commit involving the working
 # directory, and "git describe" output looks sensible, use that to
 # derive a version string.
 elif test "`git log -1 --pretty=format:x . 2>&1`" = x \
-    && v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \
+    && v=`git describe --abbrev=4 --match="$prefix*" HEAD 2>/dev/null \
           || git describe --abbrev=4 HEAD 2>/dev/null` \
     && v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \
     && case $v in
-         v[0-9]*) ;;
+         $prefix[0-9]*) ;;
          *) (exit 1) ;;
        esac
 then
@@ -139,16 +187,18 @@ then
     # Remove the "g" in git describe's output string, to save a byte.
     v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`;
     v_from_git=1
-else
+elif test "x$fallback" = x || git --version >/dev/null 2>&1; then
     v=UNKNOWN
+else
+    v=$fallback
 fi
 
-v=`echo "$v" |sed 's/^v//'`
+v=`echo "$v" |sed "s/^$prefix//"`
 
 # Test whether to append the "-dirty" suffix only if the version
 # string we're using came from git.  I.e., skip the test if it's "UNKNOWN"
 # or if it came from .tarball-version.
-if test -n "$v_from_git"; then
+if test "x$v_from_git" != x; then
   # Don't declare a version "dirty" merely because a time stamp has changed.
   git update-index --refresh > /dev/null 2>&1
 
index 4559704..e02d34c 100755 (executable)
@@ -3,13 +3,13 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
     if 0;
 # Convert git log output to ChangeLog format.
 
-my $VERSION = '2009-10-30 13:46'; # UTC
+my $VERSION = '2012-07-29 06:11'; # UTC
 # The definition above must lie within the first 8 lines in order
 # for the Emacs time-stamp write hook (at end) to update it.
 # If you change this file with Emacs, please let the write hook
 # do its job.  Otherwise, update this string manually.
 
-# Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ sub usage ($)
   my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
   if ($exit_code != 0)
     {
-      print $STREAM "Try `$ME --help' for more information.\n";
+      print $STREAM "Try '$ME --help' for more information.\n";
     }
   else
     {
@@ -60,12 +60,25 @@ $ME, they may be preceded by '--'.
 
 OPTIONS:
 
+   --amend=FILE FILE maps from an SHA1 to perl code (i.e., s/old/new/) that
+                  makes a change to SHA1's commit log text or metadata.
+   --append-dot append a dot to the first line of each commit message if
+                  there is no other punctuation or blank at the end.
+   --no-cluster never cluster commit messages under the same date/author
+                  header; the default is to cluster adjacent commit messages
+                  if their headers are the same and neither commit message
+                  contains multiple paragraphs.
+   --srcdir=DIR the root of the source tree, from which the .git/
+                  directory can be derived.
    --since=DATE convert only the logs since DATE;
                   the default is to convert all log entries.
    --format=FMT set format string for commit subject and body;
                   see 'man git-log' for the list of format metacharacters;
                   the default is '%s%n%b%n'
-
+   --strip-tab  remove one additional leading TAB from commit message lines.
+   --strip-cherry-pick  remove data inserted by "git cherry-pick";
+                  this includes the "cherry picked from commit ..." line,
+                  and the possible final "Conflicts:" paragraph.
    --help       display this help and exit
    --version    output version information and exit
 
@@ -74,6 +87,38 @@ EXAMPLE:
   $ME --since=2008-01-01 > ChangeLog
   $ME -- -n 5 foo > last-5-commits-to-branch-foo
 
+SPECIAL SYNTAX:
+
+The following types of strings are interpreted specially when they appear
+at the beginning of a log message line.  They are not copied to the output.
+
+  Copyright-paperwork-exempt: Yes
+    Append the "(tiny change)" notation to the usual "date name email"
+    ChangeLog header to mark a change that does not require a copyright
+    assignment.
+  Co-authored-by: Joe User <user\@example.com>
+    List the specified name and email address on a second
+    ChangeLog header, denoting a co-author.
+  Signed-off-by: Joe User <user\@example.com>
+    These lines are simply elided.
+
+In a FILE specified via --amend, comment lines (starting with "#") are ignored.
+FILE must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1 (alone on
+a line) referring to a commit in the current project, and CODE refers to one
+or more consecutive lines of Perl code.  Pairs must be separated by one or
+more blank line.
+
+Here is sample input for use with --amend=FILE, from coreutils:
+
+3a169f4c5d9159283548178668d2fae6fced3030
+# fix typo in title:
+s/all tile types/all file types/
+
+1379ed974f1fa39b12e2ffab18b3f7a607082202
+# Due to a bug in vc-dwim, I mis-attributed a patch by Paul to myself.
+# Change the author to be Paul.  Note the escaped "@":
+s,Jim .*>,Paul Eggert <eggert\\\@cs.ucla.edu>,
+
 EOF
     }
   exit $exit_code;
@@ -99,24 +144,121 @@ sub quoted_cmd(@)
   return join (' ', map {shell_quote $_} @_);
 }
 
+# Parse file F.
+# Comment lines (starting with "#") are ignored.
+# F must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1
+# (alone on a line) referring to a commit in the current project, and
+# CODE refers to one or more consecutive lines of Perl code.
+# Pairs must be separated by one or more blank line.
+sub parse_amend_file($)
+{
+  my ($f) = @_;
+
+  open F, '<', $f
+    or die "$ME: $f: failed to open for reading: $!\n";
+
+  my $fail;
+  my $h = {};
+  my $in_code = 0;
+  my $sha;
+  while (defined (my $line = <F>))
+    {
+      $line =~ /^\#/
+        and next;
+      chomp $line;
+      $line eq ''
+        and $in_code = 0, next;
+
+      if (!$in_code)
+        {
+          $line =~ /^([0-9a-fA-F]{40})$/
+            or (warn "$ME: $f:$.: invalid line; expected an SHA1\n"),
+              $fail = 1, next;
+          $sha = lc $1;
+          $in_code = 1;
+          exists $h->{$sha}
+            and (warn "$ME: $f:$.: duplicate SHA1\n"),
+              $fail = 1, next;
+        }
+      else
+        {
+          $h->{$sha} ||= '';
+          $h->{$sha} .= "$line\n";
+        }
+    }
+  close F;
+
+  $fail
+    and exit 1;
+
+  return $h;
+}
+
+# git_dir_option $SRCDIR
+#
+# From $SRCDIR, the --git-dir option to pass to git (none if $SRCDIR
+# is undef).  Return as a list (0 or 1 element).
+sub git_dir_option($)
 {
-  my $since_date = '1970-01-01 UTC';
+  my ($srcdir) = @_;
+  my @res = ();
+  if (defined $srcdir)
+    {
+      my $qdir = shell_quote $srcdir;
+      my $cmd = "cd $qdir && git rev-parse --show-toplevel";
+      my $qcmd = shell_quote $cmd;
+      my $git_dir = qx($cmd);
+      defined $git_dir
+        or die "$ME: cannot run $qcmd: $!\n";
+      $? == 0
+        or die "$ME: $qcmd had unexpected exit code or signal ($?)\n";
+      chomp $git_dir;
+      push @res, "--git-dir=$git_dir/.git";
+    }
+  @res;
+}
+
+{
+  my $since_date;
   my $format_string = '%s%n%b%n';
+  my $amend_file;
+  my $append_dot = 0;
+  my $cluster = 1;
+  my $strip_tab = 0;
+  my $strip_cherry_pick = 0;
+  my $srcdir;
   GetOptions
     (
      help => sub { usage 0 },
      version => sub { print "$ME version $VERSION\n"; exit },
      'since=s' => \$since_date,
      'format=s' => \$format_string,
+     'amend=s' => \$amend_file,
+     'append-dot' => \$append_dot,
+     'cluster!' => \$cluster,
+     'strip-tab' => \$strip_tab,
+     'strip-cherry-pick' => \$strip_cherry_pick,
+     'srcdir=s' => \$srcdir,
     ) or usage 1;
 
-  my @cmd = (qw (git log --log-size), "--since=$since_date",
-             '--pretty=format:%ct  %an  <%ae>%n%n'.$format_string, @ARGV);
+  defined $since_date
+    and unshift @ARGV, "--since=$since_date";
+
+  # This is a hash that maps an SHA1 to perl code (i.e., s/old/new/)
+  # that makes a correction in the log or attribution of that commit.
+  my $amend_code = defined $amend_file ? parse_amend_file $amend_file : {};
+
+  my @cmd = ('git',
+             git_dir_option $srcdir,
+             qw(log --log-size),
+             '--pretty=format:%H:%ct  %an  <%ae>%n%n'.$format_string, @ARGV);
   open PIPE, '-|', @cmd
-    or die ("$ME: failed to run `". quoted_cmd (@cmd) ."': $!\n"
+    or die ("$ME: failed to run '". quoted_cmd (@cmd) ."': $!\n"
             . "(Is your Git too old?  Version 1.5.1 or later is required.)\n");
 
+  my $prev_multi_paragraph;
   my $prev_date_line = '';
+  my @prev_coauthors = ();
   while (1)
     {
       defined (my $in = <PIPE>)
@@ -130,7 +272,41 @@ sub quoted_cmd(@)
       $n_read == $log_nbytes
         or die "$ME:$.: unexpected EOF\n";
 
-      my @line = split "\n", $log;
+      # Extract leading hash.
+      my ($sha, $rest) = split ':', $log, 2;
+      defined $sha
+        or die "$ME:$.: malformed log entry\n";
+      $sha =~ /^[0-9a-fA-F]{40}$/
+        or die "$ME:$.: invalid SHA1: $sha\n";
+
+      # If this commit's log requires any transformation, do it now.
+      my $code = $amend_code->{$sha};
+      if (defined $code)
+        {
+          eval 'use Safe';
+          my $s = new Safe;
+          # Put the unpreprocessed entry into "$_".
+          $_ = $rest;
+
+          # Let $code operate on it, safely.
+          my $r = $s->reval("$code")
+            or die "$ME:$.:$sha: failed to eval \"$code\":\n$@\n";
+
+          # Note that we've used this entry.
+          delete $amend_code->{$sha};
+
+          # Update $rest upon success.
+          $rest = $_;
+        }
+
+      # Remove lines inserted by "git cherry-pick".
+      if ($strip_cherry_pick)
+        {
+          $rest =~ s/^\s*Conflicts:\n.*//sm;
+          $rest =~ s/^\s*\(cherry picked from commit [\da-f]+\)\n//m;
+        }
+
+      my @line = split "\n", $rest;
       my $author_line = shift @line;
       defined $author_line
         or die "$ME:$.: unexpected EOF\n";
@@ -138,19 +314,62 @@ sub quoted_cmd(@)
         or die "$ME:$.: Invalid line "
           . "(expected date/author/email):\n$author_line\n";
 
-      my $date_line = sprintf "%s  $2\n", strftime ("%F", localtime ($1));
-      # If this line would be the same as the previous date/name/email
-      # line, then arrange not to print it.
-      if ($date_line ne $prev_date_line)
+      # Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog
+      # `(tiny change)' annotation.
+      my $tiny = (grep (/^Copyright-paperwork-exempt:\s+[Yy]es$/, @line)
+                  ? '  (tiny change)' : '');
+
+      my $date_line = sprintf "%s  %s$tiny\n",
+        strftime ("%F", localtime ($1)), $2;
+
+      my @coauthors = grep /^Co-authored-by:.*$/, @line;
+      # Omit meta-data lines we've already interpreted.
+      @line = grep !/^(?:Signed-off-by:[ ].*>$
+                       |Co-authored-by:[ ]
+                       |Copyright-paperwork-exempt:[ ]
+                       )/x, @line;
+
+      # Remove leading and trailing blank lines.
+      if (@line)
+        {
+          while ($line[0] =~ /^\s*$/) { shift @line; }
+          while ($line[$#line] =~ /^\s*$/) { pop @line; }
+        }
+
+      # Record whether there are two or more paragraphs.
+      my $multi_paragraph = grep /^\s*$/, @line;
+
+      # Format 'Co-authored-by: A U Thor <email@example.com>' lines in
+      # standard multi-author ChangeLog format.
+      for (@coauthors)
+        {
+          s/^Co-authored-by:\s*/\t    /;
+          s/\s*</  </;
+
+          /<.*?@.*\..*>/
+            or warn "$ME: warning: missing email address for "
+              . substr ($_, 5) . "\n";
+        }
+
+      # If clustering of commit messages has been disabled, if this header
+      # would be different from the previous date/name/email/coauthors header,
+      # or if this or the previous entry consists of two or more paragraphs,
+      # then print the header.
+      if ( ! $cluster
+          || $date_line ne $prev_date_line
+          || "@coauthors" ne "@prev_coauthors"
+          || $multi_paragraph
+          || $prev_multi_paragraph)
         {
           $prev_date_line eq ''
             or print "\n";
           print $date_line;
+          @coauthors
+            and print join ("\n", @coauthors), "\n";
         }
       $prev_date_line = $date_line;
-
-      # Omit "Signed-off-by..." lines.
-      @line = grep !/^Signed-off-by: .*>$/, @line;
+      @prev_coauthors = @coauthors;
+      $prev_multi_paragraph = $multi_paragraph;
 
       # If there were any lines
       if (@line == 0)
@@ -159,9 +378,21 @@ sub quoted_cmd(@)
         }
       else
         {
-          # Remove leading and trailing blank lines.
-          while ($line[0] =~ /^\s*$/) { shift @line; }
-          while ($line[$#line] =~ /^\s*$/) { pop @line; }
+          if ($append_dot)
+            {
+              # If the first line of the message has enough room, then
+              if (length $line[0] < 72)
+                {
+                  # append a dot if there is no other punctuation or blank
+                  # at the end.
+                  $line[0] =~ /[[:punct:]\s]$/
+                    or $line[0] .= '.';
+                }
+            }
+
+          # Remove one additional leading TAB from each line.
+          $strip_tab
+            and map { s/^\t// } @line;
 
           # Prefix each non-empty line with a TAB.
           @line = map { length $_ ? "\t$_" : '' } @line;
@@ -178,6 +409,16 @@ sub quoted_cmd(@)
   close PIPE
     or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n";
   # FIXME-someday: include $PROCESS_STATUS in the diagnostic
+
+  # Complain about any unused entry in the --amend=F specified file.
+  my $fail = 0;
+  foreach my $sha (keys %$amend_code)
+    {
+      warn "$ME:$amend_file: unused entry: $sha\n";
+      $fail = 1;
+    }
+
+  exit $fail;
 }
 
 # Local Variables:
index f6d0ee1..268ecc0 100755 (executable)
@@ -1,15 +1,10 @@
 #!/bin/sh
 # Run this after each non-alpha release, to update the web documentation at
 # http://www.gnu.org/software/$pkg/manual/
-# This script must be run from the top-level directory,
-# assumes you're using git for revision control,
-# and requires a .prev-version file as well as a Makefile,
-# from which it extracts the version number and package name, respectively.
-# Also, it assumes all documentation is in the doc/ sub-directory.
 
-VERSION=2009-07-21.16; # UTC
+VERSION=2012-12-16.14; # UTC
 
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -24,63 +19,132 @@ VERSION=2009-07-21.16; # UTC
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Requirements: everything required to bootstrap your package,
-# plus these: git, cvs, cvsu, rsync, mktemp
-
-ME=`basename "$0"`
+ME=$(basename "$0")
 warn() { printf '%s: %s\n' "$ME" "$*" >&2; }
 die() { warn "$*"; exit 1; }
 
-help_version()
+help()
 {
-  case $1 in
-    --help) cat <<EOF
+  cat <<EOF
 Usage: $ME
 
-Run this script (no options or arguments) after each non-alpha release,
-to update the web documentation at http://www.gnu.org/software/\$pkg/manual/
-Run it from your project's the top-level directory.
+Run this script from top_srcdir (no arguments) after each non-alpha
+release, to update the web documentation at
+http://www.gnu.org/software/\$pkg/manual/
+
+This script assumes you're using git for revision control, and
+requires a .prev-version file as well as a Makefile, from which it
+extracts the version number and package name, respectively.  Also, it
+assumes all documentation is in the doc/ sub-directory.
 
 Options:
-  --help     print this help, then exit
-  --version  print version number, then exit
+  -C, --builddir=DIR  location of (configured) Makefile (default: .)
+  -n, --dry-run       don't actually commit anything
+  --help              print this help, then exit
+  --version           print version number, then exit
 
 Report bugs and patches to <bug-gnulib@gnu.org>.
 EOF
-      exit ;;
+  exit
+}
 
-    --version)
-      year=`echo "$VERSION" | sed 's/[^0-9].*//'`
-      cat <<EOF
+version()
+{
+  year=$(echo "$VERSION" | sed 's/[^0-9].*//')
+  cat <<EOF
 $ME $VERSION
 Copyright (C) $year Free Software Foundation, Inc,
 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.
 EOF
-      exit ;;
+  exit
+}
 
-  *) die "unrecognized option: $1";;
-  esac
+# find_tool ENVVAR NAMES...
+# -------------------------
+# Search for a required program.  Use the value of ENVVAR, if set,
+# otherwise find the first of the NAMES that can be run (i.e.,
+# supports --version).  If found, set ENVVAR to the program name,
+# die otherwise.
+#
+# FIXME: code duplication, see also bootstrap.
+find_tool ()
+{
+  find_tool_envvar=$1
+  shift
+  find_tool_names=$@
+  eval "find_tool_res=\$$find_tool_envvar"
+  if test x"$find_tool_res" = x; then
+    for i
+    do
+      if ($i --version </dev/null) >/dev/null 2>&1; then
+       find_tool_res=$i
+       break
+      fi
+    done
+  else
+    find_tool_error_prefix="\$$find_tool_envvar: "
+  fi
+  test x"$find_tool_res" != x \
+    || die "one of these is required: $find_tool_names"
+  ($find_tool_res --version </dev/null) >/dev/null 2>&1 \
+    || die "${find_tool_error_prefix}cannot run $find_tool_res --version"
+  eval "$find_tool_envvar=\$find_tool_res"
+  eval "export $find_tool_envvar"
 }
 
-case $# in
-  0) ;;
-  1) help_version $1 ;;
-  *) die "$ME: too many options" ;;
-esac
+## ------ ##
+## Main.  ##
+## ------ ##
+
+# Requirements: everything required to bootstrap your package, plus
+# these.
+find_tool CVS cvs
+find_tool GIT git
+find_tool RSYNC rsync
+find_tool XARGS gxargs xargs
+
+builddir=.
+dryrun=
+while test $# != 0
+do
+  # Handle --option=value by splitting apart and putting back on argv.
+  case $1 in
+    --*=*)
+      opt=$(echo "$1" | sed -e 's/=.*//')
+      val=$(echo "$1" | sed -e 's/[^=]*=//')
+      shift
+      set dummy "$opt" "$val" ${1+"$@"}; shift
+      ;;
+  esac
+
+  case $1 in
+    --help|--version) ${1#--};;
+    -C|--builddir) shift; builddir=$1; shift ;;
+    -n|--dry-run) dryrun=echo; shift;;
+    --*) die "unrecognized option: $1";;
+    *) break;;
+  esac
+done
+
+test $# = 0 \
+  || die "too many arguments"
 
 prev=.prev-version
-version=$(cat $prev) || die "$ME: no $prev file?"
-pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' Makefile) || die "$ME: no Makefile?"
+version=$(cat $prev) || die "no $prev file?"
+pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' $builddir/Makefile) \
+  || die "no Makefile?"
 tmp_branch=web-doc-$version-$$
+current_branch=$($GIT branch | sed -ne '/^\* /{s///;p;q;}')
 
 cleanup()
 {
-  __st=$?;
-  rm -rf "$tmp"
-  git checkout master
-  git branch -d $tmp_branch
+  __st=$?
+  $dryrun rm -rf "$tmp"
+  $GIT checkout "$current_branch"
+  $GIT submodule update --recursive
+  $GIT branch -d $tmp_branch
   exit $__st
 }
 trap cleanup 0
@@ -89,23 +153,36 @@ trap 'exit $?' 1 2 13 15
 # We must build using sources for which --version reports the
 # just-released version number, not some string like 7.6.18-20761.
 # That version string propagates into all documentation.
-git checkout -b $tmp_branch v$version
-ok=0
-./bootstrap && ./configure && make && make web-manual && ok=1
-test $ok = 1 || exit 1
-
-tmp=$(mktemp -d --tmpdir=. web-doc-update.XXXXXX) || exit 1
+set -e
+$GIT checkout -b $tmp_branch v$version
+$GIT submodule update --recursive
+./bootstrap
+srcdir=$(pwd)
+cd "$builddir"
+  ./config.status --recheck
+  ./config.status
+  make
+  make web-manual
+cd "$srcdir"
+set +e
+
+tmp=$(mktemp -d web-doc-update.XXXXXX) || exit 1
 ( cd $tmp \
-    && cvs -d $USER@cvs.sv.gnu.org:/webcvs/$pkg co $pkg )
-rsync -avP doc/manual/ $tmp/$pkg/manual
+    && $CVS -d $USER@cvs.sv.gnu.org:/webcvs/$pkg co $pkg )
+$RSYNC -avP "$builddir"/doc/manual/ $tmp/$pkg/manual
 
 (
   cd $tmp/$pkg/manual
 
-  # Add any new files:
-  cvsu --types='?'|sed s/..// | xargs --no-run-if-empty -- cvs add -ko
+  # Add all the files.  This is simpler than trying to add only the
+  # new ones because of new directories: it would require iterating on
+  # adding the outer directories, and then their contents.
+  #
+  # find guarantees that we add outer directories first.
+  find . -name CVS -prune -o -print             \
+    | $XARGS --no-run-if-empty -- $dryrun $CVS add -ko
 
-  cvs ci -m $version
+  $dryrun $CVS ci -m $version
 )
 
 # Local variables:
index 68215ca..7a137c1 100755 (executable)
@@ -1,10 +1,9 @@
 #!/bin/sh
 # Sign files and upload them.
 
-scriptversion=2010-05-23.15; # UTC
+scriptversion=2013-03-19.17; # UTC
 
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 2004-2013 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -20,6 +19,8 @@ scriptversion=2010-05-23.15; # UTC
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Originally written by Alexandre Duret-Lutz <adl@gnu.org>.
+# The master copy of this file is maintained in the gnulib Git repository.
+# Please send bug reports and feature requests to bug-gnulib@gnu.org.
 
 set -e
 
@@ -27,6 +28,7 @@ GPG='gpg --batch --no-tty'
 conffile=.gnuploadrc
 to=
 dry_run=false
+replace=
 symlink_files=
 delete_files=
 delete_symlinks=
@@ -37,9 +39,8 @@ nl='
 
 usage="Usage: $0 [OPTION]... [CMD] FILE... [[CMD] FILE...]
 
-Sign all FILES, and process them at selected destinations according to CMD.
-<http://www.gnu.org/prep/maintain/html_node/Automated-FTP-Uploads.html>
-explains further.
+Sign all FILES, and process them at the destinations specified with --to.
+If CMD is not given, it defaults to uploading.  See examples below.
 
 Commands:
   --delete                 delete FILES from destination
@@ -48,17 +49,18 @@ Commands:
   --                       treat the remaining arguments as files to upload
 
 Options:
-  --help                   print this help text and exit
-  --to DEST                specify one destination for FILES
+  --to DEST                specify a destination DEST for FILES
                            (multiple --to options are allowed)
   --user NAME              sign with key NAME
+  --replace                allow replacements of existing files
   --symlink-regex[=EXPR]   use sed script EXPR to compute symbolic link names
   --dry-run                do nothing, show what would have been done
+                           (including the constructed directive file)
   --version                output version information and exit
+  --help                   print this help text and exit
 
 If --symlink-regex is given without EXPR, then the link target name
-is created by replacing the version information with \`-latest', e.g.:
-
+is created by replacing the version information with '-latest', e.g.:
   foo-1.3.4.tar.gz -> foo-latest.tar.gz
 
 Recognized destinations are:
@@ -76,6 +78,9 @@ in the current working directory, its contents are prepended to the
 actual command line options.  Use this to keep your defaults.  Comments
 (#) and empty lines in $conffile are allowed.
 
+<http://www.gnu.org/prep/maintain/html_node/Automated-FTP-Uploads.html>
+gives some further background.
+
 Examples:
 1. Upload foobar-1.0.tar.gz to ftp.gnu.org:
   gnupload --to ftp.gnu.org:foobar foobar-1.0.tar.gz
@@ -100,13 +105,12 @@ Examples:
            --delete oopsbar-0.9.91.tar.gz \\
            -- foobar-0.9.91.tar.gz
 
-gnupload uses the ncftpput program to do the transfers; if you don't
+gnupload executes a program ncftpput to do the transfers; if you don't
 happen to have an ncftp package installed, the ncftpput-ftp script in
 the build-aux/ directory of the gnulib package
 (http://savannah.gnu.org/projects/gnulib) may serve as a replacement.
 
-Report bugs to <bug-automake@gnu.org>.
-Send patches to <automake-patches@gnu.org>."
+Send patches and bug reports to <bug-gnulib@gnu.org>."
 
 # Read local configuration file
 if test -r "$conffile"; then
@@ -129,6 +133,12 @@ while test -n "$1"; do
       if test -z "$2"; then
         echo "$0: Missing argument for --to" 1>&2
         exit 1
+      elif echo "$2" | grep 'ftp-upload\.gnu\.org' >/dev/null; then
+        echo "$0: Use ftp.gnu.org:PKGNAME or alpha.gnu.org:PKGNAME" >&2
+        echo "$0: for the destination, not ftp-upload.gnu.org (which" >&2
+        echo "$0:  is used for direct ftp uploads, not with gnupload)." >&2
+        echo "$0: See --help and its examples if need be." >&2
+        exit 1
       else
         to="$to $2"
         shift
@@ -146,6 +156,9 @@ while test -n "$1"; do
     --delete)
       collect_var=delete_files
       ;;
+    --replace)
+      replace="replace: true"
+      ;;
     --rmsymlink)
       collect_var=delete_symlinks
       ;;
@@ -170,7 +183,7 @@ while test -n "$1"; do
       break
       ;;
     -*)
-      echo "$0: Unknown option \`$1', try \`$0 --help'" 1>&2
+      echo "$0: Unknown option '$1', try '$0 --help'" 1>&2
       exit 1
       ;;
     esac
@@ -219,7 +232,7 @@ else
   for file
   do
     if test ! -f $file; then
-      echo "$0: Cannot find \`$file'" 1>&2
+      echo "$0: Cannot find '$file'" 1>&2
       exit 1
     elif test -n "$symlink_expr"; then
       linkname=`echo $file | sed "$symlink_expr"`
@@ -236,25 +249,30 @@ fi
 
 # Make sure passphrase is not exported in the environment.
 unset passphrase
+unset passphrase_fd_0
+GNUPGHOME=${GNUPGHOME:-$HOME/.gnupg}
 
 # Reset PATH to be sure that echo is a built-in.  We will later use
-# `echo $passphrase' to output the passphrase, so it is important that
-# it is a built-in (third-party programs tend to appear in `ps'
+# 'echo $passphrase' to output the passphrase, so it is important that
+# it is a built-in (third-party programs tend to appear in 'ps'
 # listings with their arguments...).
-# Remember this script runs with `set -e', so if echo is not built-in
+# Remember this script runs with 'set -e', so if echo is not built-in
 # it will exit now.
-PATH=/empty echo -n "Enter GPG passphrase: "
-stty -echo
-read -r passphrase
-stty echo
-echo
+if $dry_run || grep -q "^use-agent" $GNUPGHOME/gpg.conf; then :; else
+  PATH=/empty echo -n "Enter GPG passphrase: "
+  stty -echo
+  read -r passphrase
+  stty echo
+  echo
+  passphrase_fd_0="--passphrase-fd 0"
+fi
 
 if test $# -ne 0; then
   for file
   do
     echo "Signing $file ..."
     rm -f $file.sig
-    echo "$passphrase" | $dbg $GPG --passphrase-fd 0 -ba -o $file.sig $file
+    echo "$passphrase" | $dbg $GPG $passphrase_fd_0 -ba -o $file.sig $file
   done
 fi
 
@@ -270,7 +288,7 @@ filename: $3$stmt"
   fi
 
   cat >${2}.directive<<EOF
-version: 1.1
+version: 1.2
 directory: $1
 comment: gnupload v. $scriptversion$stmt
 EOF
@@ -312,12 +330,12 @@ upload ()
   case $dest in
     alpha.gnu.org:*)
       mkdirective "$destdir" "$base" "$file" "$stmt"
-      echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive
+      echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive
       $dbg ncftpput ftp-upload.gnu.org /incoming/alpha $files $base.directive.asc
       ;;
     ftp.gnu.org:*)
       mkdirective "$destdir" "$base" "$file" "$stmt"
-      echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive
+      echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive
       $dbg ncftpput ftp-upload.gnu.org /incoming/ftp $files $base.directive.asc
       ;;
     savannah.gnu.org:*)
@@ -336,7 +354,7 @@ upload ()
       destdir_p1=`echo "$destdir" | sed 's,^[^/]*/,,'`
       destdir_topdir=`echo "$destdir" | sed 's,/.*,,'`
       mkdirective "$destdir_p1" "$base" "$file" "$stmt"
-      echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive
+      echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive
       for f in $files $base.directive.asc
       do
         echo put $f
@@ -345,7 +363,7 @@ upload ()
     /*)
       dest_host=`echo "$dest" | sed 's,:.*,,'`
       mkdirective "$destdir" "$base" "$file" "$stmt"
-      echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive
+      echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive
       $dbg cp $files $base.directive.asc $dest_host
       ;;
     *)
@@ -393,6 +411,12 @@ do
   do
     echo "Uploading $file to $dest ..."
     stmt=
+    #
+    # allowing file replacement is all or nothing.
+    if test -n "$replace"; then stmt="$stmt
+$replace"
+    fi
+    #
     files="$file $file.sig"
     destdir=`echo $dest | sed 's/[^:]*://'`
     if test -n "$symlink_expr"; then
index a9244eb..377bb86 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2011-01-19.21; # UTC
+scriptversion=2011-11-20.07; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -35,7 +35,7 @@ scriptversion=2011-01-19.21; # UTC
 # FSF changes to this file are in the public domain.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
@@ -156,7 +156,7 @@ while test $# -ne 0; do
     -s) stripcmd=$stripprog;;
 
     -t) dst_arg=$2
-       # Protect names problematic for `test' and other utilities.
+       # Protect names problematic for 'test' and other utilities.
        case $dst_arg in
          -* | [=\(\)!]) dst_arg=./$dst_arg;;
        esac
@@ -190,7 +190,7 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
     fi
     shift # arg
     dst_arg=$arg
-    # Protect names problematic for `test' and other utilities.
+    # Protect names problematic for 'test' and other utilities.
     case $dst_arg in
       -* | [=\(\)!]) dst_arg=./$dst_arg;;
     esac
@@ -202,7 +202,7 @@ if test $# -eq 0; then
     echo "$0: no input file specified." >&2
     exit 1
   fi
-  # It's OK to call `install-sh -d' without argument.
+  # It's OK to call 'install-sh -d' without argument.
   # This can happen when creating conditional directories.
   exit 0
 fi
@@ -240,7 +240,7 @@ fi
 
 for src
 do
-  # Protect names problematic for `test' and other utilities.
+  # Protect names problematic for 'test' and other utilities.
   case $src in
     -* | [=\(\)!]) src=./$src;;
   esac
@@ -354,7 +354,7 @@ do
              if test -z "$dir_arg" || {
                   # Check for POSIX incompatibilities with -m.
                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-                  # other-writeable bit of parent directory when it shouldn't.
+                  # other-writable bit of parent directory when it shouldn't.
                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
                   case $ls_ld_tmpdir in
index 60dc485..b3719cf 100755 (executable)
@@ -3,8 +3,7 @@
 
 scriptversion=2010-08-21.06; # UTC
 
-# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009, 2010
-# Free Software Foundation, Inc.
+# Copyright (C) 1995-2013 Free Software Foundation, Inc.
 # written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
 #
 # This program is free software; you can redistribute it and/or modify
@@ -40,7 +39,7 @@ fi
 
 case $1 in
   '')
-     echo "$0: No file.  Try \`$0 --help' for more information." 1>&2
+     echo "$0: No file.  Try '$0 --help' for more information." 1>&2
      exit 1;
      ;;
   -h | --h*)
@@ -76,7 +75,7 @@ LC_TIME=C
 export LC_TIME
 
 # GNU ls changes its time format in response to the TIME_STYLE
-# variable.  Since we cannot assume `unset' works, revert this
+# variable.  Since we cannot assume 'unset' works, revert this
 # variable to its documented default.
 if test "${TIME_STYLE+set}" = set; then
   TIME_STYLE=posix-long-iso
@@ -96,14 +95,14 @@ if ls -n /dev/null 1>/dev/null 2>&1; then
   ls_command="$ls_command -n"
 fi
 
-# A `ls -l' line looks as follows on OS/2.
+# A 'ls -l' line looks as follows on OS/2.
 #  drwxrwx---        0 Aug 11  2001 foo
 # This differs from Unix, which adds ownership information.
 #  drwxrwx---   2 root  root      4096 Aug 11  2001 foo
 #
 # To find the date, we split the line on spaces and iterate on words
 # until we find a month.  This cannot work with files whose owner is a
-# user named `Jan', or `Feb', etc.  However, it's unlikely that `/'
+# user named "Jan", or "Feb", etc.  However, it's unlikely that '/'
 # will be owned by a user whose name is a month.  So we first look at
 # the extended ls output of the root directory to decide how many
 # words should be skipped to get the date.
@@ -116,7 +115,7 @@ month=
 command=
 until test $month
 do
-  test $# -gt 0 || error "failed parsing \`$ls_command /' output"
+  test $# -gt 0 || error "failed parsing '$ls_command /' output"
   shift
   # Add another shift to the command.
   command="$command shift;"
@@ -136,7 +135,7 @@ do
   esac
 done
 
-test -n "$month" || error "failed parsing \`$ls_command /' output"
+test -n "$month" || error "failed parsing '$ls_command /' output"
 
 # Get the extended ls output of the file or directory.
 set dummy x`eval "$ls_command \"\\\$save_arg1\""`
index 28055d2..cdea514 100755 (executable)
@@ -1,11 +1,10 @@
 #! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2012-06-26.16; # UTC
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -26,69 +25,40 @@ scriptversion=2009-04-28.21; # UTC
 # the same distribution terms that you use for the rest of that program.
 
 if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
+  echo 1>&2 "Try '$0 --help' for more information"
   exit 1
 fi
 
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
-  configure_ac=configure.ac
-else
-  configure_ac=configure.in
-fi
+case $1 in
 
-msg="missing on your system"
+  --is-lightweight)
+    # Used by our autoconf macros to check whether the available missing
+    # script is modern enough.
+    exit 0
+    ;;
 
-case $1 in
---run)
-  # Try to run requested program, and just exit if it succeeds.
-  run=
-  shift
-  "$@" && exit 0
-  # Exit code 63 means version mismatch.  This often happens
-  # when the user try to use an ancient version of a tool on
-  # a file that requires a minimum version.  In this case we
-  # we should proceed has if the program had been absent, or
-  # if --run hadn't been passed.
-  if test $? = 63; then
-    run=:
-    msg="probably too old"
-  fi
-  ;;
+  --run)
+    # Back-compat with the calling convention used by older automake.
+    shift
+    ;;
 
   -h|--h|--he|--hel|--help)
     echo "\
 $0 [OPTION]... PROGRAM [ARGUMENT]...
 
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
 
 Options:
   -h, --help      display this help and exit
   -v, --version   output version information and exit
-  --run           try to run the given command, and emulate it if it fails
 
 Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
-  autom4te     touch the output file, or create a stub one
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
-  help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  tar          try tar, gnutar, gtar, then tar without non-portable flags
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
+  bison     yacc      flex         lex       help2man
 
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
 
 Send bug reports to <bug-automake@gnu.org>."
     exit $?
@@ -100,272 +70,141 @@ Send bug reports to <bug-automake@gnu.org>."
     ;;
 
   -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
+    echo 1>&2 "$0: unknown '$1' option"
+    echo 1>&2 "Try '$0 --help' for more information"
     exit 1
     ;;
 
 esac
 
-# normalize program name to check for.
-program=`echo "$1" | sed '
-  s/^gnu-//; t
-  s/^gnu//; t
-  s/^g//; t'`
-
-# Now exit if we have it, but it failed.  Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program).  This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
-  lex*|yacc*)
-    # Not GNU programs, they don't have --version.
-    ;;
-
-  tar*)
-    if test -n "$run"; then
-       echo 1>&2 "ERROR: \`tar' requires --run"
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       exit 1
-    fi
-    ;;
-
-  *)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       # Could not run --version or --help.  This is probably someone
-       # running `$TOOL --version' or `$TOOL --help' to check whether
-       # $TOOL exists and not knowing $TOOL uses missing.
-       exit 1
-    fi
-    ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
-  aclocal*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case $f in
-      *:*) touch_files="$touch_files "`echo "$f" |
-                                      sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
-
-  automake*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-          sed 's/\.am$/.in/' |
-          while read f; do touch "$f"; done
-    ;;
-
-  autom4te*)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.
-         You can get \`$1' as part of \`Autoconf' from any GNU
-         archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo "#! /bin/sh"
-       echo "# Created by GNU Automake missing as a replacement of"
-       echo "#  $ $@"
-       echo "exit 0"
-       chmod +x $file
-       exit 1
-    fi
-    ;;
-
-  bison*|yacc*)
-    echo 1>&2 "\
-WARNING: \`$1' $msg.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
-         in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if test $# -ne 1; then
-        eval LASTARG="\${$#}"
-       case $LASTARG in
-       *.y)
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.c
-           fi
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.h
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f y.tab.h; then
-       echo >y.tab.h
-    fi
-    if test ! -f y.tab.c; then
-       echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex*|flex*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
-         in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
-    rm -f lex.yy.c
-    if test $# -ne 1; then
-        eval LASTARG="\${$#}"
-       case $LASTARG in
-       *.l)
-           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" lex.yy.c
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f lex.yy.c; then
-       echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  help2man*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-        you modified a dependency of a manual page.  You may need the
-        \`Help2man' package in order for those modifications to take
-        effect.  You can get \`Help2man' from any GNU archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo ".ab help2man is required to generate this page"
-       exit $?
-    fi
-    ;;
-
-  makeinfo*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
-    # The file to touch is that specified with -o ...
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -z "$file"; then
-      # ... or it is the one specified with @setfilename ...
-      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '
-       /^@setfilename/{
-         s/.* \([^ ]*\) *$/\1/
-         p
-         q
-       }' $infile`
-      # ... or it is derived from the source name (dir/f.texi becomes f.info)
-      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
-    fi
-    # If the file does not exist, the user really needs makeinfo;
-    # let's fail without touching anything.
-    test -f $file || exit 1
-    touch $file
-    ;;
-
-  tar*)
-    shift
-
-    # We have already tried tar in the generic part.
-    # Look for gnutar/gtar before invocation to avoid ugly error
-    # messages.
-    if (gnutar --version > /dev/null 2>&1); then
-       gnutar "$@" && exit 0
-    fi
-    if (gtar --version > /dev/null 2>&1); then
-       gtar "$@" && exit 0
-    fi
-    firstarg="$1"
-    if shift; then
-       case $firstarg in
-       *o*)
-           firstarg=`echo "$firstarg" | sed s/o//`
-           tar "$firstarg" "$@" && exit 0
-           ;;
-       esac
-       case $firstarg in
-       *h*)
-           firstarg=`echo "$firstarg" | sed s/h//`
-           tar "$firstarg" "$@" && exit 0
-           ;;
-       esac
-    fi
-
-    echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
-         You may want to install GNU tar or Free paxutils, or check the
-         command line arguments."
-    exit 1
-    ;;
-
-  *)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequisites for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
-    exit 1
-    ;;
-esac
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch.  This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+  msg="probably too old"
+elif test $st -eq 127; then
+  # Program was missing.
+  msg="missing on your system"
+else
+  # Program was found and executed, but failed.  Give up.
+  exit $st
+fi
 
-exit 0
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+  case $1 in
+    aclocal|automake)
+      echo "The '$1' program is part of the GNU Automake package:"
+      echo "<$gnu_software_URL/automake>"
+      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/autoconf>"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+    autoconf|autom4te|autoheader)
+      echo "The '$1' program is part of the GNU Autoconf package:"
+      echo "<$gnu_software_URL/autoconf/>"
+      echo "It also requires GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+  esac
+}
+
+give_advice ()
+{
+  # Normalize program name to check for.
+  normalized_program=`echo "$1" | sed '
+    s/^gnu-//; t
+    s/^gnu//; t
+    s/^g//; t'`
+
+  printf '%s\n' "'$1' is $msg."
+
+  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  case $normalized_program in
+    autoconf*)
+      echo "You should only need it if you modified 'configure.ac',"
+      echo "or m4 files included by it."
+      program_details 'autoconf'
+      ;;
+    autoheader*)
+      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "$configure_deps."
+      program_details 'autoheader'
+      ;;
+    automake*)
+      echo "You should only need it if you modified 'Makefile.am' or"
+      echo "$configure_deps."
+      program_details 'automake'
+      ;;
+    aclocal*)
+      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "$configure_deps."
+      program_details 'aclocal'
+      ;;
+   autom4te*)
+      echo "You might have modified some maintainer files that require"
+      echo "the 'automa4te' program to be rebuilt."
+      program_details 'autom4te'
+      ;;
+    bison*|yacc*)
+      echo "You should only need it if you modified a '.y' file."
+      echo "You may want to install the GNU Bison package:"
+      echo "<$gnu_software_URL/bison/>"
+      ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
+    help2man*)
+      echo "You should only need it if you modified a dependency" \
+           "of a man page."
+      echo "You may want to install the GNU Help2man package:"
+      echo "<$gnu_software_URL/help2man/>"
+    ;;
+    makeinfo*)
+      echo "You should only need it if you modified a '.texi' file, or"
+      echo "any other file indirectly affecting the aspect of the manual."
+      echo "You might want to install the Texinfo package:"
+      echo "<$gnu_software_URL/texinfo/>"
+      echo "The spurious makeinfo call might also be the consequence of"
+      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+      echo "want to install GNU make:"
+      echo "<$gnu_software_URL/make/>"
+      ;;
+    *)
+      echo "You might have modified some files without having the proper"
+      echo "tools for further handling them.  Check the 'README' file, it"
+      echo "often tells you about the needed prerequisites for installing"
+      echo "this package.  You may also peek at any GNU archive site, in"
+      echo "case some other package contains this missing '$1' program."
+      ;;
+  esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+                       -e '2,$s/^/         /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
 
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)
diff --git a/build-aux/mkinstalldirs b/build-aux/mkinstalldirs
deleted file mode 100755 (executable)
index 4191a45..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-
-scriptversion=2009-04-28.21; # UTC
-
-# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain.
-#
-# This file is maintained in Automake, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
-
-nl='
-'
-IFS=" ""       $nl"
-errstatus=0
-dirmode=
-
-usage="\
-Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
-
-Create each directory DIR (with mode MODE, if specified), including all
-leading file name components.
-
-Report bugs to <bug-automake@gnu.org>."
-
-# process command line arguments
-while test $# -gt 0 ; do
-  case $1 in
-    -h | --help | --h*)         # -h for help
-      echo "$usage"
-      exit $?
-      ;;
-    -m)                         # -m PERM arg
-      shift
-      test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
-      dirmode=$1
-      shift
-      ;;
-    --version)
-      echo "$0 $scriptversion"
-      exit $?
-      ;;
-    --)                         # stop option processing
-      shift
-      break
-      ;;
-    -*)                         # unknown option
-      echo "$usage" 1>&2
-      exit 1
-      ;;
-    *)                          # first non-opt arg
-      break
-      ;;
-  esac
-done
-
-for file
-do
-  if test -d "$file"; then
-    shift
-  else
-    break
-  fi
-done
-
-case $# in
-  0) exit 0 ;;
-esac
-
-# Solaris 8's mkdir -p isn't thread-safe.  If you mkdir -p a/b and
-# mkdir -p a/c at the same time, both will detect that a is missing,
-# one will create a, then the other will try to create a and die with
-# a "File exists" error.  This is a problem when calling mkinstalldirs
-# from a parallel make.  We use --version in the probe to restrict
-# ourselves to GNU mkdir, which is thread-safe.
-case $dirmode in
-  '')
-    if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
-      echo "mkdir -p -- $*"
-      exec mkdir -p -- "$@"
-    else
-      # On NextStep and OpenStep, the `mkdir' command does not
-      # recognize any option.  It will interpret all options as
-      # directories to create, and then abort because `.' already
-      # exists.
-      test -d ./-p && rmdir ./-p
-      test -d ./--version && rmdir ./--version
-    fi
-    ;;
-  *)
-    if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
-       test ! -d ./--version; then
-      echo "mkdir -m $dirmode -p -- $*"
-      exec mkdir -m "$dirmode" -p -- "$@"
-    else
-      # Clean up after NextStep and OpenStep mkdir.
-      for d in ./-m ./-p ./--version "./$dirmode";
-      do
-        test -d $d && rmdir $d
-      done
-    fi
-    ;;
-esac
-
-for file
-do
-  case $file in
-    /*) pathcomp=/ ;;
-    *)  pathcomp= ;;
-  esac
-  oIFS=$IFS
-  IFS=/
-  set fnord $file
-  shift
-  IFS=$oIFS
-
-  for d
-  do
-    test "x$d" = x && continue
-
-    pathcomp=$pathcomp$d
-    case $pathcomp in
-      -*) pathcomp=./$pathcomp ;;
-    esac
-
-    if test ! -d "$pathcomp"; then
-      echo "mkdir $pathcomp"
-
-      mkdir "$pathcomp" || lasterr=$?
-
-      if test ! -d "$pathcomp"; then
-       errstatus=$lasterr
-      else
-       if test ! -z "$dirmode"; then
-         echo "chmod $dirmode $pathcomp"
-         lasterr=
-         chmod "$dirmode" "$pathcomp" || lasterr=$?
-
-         if test ! -z "$lasterr"; then
-           errstatus=$lasterr
-         fi
-       fi
-      fi
-    fi
-
-    pathcomp=$pathcomp/
-  done
-done
-
-exit $errstatus
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
index 1a7b4da..c44ad89 100644 (file)
@@ -1,4 +1,4 @@
-#ifndef _Noreturn
+#if !defined _Noreturn && __STDC_VERSION__ < 201112
 # if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
       || 0x5110 <= __SUNPRO_C)
 #  define _Noreturn __attribute__ ((__noreturn__))
index 1b24a0d..8ea2a47 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A C macro for declaring that specific arguments must not be NULL.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
index eb53f1d..b35b933 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* C++ compatible function declaration macros.
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2010-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
index d211dd0..1347c27 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A C macro for declaring that specific function parameters are not used.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
index 5dfc590..1736a1b 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A C macro for emitting warnings if a function is used.
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2010-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
@@ -57,7 +55,7 @@
    rather than issue the nice warning, but the end result of informing
    the developer about their portability problem is still achieved):
    #if HAVE_RAW_DECL_ENVIRON
-   static inline char ***rpl_environ (void) { return &environ; }
+   static char ***rpl_environ (void) { return &environ; }
    _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
    # undef environ
    # define environ (*rpl_environ ())
diff --git a/build-aux/test-driver b/build-aux/test-driver
new file mode 100755 (executable)
index 0000000..32bf39e
--- /dev/null
@@ -0,0 +1,127 @@
+#! /bin/sh
+# test-driver - basic testsuite driver script.
+
+scriptversion=2012-06-27.10; # UTC
+
+# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+# Make unconditional expansion of undefined variables an error.  This
+# helps a lot in preventing typo-related bugs.
+set -u
+
+usage_error ()
+{
+  echo "$0: $*" >&2
+  print_usage >&2
+  exit 2
+}
+
+print_usage ()
+{
+  cat <<END
+Usage:
+  test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
+              [--expect-failure={yes|no}] [--color-tests={yes|no}]
+              [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
+The '--test-name', '--log-file' and '--trs-file' options are mandatory.
+END
+}
+
+# TODO: better error handling in option parsing (in particular, ensure
+# TODO: $log_file, $trs_file and $test_name are defined).
+test_name= # Used for reporting.
+log_file=  # Where to save the output of the test script.
+trs_file=  # Where to save the metadata of the test run.
+expect_failure=no
+color_tests=no
+enable_hard_errors=yes
+while test $# -gt 0; do
+  case $1 in
+  --help) print_usage; exit $?;;
+  --version) echo "test-driver $scriptversion"; exit $?;;
+  --test-name) test_name=$2; shift;;
+  --log-file) log_file=$2; shift;;
+  --trs-file) trs_file=$2; shift;;
+  --color-tests) color_tests=$2; shift;;
+  --expect-failure) expect_failure=$2; shift;;
+  --enable-hard-errors) enable_hard_errors=$2; shift;;
+  --) shift; break;;
+  -*) usage_error "invalid option: '$1'";;
+  esac
+  shift
+done
+
+if test $color_tests = yes; then
+  # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
+  red='\e[0;31m' # Red.
+  grn='\e[0;32m' # Green.
+  lgn='\e[1;32m' # Light green.
+  blu='\e[1;34m' # Blue.
+  mgn='\e[0;35m' # Magenta.
+  std='\e[m'     # No color.
+else
+  red= grn= lgn= blu= mgn= std=
+fi
+
+do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
+trap "st=129; $do_exit" 1
+trap "st=130; $do_exit" 2
+trap "st=141; $do_exit" 13
+trap "st=143; $do_exit" 15
+
+# Test script is run here.
+"$@" >$log_file 2>&1
+estatus=$?
+if test $enable_hard_errors = no && test $estatus -eq 99; then
+  estatus=1
+fi
+
+case $estatus:$expect_failure in
+  0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
+  0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
+  77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
+  99:*)  col=$mgn res=ERROR recheck=yes gcopy=yes;;
+  *:yes) col=$lgn res=XFAIL recheck=no  gcopy=yes;;
+  *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
+esac
+
+# Report outcome to console.
+echo "${col}${res}${std}: $test_name"
+
+# Register the test result, and other relevant metadata.
+echo ":test-result: $res" > $trs_file
+echo ":global-test-result: $res" >> $trs_file
+echo ":recheck: $recheck" >> $trs_file
+echo ":copy-in-global-log: $gcopy" >> $trs_file
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
index a7f94f9..85f184c 100644 (file)
@@ -3,11 +3,11 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2011-08-14.17}
+\def\texinfoversion{2013-02-01.11}
 %
 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-% 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+% 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
 %
 % This texinfo.tex file is free software: you can redistribute it and/or
 % modify it under the terms of the GNU General Public License as
 %
 % As a special exception, when this file is read by TeX when processing
 % a Texinfo source document, you may use the result without
-% restriction.  (This has been our intent since Texinfo was invented.)
+% restriction. This Exception is an additional permission under section 7
+% of the GNU General Public License, version 3 ("GPLv3").
 %
 % Please try the latest version of texinfo.tex before submitting bug
 % reports; you can get the latest version from:
-%   http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
-%   ftp://tug.org/tex/texinfo.tex
-%     (and all CTAN mirrors, see http://www.ctan.org).
+%   http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or
+%   http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or
+%   http://www.gnu.org/software/texinfo/ (the Texinfo home page)
 % The texinfo.tex in any given distribution could well be out
 % of date, so if that's what you're using, please check.
 %
 % Set up fixed words for English if not already set.
 \ifx\putwordAppendix\undefined  \gdef\putwordAppendix{Appendix}\fi
 \ifx\putwordChapter\undefined   \gdef\putwordChapter{Chapter}\fi
+\ifx\putworderror\undefined     \gdef\putworderror{error}\fi
 \ifx\putwordfile\undefined      \gdef\putwordfile{file}\fi
 \ifx\putwordin\undefined        \gdef\putwordin{in}\fi
 \ifx\putwordIndexIsEmpty\undefined       \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
   \errorcontextlines16
 }%
 
+% @errormsg{MSG}.  Do the index-like expansions on MSG, but if things
+% aren't perfect, it's not the end of the world, being an error message,
+% after all.
+% 
+\def\errormsg{\begingroup \indexnofonts \doerrormsg}
+\def\doerrormsg#1{\errmessage{#1}}
+
 % add check for \lastpenalty to plain's definitions.  If the last thing
 % we did was a \nobreak, we don't want to insert more space.
 %
 \def\:{\spacefactor=1000 }
 
 % @* forces a line break.
-\def\*{\hfil\break\hbox{}\ignorespaces}
+\def\*{\unskip\hfil\break\hbox{}\ignorespaces}
 
 % @/ allows a line break.
 \let\/=\allowbreak
@@ -879,7 +888,7 @@ where each line of input produces a line of output.}
 \def\popthisfilestack{\errthisfilestackempty}
 \def\errthisfilestackempty{\errmessage{Internal error:
   the stack of filenames is empty.}}
-
+%
 \def\thisfile{}
 
 % @center line
@@ -887,36 +896,46 @@ where each line of input produces a line of output.}
 %
 \parseargdef\center{%
   \ifhmode
-    \let\next\centerH
+    \let\centersub\centerH
   \else
-    \let\next\centerV
+    \let\centersub\centerV
   \fi
-  \next{\hfil \ignorespaces#1\unskip \hfil}%
+  \centersub{\hfil \ignorespaces#1\unskip \hfil}%
+  \let\centersub\relax % don't let the definition persist, just in case
 }
-\def\centerH#1{%
-  {%
-    \hfil\break
-    \advance\hsize by -\leftskip
-    \advance\hsize by -\rightskip
-    \line{#1}%
-    \break
-  }%
+\def\centerH#1{{%
+  \hfil\break
+  \advance\hsize by -\leftskip
+  \advance\hsize by -\rightskip
+  \line{#1}%
+  \break
+}}
+%
+\newcount\centerpenalty
+\def\centerV#1{%
+  % The idea here is the same as in \startdefun, \cartouche, etc.: if
+  % @center is the first thing after a section heading, we need to wipe
+  % out the negative parskip inserted by \sectionheading, but still
+  % prevent a page break here.
+  \centerpenalty = \lastpenalty
+  \ifnum\centerpenalty>10000 \vskip\parskip \fi
+  \ifnum\centerpenalty>9999 \penalty\centerpenalty \fi
+  \line{\kern\leftskip #1\kern\rightskip}%
 }
-\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
 
 % @sp n   outputs n lines of vertical space
-
+%
 \parseargdef\sp{\vskip #1\baselineskip}
 
 % @comment ...line which is ignored...
 % @c is the same as @comment
 % @ignore ... @end ignore  is another way to write a comment
-
+%
 \def\comment{\begingroup \catcode`\^^M=\other%
 \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
 \commentxxx}
 {\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
-
+%
 \let\c=\comment
 
 % @paragraphindent NCHARS
@@ -1089,50 +1108,24 @@ where each line of input produces a line of output.}
 % for display in the outlines, and in other places.  Thus, we have to
 % double any backslashes.  Otherwise, a name like "\node" will be
 % interpreted as a newline (\n), followed by o, d, e.  Not good.
-% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html
-% (and related messages, the final outcome is that it is up to the TeX
-% user to double the backslashes and otherwise make the string valid, so
-% that's what we do).
-
-% double active backslashes.
-%
-{\catcode`\@=0 \catcode`\\=\active
- @gdef@activebackslashdouble{%
-   @catcode`@\=@active
-   @let\=@doublebackslash}
-}
-
-% To handle parens, we must adopt a different approach, since parens are
-% not active characters.  hyperref.dtx (which has the same problem as
-% us) handles it with this amazing macro to replace tokens, with minor
-% changes for Texinfo.  It is included here under the GPL by permission
-% from the author, Heiko Oberdiek.
-%
-% #1 is the tokens to replace.
-% #2 is the replacement.
-% #3 is the control sequence with the string.
-%
-\def\HyPsdSubst#1#2#3{%
-  \def\HyPsdReplace##1#1##2\END{%
-    ##1%
-    \ifx\\##2\\%
-    \else
-      #2%
-      \HyReturnAfterFi{%
-        \HyPsdReplace##2\END
-      }%
-    \fi
-  }%
-  \xdef#3{\expandafter\HyPsdReplace#3#1\END}%
-}
-\long\def\HyReturnAfterFi#1\fi{\fi#1}
-
-% #1 is a control sequence in which to do the replacements.
-\def\backslashparens#1{%
-  \xdef#1{#1}% redefine it as its expansion; the definition is simply
-             % \lastnode when called from \setref -> \pdfmkdest.
-  \HyPsdSubst{(}{\realbackslash(}{#1}%
-  \HyPsdSubst{)}{\realbackslash)}{#1}%
+% 
+% See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and
+% related messages.  The final outcome is that it is up to the TeX user
+% to double the backslashes and otherwise make the string valid, so
+% that's what we do.  pdftex 1.30.0 (ca.2005) introduced a primitive to
+% do this reliably, so we use it.
+
+% #1 is a control sequence in which to do the replacements,
+% which we \xdef.
+\def\txiescapepdf#1{%
+  \ifx\pdfescapestring\thisisundefined
+    % No primitive available; should we give a warning or log?
+    % Many times it won't matter.
+  \else
+    % The expandable \pdfescapestring primitive escapes parentheses,
+    % backslashes, and other special chars.
+    \xdef#1{\pdfescapestring{#1}}%
+  \fi
 }
 
 \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images
@@ -1191,32 +1184,34 @@ output) for that.)}
   %
   % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
   \def\dopdfimage#1#2#3{%
-    \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
-    \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
+    \def\pdfimagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
+    \def\pdfimageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
     %
-    % pdftex (and the PDF format) support .png, .jpg, .pdf (among
-    % others).  Let's try in that order.
+    % pdftex (and the PDF format) support .pdf, .png, .jpg (among
+    % others).  Let's try in that order, PDF first since if
+    % someone has a scalable image, presumably better to use that than a
+    % bitmap.
     \let\pdfimgext=\empty
     \begingroup
-      \openin 1 #1.png \ifeof 1
-        \openin 1 #1.jpg \ifeof 1
-          \openin 1 #1.jpeg \ifeof 1
-            \openin 1 #1.JPG \ifeof 1
-              \openin 1 #1.pdf \ifeof 1
-                \openin 1 #1.PDF \ifeof 1
+      \openin 1 #1.pdf \ifeof 1
+        \openin 1 #1.PDF \ifeof 1
+          \openin 1 #1.png \ifeof 1
+            \openin 1 #1.jpg \ifeof 1
+              \openin 1 #1.jpeg \ifeof 1
+                \openin 1 #1.JPG \ifeof 1
                   \errhelp = \nopdfimagehelp
                   \errmessage{Could not find image file #1 for pdf}%
-                \else \gdef\pdfimgext{PDF}%
+                \else \gdef\pdfimgext{JPG}%
                 \fi
-              \else \gdef\pdfimgext{pdf}%
+              \else \gdef\pdfimgext{jpeg}%
               \fi
-            \else \gdef\pdfimgext{JPG}%
+            \else \gdef\pdfimgext{jpg}%
             \fi
-          \else \gdef\pdfimgext{jpeg}%
+          \else \gdef\pdfimgext{png}%
           \fi
-        \else \gdef\pdfimgext{jpg}%
+        \else \gdef\pdfimgext{PDF}%
         \fi
-      \else \gdef\pdfimgext{png}%
+      \else \gdef\pdfimgext{pdf}%
       \fi
       \closein 1
     \endgroup
@@ -1228,8 +1223,8 @@ output) for that.)}
     \else
       \immediate\pdfximage
     \fi
-      \ifdim \wd0 >0pt width \imagewidth \fi
-      \ifdim \wd2 >0pt height \imageheight \fi
+      \ifdim \wd0 >0pt width \pdfimagewidth \fi
+      \ifdim \wd2 >0pt height \pdfimageheight \fi
       \ifnum\pdftexversion<13
          #1.\pdfimgext
        \else
@@ -1244,10 +1239,9 @@ output) for that.)}
     % such as \, aren't expanded when present in a section title.
     \indexnofonts
     \turnoffactive
-    \activebackslashdouble
     \makevalueexpandable
     \def\pdfdestname{#1}%
-    \backslashparens\pdfdestname
+    \txiescapepdf\pdfdestname
     \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
   }}
   %
@@ -1279,28 +1273,22 @@ output) for that.)}
     % page number.  We could generate a destination for the section
     % text in the case where a section has no node, but it doesn't
     % seem worth the trouble, since most documents are normally structured.
-    \def\pdfoutlinedest{#3}%
+    \edef\pdfoutlinedest{#3}%
     \ifx\pdfoutlinedest\empty
       \def\pdfoutlinedest{#4}%
     \else
-      % Doubled backslashes in the name.
-      {\activebackslashdouble \xdef\pdfoutlinedest{#3}%
-       \backslashparens\pdfoutlinedest}%
+      \txiescapepdf\pdfoutlinedest
     \fi
     %
-    % Also double the backslashes in the display string.
-    {\activebackslashdouble \xdef\pdfoutlinetext{#1}%
-     \backslashparens\pdfoutlinetext}%
+    % Also escape PDF chars in the display string.
+    \edef\pdfoutlinetext{#1}%
+    \txiescapepdf\pdfoutlinetext
     %
     \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
   }
   %
   \def\pdfmakeoutlines{%
     \begingroup
-      % Thanh's hack / proper braces in bookmarks
-      \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
-      \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
-      %
       % Read toc silently, to get counts of subentries for \pdfoutline.
       \def\partentry##1##2##3##4{}% ignore parts in the outlines
       \def\numchapentry##1##2##3##4{%
@@ -1356,25 +1344,41 @@ output) for that.)}
       % Latin 2 (0xea) gets translated to a | character.  Info from
       % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
       %
-      % xx to do this right, we have to translate 8-bit characters to
-      % their "best" equivalent, based on the @documentencoding.  Right
-      % now, I guess we'll just let the pdf reader have its way.
+      % TODO this right, we have to translate 8-bit characters to
+      % their "best" equivalent, based on the @documentencoding.  Too
+      % much work for too little return.  Just use the ASCII equivalents
+      % we use for the index sort strings.
+      % 
       \indexnofonts
       \setupdatafile
+      % We can have normal brace characters in the PDF outlines, unlike
+      % Texinfo index files.  So set that up.
+      \def\{{\lbracecharliteral}%
+      \def\}{\rbracecharliteral}%
       \catcode`\\=\active \otherbackslash
       \input \tocreadfilename
     \endgroup
   }
+  {\catcode`[=1 \catcode`]=2
+   \catcode`{=\other \catcode`}=\other
+   \gdef\lbracecharliteral[{]%
+   \gdef\rbracecharliteral[}]%
+  ]
   %
   \def\skipspaces#1{\def\PP{#1}\def\D{|}%
     \ifx\PP\D\let\nextsp\relax
     \else\let\nextsp\skipspaces
-      \ifx\p\space\else\addtokens{\filename}{\PP}%
-        \advance\filenamelength by 1
-      \fi
+      \addtokens{\filename}{\PP}%
+      \advance\filenamelength by 1
     \fi
     \nextsp}
-  \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
+  \def\getfilename#1{%
+    \filenamelength=0
+    % If we don't expand the argument now, \skipspaces will get
+    % snagged on things like "@value{foo}".
+    \edef\temp{#1}%
+    \expandafter\skipspaces\temp|\relax
+  }
   \ifnum\pdftexversion < 14
     \let \startlink \pdfannotlink
   \else
@@ -1471,9 +1475,6 @@ output) for that.)}
 \def\ttsl{\setfontstyle{ttsl}}
 
 
-% Default leading.
-\newdimen\textleading  \textleading = 13.2pt
-
 % Set the baselineskip to #1, and the lineskip and strut size
 % correspondingly.  There is no deep meaning behind these magic numbers
 % used as factors; they just match (closely enough) what Knuth defined.
@@ -1485,6 +1486,7 @@ output) for that.)}
 % can get a sort of poor man's double spacing by redefining this.
 \def\baselinefactor{1}
 %
+\newdimen\textleading
 \def\setleading#1{%
   \dimen0 = #1\relax
   \normalbaselineskip = \baselinefactor\dimen0
@@ -1757,18 +1759,24 @@ end
 \fi\fi
 
 
-% Set the font macro #1 to the font named #2, adding on the
-% specified font prefix (normally `cm').
+% Set the font macro #1 to the font named \fontprefix#2.
 % #3 is the font's design size, #4 is a scale factor, #5 is the CMap
-% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass
-% empty to omit).
+% encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit).
+% Example:
+% #1 = \textrm
+% #2 = \rmshape
+% #3 = 10
+% #4 = \mainmagstep
+% #5 = OT1
+%
 \def\setfont#1#2#3#4#5{%
   \font#1=\fontprefix#2#3 scaled #4
   \csname cmap#5\endcsname#1%
 }
 % This is what gets called when #5 of \setfont is empty.
 \let\cmap\gobble
-% emacs-page end of cmaps
+%
+% (end of cmaps)
 
 % Use cm as the default font prefix.
 % To specify the font prefix, you must define \fontprefix
@@ -1778,7 +1786,7 @@ end
 \fi
 % Support font families that don't use the same naming scheme as CM.
 \def\rmshape{r}
-\def\rmbshape{bx}               %where the normal face is bold
+\def\rmbshape{bx}               % where the normal face is bold
 \def\bfshape{b}
 \def\bxshape{bx}
 \def\ttshape{tt}
@@ -1793,8 +1801,7 @@ end
 \def\scshape{csc}
 \def\scbshape{csc}
 
-% Definitions for a main text size of 11pt.  This is the default in
-% Texinfo.
+% Definitions for a main text size of 11pt.  (The default in Texinfo.)
 %
 \def\definetextfontsizexi{%
 % Text fonts (11.2pt, magstep1).
@@ -1919,7 +1926,7 @@ end
 \textleading = 13.2pt % line spacing for 11pt CM
 \textfonts            % reset the current fonts
 \rm
-} % end of 11pt text font size definitions
+} % end of 11pt text font size definitions, \definetextfontsizexi
 
 
 % Definitions to make the main text be 10pt Computer Modern, with
@@ -2051,7 +2058,7 @@ end
 \textleading = 12pt   % line spacing for 10pt CM
 \textfonts            % reset the current fonts
 \rm
-} % end of 10pt text font size definitions
+} % end of 10pt text font size definitions, \definetextfontsizex
 
 
 % We provide the user-level command
@@ -2266,8 +2273,6 @@ end
 
 \gdef\markupsetcodequoteleft{\let`\codequoteleft}
 \gdef\markupsetcodequoteright{\let'\codequoteright}
-
-\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
 }
 
 \let\markupsetuplqcode \markupsetcodequoteleft
@@ -2276,6 +2281,9 @@ end
 \let\markupsetuplqexample \markupsetcodequoteleft
 \let\markupsetuprqexample \markupsetcodequoteright
 %
+\let\markupsetuplqkbd     \markupsetcodequoteleft
+\let\markupsetuprqkbd     \markupsetcodequoteright
+%
 \let\markupsetuplqsamp \markupsetcodequoteleft
 \let\markupsetuprqsamp \markupsetcodequoteright
 %
@@ -2285,8 +2293,6 @@ end
 \let\markupsetuplqverbatim \markupsetcodequoteleft
 \let\markupsetuprqverbatim \markupsetcodequoteright
 
-\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
-
 % Allow an option to not use regular directed right quote/apostrophe
 % (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
 % The undirected quote is ugly, so don't make it the default, but it
@@ -2372,19 +2378,26 @@ end
   \else\ifx\next-%
   \else\ifx\next.%
   \else\ptexslash
-  \fi\fi\fi}
+  \fi\fi\fi
+  \aftersmartic
+}
 
-% like \smartslanted except unconditionally uses \ttsl, and no ic.
-% @var is set to this for defun arguments.
+% Unconditional use \ttsl, and no ic.  @var is set to this for defuns.
 \def\ttslanted#1{{\ttsl #1}}
 
 % @cite is like \smartslanted except unconditionally use \sl.  We never want
 % ttsl for book titles, do we?
 \def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection}
 
+\def\aftersmartic{}
+\def\var#1{%
+  \let\saveaftersmartic = \aftersmartic
+  \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
+  \smartslanted{#1}%
+}
+
 \let\i=\smartitalic
 \let\slanted=\smartslanted
-\def\var#1{\smartslanted{#1}}
 \let\dfn=\smartslanted
 \let\emph=\smartitalic
 
@@ -2434,34 +2447,12 @@ end
 % @samp.
 \def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
 
-% definition of @key that produces a lozenge.  Doesn't adjust to text size.
-%\setfont\keyrm\rmshape{8}{1000}{OT1}
-%\font\keysy=cmsy9
-%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
-%  \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
-%    \vbox{\hrule\kern-0.4pt
-%     \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
-%    \kern-0.4pt\hrule}%
-%  \kern-.06em\raise0.4pt\hbox{\angleright}}}}
-
-% definition of @key with no lozenge.  If the current font is already
-% monospace, don't change it; that way, we respect @kbdinputstyle.  But
-% if it isn't monospace, then use \tt.
-%
-\def\key#1{{\setupmarkupstyle{key}%
-  \nohyphenation
-  \ifmonospace\else\tt\fi
-  #1}\null}
-
-% ctrl is no longer a Texinfo command.
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-
-% @file, @option are the same as @samp.
-\let\file=\samp
-\let\option=\samp
+% @indicateurl is \samp, that is, with quotes.
+\let\indicateurl=\samp
 
-% @code is a modification of @t,
-% which makes spaces the same size as normal in the surrounding text.
+% @code (and similar) prints in typewriter, but with spaces the same
+% size as normal in the surrounding text, without hyphenation, etc.
+% This is a subroutine for that.
 \def\tclose#1{%
   {%
     % Change normal interword space to be same as for the current font.
@@ -2480,13 +2471,13 @@ end
     \plainfrenchspacing
     #1%
   }%
-  \null
+  \null % reset spacefactor to 1000
 }
 
 % We *must* turn on hyphenation at `-' and `_' in @code.
 % Otherwise, it is too hard to avoid overfull hboxes
 % in the Emacs manual, the Library manual, etc.
-
+%
 % Unfortunately, TeX uses one parameter (\hyphenchar) to control
 % both hyphenation at - and hyphenation within words.
 % We must therefore turn them both off (\tclose does that)
@@ -2505,7 +2496,7 @@ end
      \let-\codedash
      \let_\codeunder
     \else
-     \let-\realdash
+     \let-\normaldash
      \let_\realunder
     \fi
     \codex
@@ -2514,7 +2505,7 @@ end
 
 \def\codex #1{\tclose{#1}\endgroup}
 
-\def\realdash{-}
+\def\normaldash{-}
 \def\codedash{-\discretionary{}{}{}}
 \def\codeunder{%
   % this is all so @math{@code{var_name}+1} can work.  In math mode, _
@@ -2529,9 +2520,9 @@ end
 }
 
 % An additional complication: the above will allow breaks after, e.g.,
-% each of the four underscores in __typeof__.  This is undesirable in
-% some manuals, especially if they don't have long identifiers in
-% general.  @allowcodebreaks provides a way to control this.
+% each of the four underscores in __typeof__.  This is bad.
+% @allowcodebreaks provides a document-level way to turn breaking at -
+% and _ on and off.
 %
 \newif\ifallowcodebreaks  \allowcodebreakstrue
 
@@ -2550,6 +2541,13 @@ end
   \fi\fi
 }
 
+% For @command, @env, @file, @option quotes seem unnecessary,
+% so use \code rather than \samp.
+\let\command=\code
+\let\env=\code
+\let\file=\code
+\let\option=\code
+
 % @uref (abbreviation for `urlref') takes an optional (comma-separated)
 % second argument specifying the text to display and an optional third
 % arg as text to display instead of (rather than in addition to) the url
@@ -2696,10 +2694,6 @@ end
   \let\email=\uref
 \fi
 
-% @kbd is like @code, except that if the argument is just one @key command,
-% then @kbd has no effect.
-\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
-
 % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
 %   `example' (@kbd uses ttsl only inside of @example and friends),
 %   or `code' (@kbd uses normal tty font always).
@@ -2723,16 +2717,36 @@ end
 % Default is `distinct'.
 \kbdinputstyle distinct
 
+% @kbd is like @code, except that if the argument is just one @key command,
+% then @kbd has no effect.
+\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}}
+
 \def\xkey{\key}
-\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
-\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
+\def\kbdsub#1#2#3\par{%
+  \def\one{#1}\def\three{#3}\def\threex{??}%
+  \ifx\one\xkey\ifx\threex\three \key{#2}%
+  \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+  \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+}
 
-% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
-\let\indicateurl=\code
-\let\env=\code
-\let\command=\code
+% definition of @key that produces a lozenge.  Doesn't adjust to text size.
+%\setfont\keyrm\rmshape{8}{1000}{OT1}
+%\font\keysy=cmsy9
+%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
+%  \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+%    \vbox{\hrule\kern-0.4pt
+%     \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+%    \kern-0.4pt\hrule}%
+%  \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+
+% definition of @key with no lozenge.  If the current font is already
+% monospace, don't change it; that way, we respect @kbdinputstyle.  But
+% if it isn't monospace, then use \tt.
+%
+\def\key#1{{\setupmarkupstyle{key}%
+  \nohyphenation
+  \ifmonospace\else\tt\fi
+  #1}\null}
 
 % @clicksequence{File @click{} Open ...}
 \def\clicksequence#1{\begingroup #1\endgroup}
@@ -2762,6 +2776,7 @@ end
   \ifx\temp\empty \else
     \space ({\unsepspaces \ignorespaces \temp \unskip})%
   \fi
+  \null % reset \spacefactor=1000
 }
 
 % @abbr for "Comput. J." and the like.
@@ -2774,6 +2789,7 @@ end
   \ifx\temp\empty \else
     \space ({\unsepspaces \ignorespaces \temp \unskip})%
   \fi
+  \null % reset \spacefactor=1000
 }
 
 % @asis just yields its argument.  Used with @table, for example.
@@ -2838,20 +2854,51 @@ end
   }
 }
 
+% ctrl is no longer a Texinfo command, but leave this definition for fun.
+\def\ctrl #1{{\tt \rawbackslash \hat}#1}
+
+% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
+% Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
+% except specified as a normal braced arg, so no newlines to worry about.
+% 
+\def\outfmtnametex{tex}
+%
+\long\def\inlinefmt#1{\doinlinefmt #1,\finish}
+\long\def\doinlinefmt#1,#2,\finish{%
+  \def\inlinefmtname{#1}%
+  \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
+}
+% For raw, must switch into @tex before parsing the argument, to avoid
+% setting catcodes prematurely.  Doing it this way means that, for
+% example, @inlineraw{html, foo{bar} gets a parse error instead of being
+% ignored.  But this isn't important because if people want a literal
+% *right* brace they would have to use a command anyway, so they may as
+% well use a command to get a left brace too.  We could re-use the
+% delimiter character idea from \verb, but it seems like overkill.
+% 
+\long\def\inlineraw{\tex \doinlineraw}
+\long\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
+\def\doinlinerawtwo#1,#2,\finish{%
+  \def\inlinerawname{#1}%
+  \ifx\inlinerawname\outfmtnametex \ignorespaces #2\fi
+  \endgroup % close group opened by \tex.
+}
+
 
 \message{glyphs,}
 % and logos.
 
-% @@ prints an @.
+% @@ prints an @, as does @atchar{}.
 \def\@{\char64 }
+\let\atchar=\@
 
-% Used to generate quoted braces.  Unless we're in typewriter, use
-% \ecfont because the CM text fonts do not have braces, and we don't
-% want to switch into math.
+% @{ @} @lbracechar{} @rbracechar{} all generate brace characters.
+% Unless we're in typewriter, use \ecfont because the CM text fonts do
+% not have braces, and we don't want to switch into math.
 \def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}}
 \def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}}
-\let\{=\mylbrace
-\let\}=\myrbrace
+\let\{=\mylbrace \let\lbracechar=\{
+\let\}=\myrbrace \let\rbracechar=\}
 \begingroup
   % Definitions to produce \{ and \} commands for indices,
   % and @{ and @} for the aux/toc files.
@@ -2979,7 +3026,7 @@ end
 {\tentt \global\dimen0 = 3em}% Width of the box.
 \dimen2 = .55pt % Thickness of rules
 % The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
+\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt}
 %
 \setbox\errorbox=\hbox to \dimen0{\hfil
    \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
@@ -3100,12 +3147,17 @@ end
   % hopefully nobody will notice/care.
   \edef\ecsize{\csname\curfontsize ecsize\endcsname}%
   \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
-  \ifx\curfontstyle\bfstylename
-    % bold:
-    \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
+  \ifmonospace
+    % typewriter:
+    \font\thisecfont = ectt\ecsize \space at \nominalsize
   \else
-    % regular:
-    \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+    \ifx\curfontstyle\bfstylename
+      % bold:
+      \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
+    \else
+      % regular:
+      \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+    \fi
   \fi
   \thisecfont
 }
@@ -3218,6 +3270,20 @@ end
   \finishedtitlepagetrue
 }
 
+% Settings used for typesetting titles: no hyphenation, no indentation,
+% don't worry much about spacing, ragged right.  This should be used
+% inside a \vbox, and fonts need to be set appropriately first.  Because
+% it is always used for titles, nothing else, we call \rmisbold.  \par
+% should be specified before the end of the \vbox, since a vbox is a group.
+% 
+\def\raggedtitlesettings{%
+  \rmisbold
+  \hyphenpenalty=10000
+  \parindent=0pt
+  \tolerance=5000
+  \ptexraggedright
+}
+
 % Macros to be used within @titlepage:
 
 \let\subtitlerm=\tenrm
@@ -3225,7 +3291,7 @@ end
 
 \parseargdef\title{%
   \checkenv\titlepage
-  \leftline{\titlefonts\rmisbold #1}
+  \vbox{\titlefonts \raggedtitlesettings #1\par}%
   % print a rule at the page bottom also.
   \finishedtitlepagefalse
   \vskip4pt \hrule height 4pt width \hsize \vskip4pt
@@ -3955,13 +4021,13 @@ end
 %        If so, set to same dimension as multitablelinespace.
 \ifdim\multitableparskip>\multitablelinespace
 \global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
-                                      %% than skip between lines in the table.
+\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
+                                      % than skip between lines in the table.
 \fi%
 \ifdim\multitableparskip=0pt
 \global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
-                                      %% than skip between lines in the table.
+\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
+                                      % than skip between lines in the table.
 \fi}
 
 
@@ -4122,7 +4188,7 @@ end
     % ..., but we might end up with active ones in the argument if
     % we're called from @code, as @code{@value{foo-bar_}}, though.
     % So \let them to their normal equivalents.
-    \let-\realdash \let_\normalunderscore
+    \let-\normaldash \let_\normalunderscore
   }
 }
 
@@ -4162,7 +4228,7 @@ end
 }
 \def\ifsetfail{\doignore{ifset}}
 
-% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
+% @ifclear VAR ... @end executes the `...' iff VAR has never been
 % defined with @set, or has been undefined with @clear.
 %
 % The `\else' inside the `\doifset' parameter is a trick to reuse the
@@ -4173,6 +4239,35 @@ end
 \def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
 \def\ifclearfail{\doignore{ifclear}}
 
+% @ifcommandisdefined CMD ... @end executes the `...' if CMD (written
+% without the @) is in fact defined.  We can only feasibly check at the
+% TeX level, so something like `mathcode' is going to considered
+% defined even though it is not a Texinfo command.
+% 
+\makecond{ifcommanddefined}
+\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
+%
+\def\doifcmddefined#1#2{{%
+    \makevalueexpandable
+    \let\next=\empty
+    \expandafter\ifx\csname #2\endcsname\relax
+      #1% If not defined, \let\next as above.
+    \fi
+    \expandafter
+  }\next
+}
+\def\ifcmddefinedfail{\doignore{ifcommanddefined}}
+
+% @ifcommandnotdefined CMD ... handled similar to @ifclear above.
+\makecond{ifcommandnotdefined}
+\def\ifcommandnotdefined{%
+  \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}}
+\def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}}
+
+% Set the `txicommandconditionals' variable, so documents have a way to
+% test if the @ifcommand...defined conditionals are available.
+\set txicommandconditionals
+
 % @dircategory CATEGORY  -- specify a category of the dir file
 % which this file should belong to.  Ignore this in TeX.
 \let\dircategory=\comment
@@ -4409,6 +4504,7 @@ end
   \definedummyword\guillemetright
   \definedummyword\guilsinglleft
   \definedummyword\guilsinglright
+  \definedummyword\lbracechar
   \definedummyword\leq
   \definedummyword\minus
   \definedummyword\ogonek
@@ -4421,6 +4517,7 @@ end
   \definedummyword\quoteleft
   \definedummyword\quoteright
   \definedummyword\quotesinglbase
+  \definedummyword\rbracechar
   \definedummyword\result
   \definedummyword\textdegree
   %
@@ -4472,7 +4569,9 @@ end
   \definedummyword\t
   %
   % Commands that take arguments.
+  \definedummyword\abbr
   \definedummyword\acronym
+  \definedummyword\anchor
   \definedummyword\cite
   \definedummyword\code
   \definedummyword\command
@@ -4482,7 +4581,9 @@ end
   \definedummyword\emph
   \definedummyword\env
   \definedummyword\file
+  \definedummyword\image
   \definedummyword\indicateurl
+  \definedummyword\inforef
   \definedummyword\kbd
   \definedummyword\key
   \definedummyword\math
@@ -4529,7 +4630,10 @@ end
   % content at all.  So for index sorting, we map @{ and @} to strings
   % starting with |, since that ASCII character is between ASCII { and }.
   \def\{{|a}%
+  \def\lbracechar{|a}%
+  %
   \def\}{|b}%
+  \def\rbracechar{|b}%
   %
   % Non-English letters.
   \def\AA{AA}%
@@ -4705,10 +4809,9 @@ end
 %
 % ..., ready, GO:
 %
-\def\safewhatsit#1{%
-\ifhmode
+\def\safewhatsit#1{\ifhmode
   #1%
-\else
+ \else
   % \lastskip and \lastpenalty cannot both be nonzero simultaneously.
   \whatsitskip = \lastskip
   \edef\lastskipmacro{\the\lastskip}%
@@ -4732,7 +4835,6 @@ end
     % to re-insert the same penalty (values >10000 are used for various
     % signals); since we just inserted a non-discardable item, any
     % following glue (such as a \parskip) would be a breakpoint.  For example:
-    %
     %   @deffn deffn-whatever
     %   @vindex index-whatever
     %   Description.
@@ -4745,8 +4847,7 @@ end
     % (the whatsit from the \write), so we must insert a \nobreak.
     \nobreak\vskip\whatsitskip
   \fi
-\fi
-}
+\fi}
 
 % The index entry written in the file actually looks like
 %  \entry {sortstring}{page}{topic}
@@ -5493,14 +5594,6 @@ end
 
 % Define @majorheading, @heading and @subheading
 
-% NOTE on use of \vbox for chapter headings, section headings, and such:
-%       1) We use \vbox rather than the earlier \line to permit
-%          overlong headings to fold.
-%       2) \hyphenpenalty is set to 10000 because hyphenation in a
-%          heading is obnoxious; this forbids it.
-%       3) Likewise, headings look best if no \parindent is used, and
-%          if justification is not attempted.  Hence \raggedright.
-
 \def\majorheading{%
   {\advance\chapheadingskip by 10pt \chapbreak }%
   \parsearg\chapheadingzzz
@@ -5508,10 +5601,8 @@ end
 
 \def\chapheading{\chapbreak \parsearg\chapheadingzzz}
 \def\chapheadingzzz#1{%
-  {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                    \parindent=0pt\ptexraggedright
-                    \rmisbold #1\hfill}}%
-  \bigskip \par\penalty 200\relax
+  \vbox{\chapfonts \raggedtitlesettings #1\par}%
+  \nobreak\bigskip \nobreak
   \suppressfirstparagraphindent
 }
 
@@ -5670,8 +5761,7 @@ end
     %
     % Typeset the actual heading.
     \nobreak % Avoid page breaks at the interline glue.
-    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
-          \hangindent=\wd0 \centerparametersmaybe
+    \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe
           \unhbox0 #1\par}%
   }%
   \nobreak\bigskip % no page break after a chapter title
@@ -5693,18 +5783,18 @@ end
 \def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
 %
 \def\unnchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                       \parindent=0pt\ptexraggedright
-                       \rmisbold #1\hfill}}\bigskip \par\nobreak
+  \chapoddpage
+  \vbox{\chapfonts \raggedtitlesettings #1\par}%
+  \nobreak\bigskip\nobreak
 }
 \def\chfopen #1#2{\chapoddpage {\chapfonts
 \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
 \par\penalty 5000 %
 }
 \def\centerchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                       \parindent=0pt
-                       \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak
+  \chapoddpage
+  \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}%
+  \nobreak\bigskip \nobreak
 }
 \def\CHAPFopen{%
   \global\let\chapmacro=\chfopen
@@ -5849,14 +5939,15 @@ end
   %
   % We'll almost certainly start a paragraph next, so don't let that
   % glue accumulate.  (Not a breakpoint because it's preceded by a
-  % discardable item.)
+  % discardable item.)  However, when a paragraph is not started next
+  % (\startdefun, \cartouche, \center, etc.), this needs to be wiped out
+  % or the negative glue will cause weirdly wrong output, typically
+  % obscuring the section heading with something else.
   \vskip-\parskip
   %
-  % This is purely so the last item on the list is a known \penalty >
-  % 10000.  This is so \startdefun can avoid allowing breakpoints after
-  % section headings.  Otherwise, it would insert a valid breakpoint between:
-  %   @section sec-whatever
-  %   @deffn def-whatever
+  % This is so the last item on the main vertical list is a known
+  % \penalty > 10000, so \startdefun, etc., can recognize the situation
+  % and do the needful.
   \penalty 10001
 }
 
@@ -6276,7 +6367,7 @@ end
   % If this cartouche directly follows a sectioning command, we need the
   % \parskip glue (backspaced over by default) or the cartouche can
   % collide with the section heading.
-  \ifnum\lastpenalty>10000 \vskip\parskip \fi
+  \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi
   %
   \vbox\bgroup
       \baselineskip=0pt\parskip=0pt\lineskip=0pt
@@ -6469,16 +6560,9 @@ end
 \makedispenvdef{quotation}{\quotationstart}
 %
 \def\quotationstart{%
-  {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
-  \parindent=0pt
-  %
-  % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+  \indentedblockstart % same as \indentedblock, but increase right margin too.
   \ifx\nonarrowing\relax
-    \advance\leftskip by \lispnarrowing
     \advance\rightskip by \lispnarrowing
-    \exdentamount = \lispnarrowing
-  \else
-    \let\nonarrowing = \relax
   \fi
   \parsearg\quotationlabel
 }
@@ -6504,6 +6588,32 @@ end
   \fi
 }
 
+% @indentedblock is like @quotation, but indents only on the left and
+% has no optional argument.
+% 
+\makedispenvdef{indentedblock}{\indentedblockstart}
+%
+\def\indentedblockstart{%
+  {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
+  \parindent=0pt
+  %
+  % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+  \ifx\nonarrowing\relax
+    \advance\leftskip by \lispnarrowing
+    \exdentamount = \lispnarrowing
+  \else
+    \let\nonarrowing = \relax
+  \fi
+}
+
+% Keep a nonzero parskip for the environment, since we're doing normal filling.
+%
+\def\Eindentedblock{%
+  \par
+  {\parskip=0pt \afterenvbreak}%
+}
+\def\Esmallindentedblock{\Eindentedblock}
+
 
 % LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
 % If we want to allow any <char> as delimiter,
@@ -6982,7 +7092,10 @@ end
   \df \sl \hyphenchar\font=0
   %
   % On the other hand, if an argument has two dashes (for instance), we
-  % want a way to get ttsl.  Let's try @var for that.
+  % want a way to get ttsl.  We used to recommend @var for that, so
+  % leave the code in, but it's strange for @var to lead to typewriter.
+  % Nowadays we recommend @code, since the difference between a ttsl hyphen
+  % and a tt hyphen is pretty tiny.  @code also disables ?` !`.
   \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
   #1%
   \sl\hyphenchar\font=45
@@ -7247,9 +7360,15 @@ end
 \def\macroxxx#1{%
   \getargs{#1}% now \macname is the macname and \argl the arglist
   \ifx\argl\empty       % no arguments
-     \paramno=0
+     \paramno=0\relax
   \else
      \expandafter\parsemargdef \argl;%
+     \if\paramno>256\relax
+       \ifx\eTeXversion\thisisundefined
+         \errhelp = \EMsimple
+         \errmessage{You need eTeX to compile a file with macros with more than 256 arguments}
+       \fi
+     \fi
   \fi
   \if1\csname ismacro.\the\macname\endcsname
      \message{Warning: redefining \the\macname}%
@@ -7299,9 +7418,17 @@ end
 \def\getmacname#1 #2\relax{\macname={#1}}
 \def\getmacargs#1{\def\argl{#1}}
 
+% For macro processing make @ a letter so that we can make Texinfo private macro names.
+\edef\texiatcatcode{\the\catcode`\@}
+\catcode `@=11\relax
+
 % Parse the optional {params} list.  Set up \paramno and \paramlist
-% so \defmacro knows what to do.  Define \macarg.blah for each blah
-% in the params list to be ##N where N is the position in that list.
+% so \defmacro knows what to do.  Define \macarg.BLAH for each BLAH
+% in the params list to some hook where the argument si to be expanded.  If
+% there are less than 10 arguments that hook is to be replaced by ##N where N
+% is the position in that list, that is to say the macro arguments are to be
+% defined `a la TeX in the macro body.  
+%
 % That gets used by \mbodybackslash (above).
 %
 % We need to get `macro parameter char #' into several definitions.
@@ -7311,12 +7438,33 @@ end
 %
 % The same technique is used to protect \eatspaces till just before
 % the macro is used.
-
+%
+% If there are 10 or more arguments, a different technique is used, where the
+% hook remains in the body, and when macro is to be expanded the body is
+% processed again to replace the arguments.
+%
+% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the
+% argument N value and then \edef  the body (nothing else will expand because of
+% the catcode regime underwhich the body was input).
+%
+% If you compile with TeX (not eTeX), and you have macros with 10 or more
+% arguments, you need that no macro has more than 256 arguments, otherwise an
+% error is produced.
 \def\parsemargdef#1;{%
   \paramno=0\def\paramlist{}%
   \let\hash\relax
   \let\xeatspaces\relax
   \parsemargdefxxx#1,;,%
+  % In case that there are 10 or more arguments we parse again the arguments
+  % list to set new definitions for the \macarg.BLAH macros corresponding to
+  % each BLAH argument. It was anyhow needed to parse already once this list
+  % in order to count the arguments, and as macros with at most 9 arguments
+  % are by far more frequent than macro with 10 or more arguments, defining
+  % twice the \macarg.BLAH macros does not cost too much processing power.
+  \ifnum\paramno<10\relax\else
+    \paramno0\relax
+    \parsemmanyargdef@@#1,;,% 10 or more arguments
+  \fi
 }
 \def\parsemargdefxxx#1,{%
   \if#1;\let\next=\relax
@@ -7327,16 +7475,205 @@ end
     \edef\paramlist{\paramlist\hash\the\paramno,}%
   \fi\next}
 
+\def\parsemmanyargdef@@#1,{%
+  \if#1;\let\next=\relax
+  \else 
+    \let\next=\parsemmanyargdef@@
+    \edef\tempb{\eatspaces{#1}}%
+    \expandafter\def\expandafter\tempa
+       \expandafter{\csname macarg.\tempb\endcsname}%
+    % Note that we need some extra \noexpand\noexpand, this is because we
+    % don't want \the  to be expanded in the \parsermacbody  as it uses an
+    % \xdef .
+    \expandafter\edef\tempa
+      {\noexpand\noexpand\noexpand\the\toks\the\paramno}%
+    \advance\paramno by 1\relax
+  \fi\next}
+
 % These two commands read recursive and nonrecursive macro bodies.
 % (They're different since rec and nonrec macros end differently.)
 %
+
+\catcode `\@\texiatcatcode
 \long\def\parsemacbody#1@end macro%
 {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
 \long\def\parsermacbody#1@end rmacro%
 {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
+\catcode `\@=11\relax
+
+\let\endargs@\relax
+\let\nil@\relax
+\def\nilm@{\nil@}%
+\long\def\nillm@{\nil@}%
+
+% This macro is expanded during the Texinfo macro expansion, not during its
+% definition.  It gets all the arguments values and assigns them to macros
+% macarg.ARGNAME
+%
+% #1 is the macro name
+% #2 is the list of argument names
+% #3 is the list of argument values
+\def\getargvals@#1#2#3{%
+  \def\macargdeflist@{}%
+  \def\saveparamlist@{#2}% Need to keep a copy for parameter expansion.
+  \def\paramlist{#2,\nil@}%
+  \def\macroname{#1}%
+  \begingroup
+  \macroargctxt
+  \def\argvaluelist{#3,\nil@}%
+  \def\@tempa{#3}%
+  \ifx\@tempa\empty
+    \setemptyargvalues@
+  \else
+    \getargvals@@
+  \fi
+}
+
+% 
+\def\getargvals@@{%
+  \ifx\paramlist\nilm@
+      % Some sanity check needed here that \argvaluelist is also empty.
+      \ifx\argvaluelist\nillm@
+      \else
+        \errhelp = \EMsimple
+        \errmessage{Too many arguments in macro `\macroname'!}%
+      \fi
+      \let\next\macargexpandinbody@
+  \else
+    \ifx\argvaluelist\nillm@
+       % No more arguments values passed to macro.  Set remaining named-arg
+       % macros to empty.
+       \let\next\setemptyargvalues@
+    \else
+      % pop current arg name into \@tempb
+      \def\@tempa##1{\pop@{\@tempb}{\paramlist}##1\endargs@}%
+      \expandafter\@tempa\expandafter{\paramlist}%
+       % pop current argument value into \@tempc
+      \def\@tempa##1{\longpop@{\@tempc}{\argvaluelist}##1\endargs@}%
+      \expandafter\@tempa\expandafter{\argvaluelist}%
+       % Here \@tempb is the current arg name and \@tempc is the current arg value.
+       % First place the new argument macro definition into \@tempd
+       \expandafter\macname\expandafter{\@tempc}%
+       \expandafter\let\csname macarg.\@tempb\endcsname\relax
+       \expandafter\def\expandafter\@tempe\expandafter{%
+         \csname macarg.\@tempb\endcsname}%
+       \edef\@tempd{\long\def\@tempe{\the\macname}}%
+       \push@\@tempd\macargdeflist@
+       \let\next\getargvals@@
+    \fi
+  \fi
+  \next
+}
+
+\def\push@#1#2{%
+  \expandafter\expandafter\expandafter\def
+  \expandafter\expandafter\expandafter#2%
+  \expandafter\expandafter\expandafter{%
+  \expandafter#1#2}%
+}
 
-% This defines the macro itself. There are six cases: recursive and
-% nonrecursive macros of zero, one, and many arguments.
+% Replace arguments by their values in the macro body, and place the result
+% in macro \@tempa
+\def\macvalstoargs@{%
+  %  To do this we use the property that token registers that are \the'ed
+  % within an \edef  expand only once. So we are going to place all argument
+  % values into respective token registers.
+  %
+  % First we save the token context, and initialize argument numbering.
+  \begingroup
+    \paramno0\relax
+    % Then, for each argument number #N, we place the corresponding argument
+    % value into a new token list register \toks#N
+    \expandafter\putargsintokens@\saveparamlist@,;,%
+    % Then, we expand the body so that argument are replaced by their
+    % values. The trick for values not to be expanded themselves is that they
+    % are within tokens and that tokens expand only once in an \edef .
+    \edef\@tempc{\csname mac.\macroname .body\endcsname}%
+    % Now we restore the token stack pointer to free the token list registers
+    % which we have used, but we make sure that expanded body is saved after
+    % group.
+    \expandafter
+  \endgroup
+  \expandafter\def\expandafter\@tempa\expandafter{\@tempc}%
+  }
+
+\def\macargexpandinbody@{% 
+  %% Define the named-macro outside of this group and then close this group. 
+  \expandafter
+  \endgroup
+  \macargdeflist@
+  % First the replace in body the macro arguments by their values, the result
+  % is in \@tempa .
+  \macvalstoargs@
+  % Then we point at the \norecurse or \gobble (for recursive) macro value
+  % with \@tempb .
+  \expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname
+  % Depending on whether it is recursive or not, we need some tailing
+  % \egroup .
+  \ifx\@tempb\gobble
+     \let\@tempc\relax
+  \else
+     \let\@tempc\egroup
+  \fi
+  % And now we do the real job:
+  \edef\@tempd{\noexpand\@tempb{\macroname}\noexpand\scanmacro{\@tempa}\@tempc}%
+  \@tempd
+}
+
+\def\putargsintokens@#1,{%
+  \if#1;\let\next\relax
+  \else
+    \let\next\putargsintokens@
+    % First we allocate the new token list register, and give it a temporary
+    % alias \@tempb .
+    \toksdef\@tempb\the\paramno
+    % Then we place the argument value into that token list register.
+    \expandafter\let\expandafter\@tempa\csname macarg.#1\endcsname
+    \expandafter\@tempb\expandafter{\@tempa}%
+    \advance\paramno by 1\relax
+  \fi
+  \next
+}
+
+% Save the token stack pointer into macro #1
+\def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}}
+% Restore the token stack pointer from number in macro #1
+\def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax}
+% newtoks that can be used non \outer .
+\def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi}
+
+% Tailing missing arguments are set to empty
+\def\setemptyargvalues@{%
+  \ifx\paramlist\nilm@
+    \let\next\macargexpandinbody@
+  \else
+    \expandafter\setemptyargvaluesparser@\paramlist\endargs@
+    \let\next\setemptyargvalues@
+  \fi
+  \next
+}
+
+\def\setemptyargvaluesparser@#1,#2\endargs@{%
+  \expandafter\def\expandafter\@tempa\expandafter{%
+    \expandafter\def\csname macarg.#1\endcsname{}}%
+  \push@\@tempa\macargdeflist@
+  \def\paramlist{#2}%
+}
+
+% #1 is the element target macro
+% #2 is the list macro
+% #3,#4\endargs@ is the list value
+\def\pop@#1#2#3,#4\endargs@{%
+   \def#1{#3}%
+   \def#2{#4}%
+}
+\long\def\longpop@#1#2#3,#4\endargs@{%
+   \long\def#1{#3}%
+   \long\def#2{#4}%
+}
+
+% This defines a Texinfo @macro. There are eight cases: recursive and
+% nonrecursive macros of zero, one, up to nine, and many arguments.
 % Much magic with \expandafter here.
 % \xdef is used so that macro definitions will survive the file
 % they're defined in; @include reads the file inside a group.
@@ -7355,17 +7692,25 @@ end
          \expandafter\noexpand\csname\the\macname xxx\endcsname}%
       \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
          \egroup\noexpand\scanmacro{\temp}}%
-    \else % many
-      \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \noexpand\csname\the\macname xx\endcsname}%
-      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-      \expandafter\expandafter
-      \expandafter\xdef
-      \expandafter\expandafter
-        \csname\the\macname xxx\endcsname
-          \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+    \else
+      \ifnum\paramno<10\relax % at most 9
+        \expandafter\xdef\csname\the\macname\endcsname{%
+           \bgroup\noexpand\macroargctxt
+           \noexpand\csname\the\macname xx\endcsname}%
+        \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+            \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+        \expandafter\expandafter
+        \expandafter\xdef
+        \expandafter\expandafter
+          \csname\the\macname xxx\endcsname
+            \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+      \else % 10 or more
+        \expandafter\xdef\csname\the\macname\endcsname{%
+          \noexpand\getargvals@{\the\macname}{\argl}%
+        }%    
+        \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
+        \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble
+      \fi
     \fi
   \else
     \ifcase\paramno
@@ -7382,23 +7727,33 @@ end
         \egroup
         \noexpand\norecurse{\the\macname}%
         \noexpand\scanmacro{\temp}\egroup}%
-    \else % many
-      \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \expandafter\noexpand\csname\the\macname xx\endcsname}%
-      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-      \expandafter\expandafter
-      \expandafter\xdef
-      \expandafter\expandafter
-      \csname\the\macname xxx\endcsname
-      \paramlist{%
-          \egroup
-          \noexpand\norecurse{\the\macname}%
-          \noexpand\scanmacro{\temp}\egroup}%
+    \else % at most 9
+      \ifnum\paramno<10\relax
+        \expandafter\xdef\csname\the\macname\endcsname{%
+           \bgroup\noexpand\macroargctxt
+           \expandafter\noexpand\csname\the\macname xx\endcsname}%
+        \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+            \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+        \expandafter\expandafter
+        \expandafter\xdef
+        \expandafter\expandafter
+        \csname\the\macname xxx\endcsname
+        \paramlist{%
+            \egroup
+            \noexpand\norecurse{\the\macname}%
+            \noexpand\scanmacro{\temp}\egroup}%
+      \else % 10 or more:
+        \expandafter\xdef\csname\the\macname\endcsname{%
+          \noexpand\getargvals@{\the\macname}{\argl}%
+        }%
+        \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
+        \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse
+      \fi
     \fi
   \fi}
 
+\catcode `\@\texiatcatcode\relax
+
 \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
 
 % \braceorline decides whether the next nonwhitespace character is a
@@ -7524,7 +7879,7 @@ end
   \fi\fi
 }
 
-
+% \f
 % @xref, @pxref, and @ref generate cross-references.  For \xrefX, #1 is
 % the node name, #2 the name of the Info cross-reference, #3 the printed
 % node name, #4 the name of the Info file, #5 the name of the printed
@@ -7533,26 +7888,41 @@ end
 \def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
 \def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
 \def\ref#1{\xrefX[#1,,,,,,,]}
+%
+\newbox\toprefbox
+\newbox\printedrefnamebox
+\newbox\infofilenamebox
+\newbox\printedmanualbox
+%
 \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
   \unsepspaces
-  \def\printedmanual{\ignorespaces #5}%
+  %
+  % Get args without leading/trailing spaces.
   \def\printedrefname{\ignorespaces #3}%
-  \setbox1=\hbox{\printedmanual\unskip}%
-  \setbox0=\hbox{\printedrefname\unskip}%
-  \ifdim \wd0 = 0pt
+  \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}%
+  %
+  \def\infofilename{\ignorespaces #4}%
+  \setbox\infofilenamebox = \hbox{\infofilename\unskip}%
+  %
+  \def\printedmanual{\ignorespaces #5}%
+  \setbox\printedmanualbox  = \hbox{\printedmanual\unskip}%
+  %
+  % If the printed reference name (arg #3) was not explicitly given in
+  % the @xref, figure out what we want to use.
+  \ifdim \wd\printedrefnamebox = 0pt
     % No printed node name was explicitly given.
     \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax
-      % Use the node name inside the square brackets.
+      % Not auto section-title: use node name inside the square brackets.
       \def\printedrefname{\ignorespaces #1}%
     \else
-      % Use the actual chapter/section title appear inside
-      % the square brackets.  Use the real section title if we have it.
-      \ifdim \wd1 > 0pt
-        % It is in another manual, so we don't have it.
+      % Auto section-title: use chapter/section title inside
+      % the square brackets if we have it.
+      \ifdim \wd\printedmanualbox > 0pt
+        % It is in another manual, so we don't have it; use node name.
         \def\printedrefname{\ignorespaces #1}%
       \else
         \ifhavexrefs
-          % We know the real title if we have the xref values.
+          % We (should) know the real title if we have the xref values.
           \def\printedrefname{\refx{#1-title}{}}%
         \else
           % Otherwise just copy the Info node name.
@@ -7566,13 +7936,20 @@ end
   \ifpdf
     {\indexnofonts
      \turnoffactive
+     \makevalueexpandable
      % This expands tokens, so do it after making catcode changes, so _
-     % etc. don't get their TeX definitions.
+     % etc. don't get their TeX definitions.  This ignores all spaces in
+     % #4, including (wrongly) those in the middle of the filename.
      \getfilename{#4}%
      %
-     % See comments at \activebackslashdouble.
-     {\activebackslashdouble \xdef\pdfxrefdest{#1}%
-      \backslashparens\pdfxrefdest}%
+     % This (wrongly) does not take account of leading or trailing
+     % spaces in #1, which should be ignored.
+     \edef\pdfxrefdest{#1}%
+     \ifx\pdfxrefdest\empty
+       \def\pdfxrefdest{Top}% no empty targets
+     \else
+       \txiescapepdf\pdfxrefdest  % escape PDF special chars
+     \fi
      %
      \leavevmode
      \startlink attr{/Border [0 0 0]}%
@@ -7599,29 +7976,42 @@ end
   \iffloat\Xthisreftitle
     % If the user specified the print name (third arg) to the ref,
     % print it instead of our usual "Figure 1.2".
-    \ifdim\wd0 = 0pt
+    \ifdim\wd\printedrefnamebox = 0pt
       \refx{#1-snt}{}%
     \else
       \printedrefname
     \fi
     %
-    % if the user also gave the printed manual name (fifth arg), append
+    % If the user also gave the printed manual name (fifth arg), append
     % "in MANUALNAME".
-    \ifdim \wd1 > 0pt
+    \ifdim \wd\printedmanualbox > 0pt
       \space \putwordin{} \cite{\printedmanual}%
     \fi
   \else
     % node/anchor (non-float) references.
+    % 
+    % If we use \unhbox to print the node names, TeX does not insert
+    % empty discretionaries after hyphens, which means that it will not
+    % find a line break at a hyphen in a node names.  Since some manuals
+    % are best written with fairly long node names, containing hyphens,
+    % this is a loss.  Therefore, we give the text of the node name
+    % again, so it is as if TeX is seeing it for the first time.
+    % 
+    \ifdim \wd\printedmanualbox > 0pt
+      % Cross-manual reference with a printed manual name.
+      % 
+      \crossmanualxref{\cite{\printedmanual\unskip}}%
+    %
+    \else\ifdim \wd\infofilenamebox > 0pt
+      % Cross-manual reference with only an info filename (arg 4), no
+      % printed manual name (arg 5).  This is essentially the same as
+      % the case above; we output the filename, since we have nothing else.
+      % 
+      \crossmanualxref{\code{\infofilename\unskip}}%
     %
-    % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
-    % insert empty discretionaries after hyphens, which means that it will
-    % not find a line break at a hyphen in a node names.  Since some manuals
-    % are best written with fairly long node names, containing hyphens, this
-    % is a loss.  Therefore, we give the text of the node name again, so it
-    % is as if TeX is seeing it for the first time.
-    \ifdim \wd1 > 0pt
-      \putwordSection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}%
     \else
+      % Reference within this manual.
+      %
       % _ (for example) has to be the character _ for the purposes of the
       % control sequence corresponding to the node, but it has to expand
       % into the usual \leavevmode...\vrule stuff for purposes of
@@ -7633,7 +8023,7 @@ end
        \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
        \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
       }%
-      % output the `[mynode]' via a macro so it can be overridden.
+      % output the `[mynode]' via the macro below so it can be overridden.
       \xrefprintnodename\printedrefname
       %
       % But we always want a comma and a space:
@@ -7641,11 +8031,37 @@ end
       %
       % output the `page 3'.
       \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
-    \fi
+    \fi\fi
   \fi
   \endlink
 \endgroup}
 
+% Output a cross-manual xref to #1.  Used just above (twice).
+% 
+% Only include the text "Section ``foo'' in" if the foo is neither
+% missing or Top.  Thus, @xref{,,,foo,The Foo Manual} outputs simply
+% "see The Foo Manual", the idea being to refer to the whole manual.
+% 
+% But, this being TeX, we can't easily compare our node name against the
+% string "Top" while ignoring the possible spaces before and after in
+% the input.  By adding the arbitrary 7sp below, we make it much less
+% likely that a real node name would have the same width as "Top" (e.g.,
+% in a monospaced font).  Hopefully it will never happen in practice.
+% 
+% For the same basic reason, we retypeset the "Top" at every
+% reference, since the current font is indeterminate.
+% 
+\def\crossmanualxref#1{%
+  \setbox\toprefbox = \hbox{Top\kern7sp}%
+  \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
+  \ifdim \wd2 > 7sp  % nonempty?
+    \ifdim \wd2 = \wd\toprefbox \else  % same as Top?
+      \putwordSection{} ``\printedrefname'' \putwordin{}\space
+    \fi
+  \fi
+  #1%
+}
+
 % This macro is called from \xrefX for the `[nodename]' part of xref
 % output.  It's a separate macro only so it can be changed more easily,
 % since square brackets don't work well in some documents.  Particularly
@@ -7861,7 +8277,7 @@ end
 % space to prevent strange expansion errors.)
 \def\supereject{\par\penalty -20000\footnoteno =0 }
 
-% @footnotestyle is meaningful for info output only.
+% @footnotestyle is meaningful for Info output only.
 \let\footnotestyle=\comment
 
 {\catcode `\@=11
@@ -7924,6 +8340,8 @@ end
   % expands into a box, it must come within the paragraph, lest it
   % provide a place where TeX can split the footnote.
   \footstrut
+  %
+  % Invoke rest of plain TeX footnote routine.
   \futurelet\next\fo@t
 }
 }%end \catcode `\@=11
@@ -8011,7 +8429,7 @@ end
   it from ftp://tug.org/tex/epsf.tex.}
 %
 \def\image#1{%
-  \ifx\epsfbox\thisiundefined
+  \ifx\epsfbox\thisisundefined
     \ifwarnednoepsf \else
       \errhelp = \noepsfhelp
       \errmessage{epsf.tex not found, images will be ignored}%
@@ -8035,6 +8453,13 @@ end
   % If the image is by itself, center it.
   \ifvmode
     \imagevmodetrue
+  \else \ifx\centersub\centerV
+    % for @center @image, we need a vbox so we can have our vertical space
+    \imagevmodetrue
+    \vbox\bgroup % vbox has better behavior than vtop herev
+  \fi\fi
+  %
+  \ifimagevmode
     \nobreak\medskip
     % Usually we'll have text after the image which will insert
     % \parskip glue, so insert it here too to equalize the space
@@ -8044,9 +8469,13 @@ end
   \fi
   %
   % Leave vertical mode so that indentation from an enclosing
-  % environment such as @quotation is respected.  On the other hand, if
-  % it's at the top level, we don't want the normal paragraph indentation.
-  \noindent
+  %  environment such as @quotation is respected.
+  % However, if we're at the top level, we don't want the
+  %  normal paragraph indentation.
+  % On the other hand, if we are in the case of @center @image, we don't
+  %  want to start a paragraph, which will create a hsize-width box and
+  %  eradicate the centering.
+  \ifx\centersub\centerV\else \noindent \fi
   %
   % Output the image.
   \ifpdf
@@ -8058,7 +8487,10 @@ end
     \epsfbox{#1.eps}%
   \fi
   %
-  \ifimagevmode \medskip \fi  % space after the standalone image
+  \ifimagevmode
+    \medskip  % space after a standalone image
+  \fi  
+  \ifx\centersub\centerV \egroup \fi
 \endgroup}
 
 
@@ -9539,34 +9971,48 @@ directory should work if nowhere else does.}
 
 % In texinfo, backslash is an active character; it prints the backslash
 % in fixed width font.
-\catcode`\\=\active
-@def@normalbackslash{{@tt@backslashcurfont}}
+\catcode`\\=\active  % @ for escape char from now on.
+
+% The story here is that in math mode, the \char of \backslashcurfont
+% ends up printing the roman \ from the math symbol font (because \char
+% in math mode uses the \mathcode, and plain.tex sets
+% \mathcode`\\="026E).  It seems better for @backslashchar{} to always
+% print a typewriter backslash, hence we use an explicit \mathchar,
+% which is the decimal equivalent of "715c (class 7, e.g., use \fam;
+% ignored family value; char position "5C).  We can't use " for the
+% usual hex value because it has already been made active.
+@def@normalbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}}
+@let@backslashchar = @normalbackslash % @backslashchar{} is for user documents.
+
 % On startup, @fixbackslash assigns:
 %  @let \ = @normalbackslash
-
 % \rawbackslash defines an active \ to do \backslashcurfont.
 % \otherbackslash defines an active \ to be a literal `\' character with
-% catcode other.
+% catcode other.  We switch back and forth between these.
 @gdef@rawbackslash{@let\=@backslashcurfont}
 @gdef@otherbackslash{@let\=@realbackslash}
 
 % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
-% the literal character `\'.
-%
-@def@normalturnoffactive{%
-  @let"=@normaldoublequote
-  @let$=@normaldollar %$ font-lock fix
-  @let+=@normalplus
-  @let<=@normalless
-  @let>=@normalgreater
-  @let\=@normalbackslash
-  @let^=@normalcaret
-  @let_=@normalunderscore
-  @let|=@normalverticalbar
-  @let~=@normaltilde
-  @markupsetuplqdefault
-  @markupsetuprqdefault
-  @unsepspaces
+% the literal character `\'.  Also revert - to its normal character, in
+% case the active - from code has slipped in.
+%
+{@catcode`- = @active
+ @gdef@normalturnoffactive{%
+   @let-=@normaldash
+   @let"=@normaldoublequote
+   @let$=@normaldollar %$ font-lock fix
+   @let+=@normalplus
+   @let<=@normalless
+   @let>=@normalgreater
+   @let\=@normalbackslash
+   @let^=@normalcaret
+   @let_=@normalunderscore
+   @let|=@normalverticalbar
+   @let~=@normaltilde
+   @markupsetuplqdefault
+   @markupsetuprqdefault
+   @unsepspaces
+ }
 }
 
 % Make _ and + \other characters, temporarily.
@@ -9602,10 +10048,13 @@ directory should work if nowhere else does.}
 @def@normalslash{/}
 
 % These look ok in all fonts, so just make them not special.
+% @hashchar{} gets its own user-level command, because of #line.
 @catcode`@& = @other @def@normalamp{&}
 @catcode`@# = @other @def@normalhash{#}
 @catcode`@% = @other @def@normalpercent{%}
 
+@let @hashchar = @normalhash
+
 @c Finally, make ` and ' active, so that txicodequoteundirected and
 @c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}.  If we
 @c don't make ` and ' active, @code will not get them as active chars.
index ef0b1ce..c72d0e6 100755 (executable)
@@ -3,9 +3,9 @@ eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}'
     if 0;
 # Update an FSF copyright year list to include the current year.
 
-my $VERSION = '2011-01-02.20:59'; # UTC
+my $VERSION = '2013-01-03.09:41'; # UTC
 
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -24,7 +24,7 @@ my $VERSION = '2011-01-02.20:59'; # UTC
 
 # The arguments to this script should be names of files that contain
 # copyright statements to be updated.  The copyright holder's name
-# defaults to "Free Softward Foundation, Inc." but may be changed to
+# defaults to "Free Software Foundation, Inc." but may be changed to
 # any other name by using the "UPDATE_COPYRIGHT_HOLDER" environment
 # variable.
 #
@@ -43,7 +43,7 @@ my $VERSION = '2011-01-02.20:59'; # UTC
 # A warning is printed for every file for which no copyright
 # statement is recognized.
 #
-# Each file's copyright statement must be formated correctly in
+# Each file's copyright statement must be formatted correctly in
 # order to be recognized.  For example, each of these is fine:
 #
 #   Copyright @copyright{} 1990-2005, 2007-2009 Free Software
@@ -110,6 +110,9 @@ my $VERSION = '2011-01-02.20:59'; # UTC
 #      interval (such as 1990-2008).  If unset or set to 0, all existing
 #      copyright year intervals in a reformatted FSF copyright statement
 #      are expanded instead.
+#      If UPDATE_COPYRIGHT_USE_INTERVALS=2, convert a sequence with gaps
+#      to the minimal containing range.  For example, convert
+#      2000, 2004-2007, 2009 to 2000-2009.
 #   3. For testing purposes, you can set the assumed current year in
 #      UPDATE_COPYRIGHT_YEAR.
 #   4. The default maximum line length for a copyright line is 72.
@@ -189,7 +192,7 @@ if (defined $stmt_re)
     if ($final_year != $this_year)
       {
         # Update the year.
-        $stmt =~ s/$final_year_orig/$final_year, $this_year/;
+        $stmt =~ s/\b$final_year_orig\b/$final_year, $this_year/;
       }
     if ($final_year != $this_year || $ENV{'UPDATE_COPYRIGHT_FORCE'})
       {
@@ -221,6 +224,10 @@ if (defined $stmt_re)
                   }))
                 )+
               /$1-$3/gx;
+
+            # When it's 2, emit a single range encompassing all year numbers.
+            $ENV{UPDATE_COPYRIGHT_USE_INTERVALS} == 2
+              and $stmt =~ s/\b(\d{4})\b.*\b(\d{4})\b/$1-$2/;
           }
 
         # Format within margin.
index b8f5a26..663347a 100755 (executable)
@@ -4,13 +4,13 @@ eval '(exit $?0)' && eval 'exec perl -wST "$0" ${1+"$@"}'
 # Detect instances of "if (p) free (p);".
 # Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces.
 
-my $VERSION = '2011-04-20 13:43'; # UTC
+my $VERSION = '2012-01-06 07:23'; # UTC
 # The definition above must lie within the first 8 lines in order
 # for the Emacs time-stamp write hook (at end) to update it.
 # If you change this file with Emacs, please let the write hook
 # do its job.  Otherwise, update this string manually.
 
-# Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ sub usage ($)
   my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
   if ($exit_code != 0)
     {
-      print $STREAM "Try `$ME --help' for more information.\n";
+      print $STREAM "Try '$ME --help' for more information.\n";
     }
   else
     {
@@ -62,7 +62,7 @@ detect free-like functions named FOO and BAR.
 OPTIONS:
 
    --list       print only the name of each matching FILE (\\0-terminated)
-   --name=N     add name N to the list of \`free\'-like functions to detect;
+   --name=N     add name N to the list of \'free\'-like functions to detect;
                   may be repeated
 
    --help       display this help and exit
@@ -125,7 +125,7 @@ sub is_NULL ($)
   foreach my $file (@ARGV)
     {
       open FH, '<', $file
-        or (warn "$ME: can't open `$file' for reading: $!\n"),
+        or (warn "$ME: can't open '$file' for reading: $!\n"),
           $err = EXIT_ERROR, next;
       while (defined (my $line = <FH>))
         {
index 405e458..7ec335f 100755 (executable)
@@ -4,7 +4,7 @@
 # Print a version string.
 scriptversion=2011-05-16.22; # UTC
 
-# Copyright (C) 2006-2011 Free Software Foundation, Inc.
+# Copyright (C) 2006-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/cfg.mk b/cfg.mk
index 7ed3778..9e31187 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -1,5 +1,5 @@
 # Customize maint.mk                           -*- makefile -*-
-# Copyright (C) 2003-2011 Free Software Foundation, Inc.
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,7 +29,7 @@ bootstrap-tools = autoconf,automake,gnulib
 # Now that we have better tests, make this the default.
 export VERBOSE = yes
 
-old_NEWS_hash = e043ee82ed8f0fdd75d0ba808730e689
+old_NEWS_hash = 7d70c18e90495732e671b3c94da01651
 
 # Tell maint.mk's syntax-check rules that diff gets config.h directly or
 # via diff.h or system.h.
index 031a361..eb90ca6 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,11 +1,11 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68.79-5e017 for GNU diffutils 3.2.
+# Generated by GNU Autoconf 2.69.79-0bdae for GNU diffutils 3.3.
 #
 # Report bugs to <bug-diffutils@gnu.org>.
 #
 #
-# Copyright (C) 1992-1996, 1998-2011 Free Software Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2013 Free Software Foundation, Inc.
 #
 #
 # This configure script is free software; the Free Software Foundation
@@ -33,44 +33,6 @@ esac
 fi
 
 
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
 # The user is always right.
 if test "${PATH_SEPARATOR+set}" != set; then
   PATH_SEPARATOR=:
@@ -86,6 +48,9 @@ fi
 # there to prevent editors from complaining about space-tab.
 # (If _AS_PATH_WALK were called with IFS unset, it would disable word
 # splitting by setting IFS to empty value.)
+as_nl='
+'
+export as_nl
 IFS=" ""       $as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
@@ -96,8 +61,12 @@ case $0 in #((
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    test -r "$as_dir$0" && as_myself=$as_dir$0 && break
   done
 IFS=$as_save_IFS
 
@@ -109,7 +78,7 @@ if test "x$as_myself" = x; then
   as_myself=$0
 fi
 if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
   exit 1
 fi
 
@@ -134,6 +103,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -167,7 +161,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -186,13 +181,17 @@ as_found=false
 for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
   as_found=:
   case $as_dir in #(
         /*)
           for as_base in sh bash ksh sh5; do
             # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
+            as_shell=$as_dir$as_base
             if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
                    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
   CONFIG_SHELL=$as_shell as_have_required=yes
@@ -204,39 +203,43 @@ fi
        esac
   as_found=false
 done
+IFS=$as_save_IFS
 $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
              { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
   CONFIG_SHELL=$SHELL as_have_required=yes
 fi; }
-IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
+  printf "%s\n" "$0: This script requires a shell more modern than all"
+  printf "%s\n" "$0: the shells that I found on your system."
   if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+    printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
   else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
+    printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and
 $0: bug-diffutils@gnu.org about your system, including any
 $0: error possibly output before this message. Then install
 $0: a modern shell, or manually run the script under such a
@@ -295,7 +298,7 @@ as_fn_mkdir_p ()
     as_dirs=
     while :; do
       case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
       *) as_qdir=$as_dir;;
       esac
       as_dirs="'$as_qdir' $as_dirs"
@@ -304,7 +307,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$as_dir" : 'X\(//\)[^/]' \| \
         X"$as_dir" : 'X\(//\)$' \| \
         X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
+printf "%s\n" X"$as_dir" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -329,6 +332,14 @@ $as_echo X"$as_dir" |
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -375,9 +386,9 @@ as_fn_error ()
   as_status=$1; test $as_status -eq 0 && as_status=1
   if test "$4"; then
     as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $2" >&2
+  printf "%s\n" "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -404,7 +415,7 @@ as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
         X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
+printf "%s\n" X/"$0" |
     sed '/^.*\/\([^/][^/]*\)\/*$/{
            s//\1/
            q
@@ -448,8 +459,12 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
       s/-\n.*//
     ' >$as_me.lineno &&
   chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+    { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -484,16 +499,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -505,28 +520,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -558,8 +553,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='GNU diffutils'
 PACKAGE_TARNAME='diffutils'
-PACKAGE_VERSION='3.2'
-PACKAGE_STRING='GNU diffutils 3.2'
+PACKAGE_VERSION='3.3'
+PACKAGE_STRING='GNU diffutils 3.3'
 PACKAGE_BUGREPORT='bug-diffutils@gnu.org'
 PACKAGE_URL='http://www.gnu.org/software/diffutils/'
 
@@ -573,14 +568,10 @@ ac_includes_default="\
 #ifdef HAVE_SYS_STAT_H
 # include <sys/stat.h>
 #endif
-#ifdef STDC_HEADERS
+#if defined STDC_HEADERS || defined HAVE_STDLIB_H
 # include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
 #endif
+#include <stddef.h>
 #ifdef HAVE_STRING_H
 # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
 #  include <memory.h>
@@ -600,8 +591,8 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-gl_func_list=
-gl_header_list=
+ac_func_list=
+ac_header_list=
 gl_fnmatch_required=POSIX
 gl_getopt_required=POSIX
 gl_getopt_required=POSIX
@@ -631,30 +622,17 @@ USE_NLS
 SRC_VERSION_C
 PR_PROGRAM
 GNULIB_WARN_CFLAGS
+WARN_CFLAGS
 WERROR_CFLAGS
 LIBTESTS_LIBDEPS
 LIBDIFFUTILS_LTLIBDEPS
 LIBDIFFUTILS_LIBDEPS
 abs_aux_dir
-NEXT_AS_FIRST_DIRECTIVE_LOCALE_H
-NEXT_LOCALE_H
-HAVE_XLOCALE_H
-REPLACE_DUPLOCALE
-REPLACE_SETLOCALE
-HAVE_DUPLOCALE
-GNULIB_DUPLOCALE
-GNULIB_SETLOCALE
-GL_GENERATE_FLOAT_H_FALSE
-GL_GENERATE_FLOAT_H_TRUE
-FLOAT_H
-NEXT_AS_FIRST_DIRECTIVE_FLOAT_H
-NEXT_FLOAT_H
 LOCALE_TR_UTF8
 gltests_WITNESS
-HAVE_FEATURES_H
 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H
 NEXT_WCHAR_H
-WARN_CFLAGS
+HAVE_FEATURES_H
 LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE
 LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE
 LIBUNISTRING_UNIWIDTH_H
@@ -675,13 +653,14 @@ NEXT_TIME_H
 NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H
 NEXT_SYS_WAIT_H
 GNULIB_WAITPID
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H
-NEXT_SYS_STAT_H
+WINDOWS_64_BIT_OFF_T
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H
+NEXT_SYS_TYPES_H
+HAVE_STRINGS_H
 NEXT_AS_FIRST_DIRECTIVE_STRINGS_H
 NEXT_STRINGS_H
 NEXT_AS_FIRST_DIRECTIVE_STRING_H
 NEXT_STRING_H
-HAVE_WINSOCK2_H
 HAVE_DECL_STRNCASECMP
 HAVE_STRCASECMP
 HAVE_FFS
@@ -690,13 +669,6 @@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H
 NEXT_STDLIB_H
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H
 NEXT_STDIO_H
-NEXT_AS_FIRST_DIRECTIVE_STDDEF_H
-NEXT_STDDEF_H
-GL_GENERATE_STDDEF_H_FALSE
-GL_GENERATE_STDDEF_H_TRUE
-STDDEF_H
-HAVE_WCHAR_T
-REPLACE_NULL
 HAVE__BOOL
 GL_GENERATE_STDBOOL_H_FALSE
 GL_GENERATE_STDBOOL_H_TRUE
@@ -708,6 +680,7 @@ NEXT_AS_FIRST_DIRECTIVE_STDARG_H
 NEXT_STDARG_H
 NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H
 NEXT_SIGNAL_H
+REPLACE_RAISE
 REPLACE_PTHREAD_SIGMASK
 HAVE_SIGHANDLER_T
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T
@@ -715,11 +688,13 @@ HAVE_STRUCT_SIGACTION_SA_SIGACTION
 HAVE_SIGACTION
 HAVE_SIGINFO_T
 HAVE_SIGSET_T
+HAVE_RAISE
 HAVE_PTHREAD_SIGMASK
 HAVE_POSIX_SIGNALBLOCKING
 GNULIB_SIGACTION
 GNULIB_SIGPROCMASK
 GNULIB_SIGNAL_H_SIGPIPE
+GNULIB_RAISE
 GNULIB_PTHREAD_SIGMASK
 REPLACE_TIMEGM
 REPLACE_NANOSLEEP
@@ -816,7 +791,10 @@ REPLACE_STRTOD
 REPLACE_SETENV
 REPLACE_REALPATH
 REPLACE_REALLOC
+REPLACE_RANDOM_R
 REPLACE_PUTENV
+REPLACE_PTSNAME_R
+REPLACE_PTSNAME
 REPLACE_MKSTEMP
 REPLACE_MBTOWC
 REPLACE_MALLOC
@@ -831,11 +809,15 @@ HAVE_STRTOLL
 HAVE_STRTOD
 HAVE_DECL_SETENV
 HAVE_SETENV
+HAVE_SECURE_GETENV
 HAVE_RPMATCH
 HAVE_REALPATH
 HAVE_RANDOM_R
 HAVE_RANDOM_H
+HAVE_RANDOM
+HAVE_PTSNAME_R
 HAVE_PTSNAME
+HAVE_POSIX_OPENPT
 HAVE_MKSTEMPS
 HAVE_MKSTEMP
 HAVE_MKOSTEMPS
@@ -855,12 +837,16 @@ GNULIB_STRTOULL
 GNULIB_STRTOLL
 GNULIB_STRTOD
 GNULIB_SETENV
+GNULIB_SECURE_GETENV
 GNULIB_RPMATCH
 GNULIB_REALPATH
 GNULIB_REALLOC_POSIX
 GNULIB_RANDOM_R
+GNULIB_RANDOM
 GNULIB_PUTENV
+GNULIB_PTSNAME_R
 GNULIB_PTSNAME
+GNULIB_POSIX_OPENPT
 GNULIB_MKSTEMPS
 GNULIB_MKSTEMP
 GNULIB_MKOSTEMPS
@@ -875,38 +861,24 @@ GNULIB_CANONICALIZE_FILE_NAME
 GNULIB_CALLOC_POSIX
 GNULIB_ATOLL
 GNULIB__EXIT
-REPLACE_UTIMENSAT
-REPLACE_STAT
-REPLACE_MKNOD
-REPLACE_MKFIFO
-REPLACE_MKDIR
-REPLACE_LSTAT
-REPLACE_FUTIMENS
-REPLACE_FSTATAT
-REPLACE_FSTAT
-HAVE_UTIMENSAT
-HAVE_MKNODAT
-HAVE_MKNOD
-HAVE_MKFIFOAT
-HAVE_MKFIFO
-HAVE_MKDIRAT
-HAVE_LSTAT
-HAVE_LCHMOD
-HAVE_FUTIMENS
-HAVE_FSTATAT
-HAVE_FCHMODAT
-GNULIB_UTIMENSAT
-GNULIB_STAT
-GNULIB_MKNODAT
-GNULIB_MKNOD
-GNULIB_MKFIFOAT
-GNULIB_MKFIFO
-GNULIB_MKDIRAT
-GNULIB_LSTAT
-GNULIB_LCHMOD
-GNULIB_FUTIMENS
-GNULIB_FSTATAT
-GNULIB_FCHMODAT
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H
+NEXT_LOCALE_H
+HAVE_XLOCALE_H
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H
+NEXT_STDDEF_H
+GL_GENERATE_STDDEF_H_FALSE
+GL_GENERATE_STDDEF_H_TRUE
+STDDEF_H
+HAVE_WCHAR_T
+REPLACE_NULL
+REPLACE_STRUCT_LCONV
+REPLACE_DUPLOCALE
+REPLACE_SETLOCALE
+REPLACE_LOCALECONV
+HAVE_DUPLOCALE
+GNULIB_DUPLOCALE
+GNULIB_SETLOCALE
+GNULIB_LOCALECONV
 LOCALCHARSET_TESTS_ENVIRONMENT
 GLIBC21
 HAVE_LANGINFO_YESEXPR
@@ -943,6 +915,7 @@ PRIPTR_PREFIX
 PRI_MACROS_BROKEN
 INT64_MAX_EQ_LONG_MAX
 INT32_MAX_LT_INTMAX_MAX
+REPLACE_STRTOIMAX
 HAVE_DECL_STRTOUMAX
 HAVE_DECL_STRTOIMAX
 HAVE_DECL_IMAXDIV
@@ -994,6 +967,7 @@ GNU_MAKE_FALSE
 GNU_MAKE_TRUE
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H
 NEXT_SYS_TIME_H
+REPLACE_STRUCT_TIMEVAL
 REPLACE_GETTIMEOFDAY
 HAVE_SYS_TIME_H
 HAVE_STRUCT_TIMEVAL
@@ -1001,10 +975,47 @@ HAVE_GETTIMEOFDAY
 GNULIB_GETTIMEOFDAY
 LTLIBINTL
 LIBINTL
+GNULIB_GL_UNISTD_H_GETOPT
 GETOPT_H
 HAVE_GETOPT_H
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H
 NEXT_GETOPT_H
+WINDOWS_64_BIT_ST_SIZE
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H
+NEXT_SYS_STAT_H
+REPLACE_UTIMENSAT
+REPLACE_STAT
+REPLACE_MKNOD
+REPLACE_MKFIFO
+REPLACE_MKDIR
+REPLACE_LSTAT
+REPLACE_FUTIMENS
+REPLACE_FSTATAT
+REPLACE_FSTAT
+HAVE_UTIMENSAT
+HAVE_MKNODAT
+HAVE_MKNOD
+HAVE_MKFIFOAT
+HAVE_MKFIFO
+HAVE_MKDIRAT
+HAVE_LSTAT
+HAVE_LCHMOD
+HAVE_FUTIMENS
+HAVE_FSTATAT
+HAVE_FCHMODAT
+GNULIB_UTIMENSAT
+GNULIB_STAT
+GNULIB_MKNODAT
+GNULIB_MKNOD
+GNULIB_MKFIFOAT
+GNULIB_MKFIFO
+GNULIB_MKDIRAT
+GNULIB_LSTAT
+GNULIB_LCHMOD
+GNULIB_FUTIMENS
+GNULIB_FSTATAT
+GNULIB_FSTAT
+GNULIB_FCHMODAT
 REPLACE_VSPRINTF
 REPLACE_VSNPRINTF
 REPLACE_VPRINTF
@@ -1034,11 +1045,14 @@ REPLACE_FPURGE
 REPLACE_FPRINTF
 REPLACE_FOPEN
 REPLACE_FFLUSH
+REPLACE_FDOPEN
 REPLACE_FCLOSE
 REPLACE_DPRINTF
 HAVE_VDPRINTF
 HAVE_VASPRINTF
 HAVE_RENAMEAT
+HAVE_POPEN
+HAVE_PCLOSE
 HAVE_FTELLO
 HAVE_FSEEKO
 HAVE_DPRINTF
@@ -1076,9 +1090,9 @@ GNULIB_PRINTF_POSIX
 GNULIB_PRINTF
 GNULIB_POPEN
 GNULIB_PERROR
+GNULIB_PCLOSE
 GNULIB_OBSTACK_PRINTF_POSIX
 GNULIB_OBSTACK_PRINTF
-GNULIB_GETS
 GNULIB_GETLINE
 GNULIB_GETDELIM
 GNULIB_GETCHAR
@@ -1100,11 +1114,18 @@ GNULIB_FOPEN
 GNULIB_FGETS
 GNULIB_FGETC
 GNULIB_FFLUSH
+GNULIB_FDOPEN
 GNULIB_FCLOSE
 GNULIB_DPRINTF
 GL_GENERATE_FNMATCH_H_FALSE
 GL_GENERATE_FNMATCH_H_TRUE
 FNMATCH_H
+REPLACE_ITOLD
+GL_GENERATE_FLOAT_H_FALSE
+GL_GENERATE_FLOAT_H_TRUE
+FLOAT_H
+NEXT_AS_FIRST_DIRECTIVE_FLOAT_H
+NEXT_FLOAT_H
 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H
 NEXT_FCNTL_H
 REPLACE_OPENAT
@@ -1131,6 +1152,10 @@ PRAGMA_COLUMNS
 PRAGMA_SYSTEM_HEADER
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE
 INCLUDE_NEXT
+pkglibexecdir
+lispdir
+HAVE_WINSOCK2_H
+HAVE_MSVC_INVALID_PARAMETER_HANDLER
 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS
 UNISTD_H_HAVE_WINSOCK2_H
 REPLACE_WRITE
@@ -1149,11 +1174,13 @@ REPLACE_LSEEK
 REPLACE_LINKAT
 REPLACE_LINK
 REPLACE_LCHOWN
+REPLACE_ISATTY
 REPLACE_GETPAGESIZE
 REPLACE_GETGROUPS
 REPLACE_GETLOGIN_R
 REPLACE_GETDOMAINNAME
 REPLACE_GETCWD
+REPLACE_FTRUNCATE
 REPLACE_FCHOWNAT
 REPLACE_DUP2
 REPLACE_DUP
@@ -1162,10 +1189,12 @@ REPLACE_CHOWN
 HAVE_SYS_PARAM_H
 HAVE_OS_H
 HAVE_DECL_TTYNAME_R
+HAVE_DECL_SETHOSTNAME
 HAVE_DECL_GETUSERSHELL
 HAVE_DECL_GETPAGESIZE
 HAVE_DECL_GETLOGIN_R
 HAVE_DECL_GETDOMAINNAME
+HAVE_DECL_FDATASYNC
 HAVE_DECL_FCHDIR
 HAVE_DECL_ENVIRON
 HAVE_USLEEP
@@ -1173,6 +1202,7 @@ HAVE_UNLINKAT
 HAVE_SYMLINKAT
 HAVE_SYMLINK
 HAVE_SLEEP
+HAVE_SETHOSTNAME
 HAVE_READLINKAT
 HAVE_READLINK
 HAVE_PWRITE
@@ -1190,6 +1220,7 @@ HAVE_GETGROUPS
 HAVE_GETDTABLESIZE
 HAVE_FTRUNCATE
 HAVE_FSYNC
+HAVE_FDATASYNC
 HAVE_FCHOWNAT
 HAVE_FCHDIR
 HAVE_FACCESSAT
@@ -1203,11 +1234,11 @@ GNULIB_UNLINKAT
 GNULIB_UNLINK
 GNULIB_UNISTD_H_SIGPIPE
 GNULIB_UNISTD_H_NONBLOCKING
-GNULIB_UNISTD_H_GETOPT
 GNULIB_TTYNAME_R
 GNULIB_SYMLINKAT
 GNULIB_SYMLINK
 GNULIB_SLEEP
+GNULIB_SETHOSTNAME
 GNULIB_RMDIR
 GNULIB_READLINKAT
 GNULIB_READLINK
@@ -1220,6 +1251,7 @@ GNULIB_LSEEK
 GNULIB_LINKAT
 GNULIB_LINK
 GNULIB_LCHOWN
+GNULIB_ISATTY
 GNULIB_GROUP_MEMBER
 GNULIB_GETUSERSHELL
 GNULIB_GETPAGESIZE
@@ -1232,6 +1264,7 @@ GNULIB_GETDOMAINNAME
 GNULIB_GETCWD
 GNULIB_FTRUNCATE
 GNULIB_FSYNC
+GNULIB_FDATASYNC
 GNULIB_FCHOWNAT
 GNULIB_FCHDIR
 GNULIB_FACCESSAT
@@ -1239,10 +1272,10 @@ GNULIB_EUIDACCESS
 GNULIB_ENVIRON
 GNULIB_DUP3
 GNULIB_DUP2
+GNULIB_DUP
 GNULIB_CLOSE
 GNULIB_CHOWN
-pkglibexecdir
-lispdir
+GNULIB_CHDIR
 LIB_CLOCK_GETTIME
 LTLIBCSTACK
 LIBCSTACK
@@ -1382,13 +1415,13 @@ CFLAGS
 CC
 AM_BACKSLASH
 AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
 am__untar
 am__tar
 AMTAR
-am__leading_dot
 SET_MAKE
 AWK
-mkdir_p
 MKDIR_P
 INSTALL_STRIP_PROGRAM
 STRIP
@@ -1581,7 +1614,7 @@ do
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
       as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "enable_$ac_useropt"
@@ -1607,7 +1640,7 @@ do
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
       as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "enable_$ac_useropt"
@@ -1811,7 +1844,7 @@ do
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
       as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "with_$ac_useropt"
@@ -1827,7 +1860,7 @@ do
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
       as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "with_$ac_useropt"
@@ -1871,9 +1904,9 @@ Try \`$0 --help' for more information"
 
   *)
     # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+      printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2
     : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
@@ -1889,7 +1922,7 @@ if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
     fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+    *)     printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
 
@@ -1925,8 +1958,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1955,7 +1986,7 @@ $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$as_myself" : 'X\(//\)[^/]' \| \
         X"$as_myself" : 'X\(//\)$' \| \
         X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
+printf "%s\n" X"$as_myself" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -2012,7 +2043,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures GNU diffutils 3.2 to adapt to many kinds of systems.
+\`configure' configures GNU diffutils 3.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2082,7 +2113,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GNU diffutils 3.2:";;
+     short | recursive ) echo "Configuration of GNU diffutils 3.3:";;
    esac
   cat <<\_ACEOF
 
@@ -2090,8 +2121,8 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-silent-rules   less verbose build output (undo: `make V=1')
-  --disable-silent-rules  verbose build output (undo: `make V=0')
+  --enable-silent-rules   less verbose build output (undo: "make V=1")
+  --disable-silent-rules  verbose build output (undo: "make V=0")
   --enable-dependency-tracking
                           do not reject slow dependency extractors
   --disable-dependency-tracking
@@ -2104,7 +2135,7 @@ Optional Features:
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-gnu-ld           assume the C compiler uses GNU ld default=no
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-libsigsegv-prefix[=DIR]  search for libsigsegv in DIR/include and DIR/lib
   --without-libsigsegv-prefix     don't search for libsigsegv in includedir and libdir
   --with-libiconv-prefix[=DIR]  search for libiconv in DIR/include and DIR/lib
@@ -2151,9 +2182,9 @@ if test "$ac_init_help" = "recursive"; then
 case "$ac_dir" in
 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
 *)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
   # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
   case $ac_top_builddir_sub in
   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -2189,7 +2220,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
       echo &&
       $SHELL "$ac_srcdir/configure" --help=recursive
     else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+      printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2
     fi || ac_status=$?
     cd "$ac_pwd" || { ac_status=$?; break; }
   done
@@ -2198,10 +2229,10 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GNU diffutils configure 3.2
-generated by GNU Autoconf 2.68.79-5e017
+GNU diffutils configure 3.3
+generated by GNU Autoconf 2.69.79-0bdae
 
-Copyright (C) 2011 Free Software Foundation, Inc.
+Copyright (C) 2013 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -2225,7 +2256,7 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_compile") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -2233,14 +2264,14 @@ $as_echo "$ac_try_echo"; } >&5
     cat conftest.er1 >&5
     mv -f conftest.er1 conftest.err
   fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then :
   ac_retval=0
 else
-  $as_echo "$as_me: failed program was:" >&5
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_retval=1
@@ -2262,7 +2293,7 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -2270,14 +2301,14 @@ $as_echo "$ac_try_echo"; } >&5
     cat conftest.er1 >&5
     mv -f conftest.er1 conftest.err
   fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } > conftest.i && {
         test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
         test ! -s conftest.err
        }; then :
   ac_retval=0
 else
-  $as_echo "$as_me: failed program was:" >&5
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
@@ -2296,18 +2327,18 @@ ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
 if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 fi
 eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
 else
   # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+printf %s "checking $2 usability... " >&6; }
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
@@ -2319,12 +2350,12 @@ else
   ac_header_compiler=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+printf "%s\n" "$ac_header_compiler" >&6; }
 
 # Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+printf %s "checking $2 presence... " >&6; }
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <$2>
@@ -2335,44 +2366,44 @@ else
   ac_header_preproc=no
 fi
 rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+printf "%s\n" "$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
   yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+printf "%s\n" "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+printf "%s\n" "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
     ;;
   no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------ ##
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+printf "%s\n" "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+printf "%s\n" "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+printf "%s\n" "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+printf "%s\n" "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+printf "%s\n" "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( printf "%s\n" "## ------------------------------------ ##
 ## Report this to bug-diffutils@gnu.org ##
 ## ------------------------------------ ##"
      ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
 if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
 fi
 eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
 fi
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
@@ -2391,25 +2422,25 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
   { { case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_try") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; }; then :
   ac_retval=0
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
+  printf "%s\n" "$as_me: program exited with status $ac_status" >&5
+       printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_retval=$ac_status
@@ -2427,10 +2458,10 @@ fi
 ac_fn_c_check_header_compile ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
 if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -2445,8 +2476,8 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
@@ -2458,10 +2489,10 @@ $as_echo "$ac_res" >&6; }
 ac_fn_c_check_type ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
 if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   eval "$3=no"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2499,8 +2530,8 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
@@ -2518,7 +2549,7 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -2526,17 +2557,17 @@ $as_echo "$ac_try_echo"; } >&5
     cat conftest.er1 >&5
     mv -f conftest.er1 conftest.err
   fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
         test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
+        test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
-  $as_echo "$as_me: failed program was:" >&5
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_retval=1
@@ -2557,10 +2588,10 @@ fi
 ac_fn_c_check_func ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
 if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -2569,16 +2600,9 @@ else
 #define $2 innocuous_$2
 
 /* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+   which can conflict with char $2 (); below.  */
 
+#include <limits.h>
 #undef $2
 
 /* Override any GCC internal prototype to avoid an error.
@@ -2612,8 +2636,8 @@ rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 fi
 eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
@@ -2627,10 +2651,10 @@ ac_fn_c_check_decl ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   as_decl_name=`echo $2|sed 's/ *(.*//'`
   as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
-$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+printf %s "checking whether $as_decl_name is declared... " >&6; }
 if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -2658,8 +2682,8 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_decl
@@ -2681,7 +2705,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2697,7 +2722,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2723,7 +2749,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2739,7 +2766,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2773,7 +2801,8 @@ int
 main ()
 {
 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
 
   ;
   return 0;
@@ -2849,10 +2878,10 @@ rm -f conftest.val
 ac_fn_c_check_member ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
-$as_echo_n "checking for $2.$3... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
+printf %s "checking for $2.$3... " >&6; }
 if eval \${$4+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -2893,8 +2922,8 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$4
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
@@ -2902,8 +2931,8 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by GNU diffutils $as_me 3.2, which was
-generated by GNU Autoconf 2.68.79-5e017.  Invocation command line was
+It was created by GNU diffutils $as_me 3.3, which was
+generated by GNU Autoconf 2.69.79-0bdae.  Invocation command line was
 
   $ $0 $@
 
@@ -2938,8 +2967,12 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    printf "%s\n" "PATH: $as_dir"
   done
 IFS=$as_save_IFS
 
@@ -2974,7 +3007,7 @@ do
     | -silent | --silent | --silen | --sile | --sil)
       continue ;;
     *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+      ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
     1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
@@ -3009,11 +3042,13 @@ done
 # WARNING: Use '\'' to represent an apostrophe within the trap.
 # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
 trap 'exit_status=$?
+  # Sanitize IFS.
+  IFS=" ""     $as_nl"
   # Save into config.log some information that might help in debugging.
   {
     echo
 
-    $as_echo "## ---------------- ##
+    printf "%s\n" "## ---------------- ##
 ## Cache variables. ##
 ## ---------------- ##"
     echo
@@ -3024,8 +3059,8 @@ trap 'exit_status=$?
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
@@ -3049,7 +3084,7 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
 )
     echo
 
-    $as_echo "## ----------------- ##
+    printf "%s\n" "## ----------------- ##
 ## Output variables. ##
 ## ----------------- ##"
     echo
@@ -3057,14 +3092,14 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
     do
       eval ac_val=\$$ac_var
       case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
       esac
-      $as_echo "$ac_var='\''$ac_val'\''"
+      printf "%s\n" "$ac_var='\''$ac_val'\''"
     done | sort
     echo
 
     if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
+      printf "%s\n" "## ------------------- ##
 ## File substitutions. ##
 ## ------------------- ##"
       echo
@@ -3072,15 +3107,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       do
        eval ac_val=\$$ac_var
        case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+       *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
        esac
-       $as_echo "$ac_var='\''$ac_val'\''"
+       printf "%s\n" "$ac_var='\''$ac_val'\''"
       done | sort
       echo
     fi
 
     if test -s confdefs.h; then
-      $as_echo "## ----------- ##
+      printf "%s\n" "## ----------- ##
 ## confdefs.h. ##
 ## ----------- ##"
       echo
@@ -3088,8 +3123,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       echo
     fi
     test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
+      printf "%s\n" "$as_me: caught signal $ac_signal"
+    printf "%s\n" "$as_me: exit $exit_status"
   } >&5
   rm -f core *.core core.conftest.* &&
     rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
@@ -3103,7 +3138,7 @@ ac_signal=0
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
 rm -f -r conftest* confdefs.h
 
-$as_echo "/* confdefs.h */" > confdefs.h
+printf "%s\n" "/* confdefs.h */" > confdefs.h
 
 # Predefined preprocessor variables.
 
@@ -3154,12 +3189,12 @@ for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
   if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
     . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+      || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "failed to load site script $ac_site_file
 See \`config.log' for more details" "$LINENO" 5; }
   fi
@@ -3169,84 +3204,87 @@ if test -r "$cache_file"; then
   # Some versions of bash will fail to source /dev/null (special files
   # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
   if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
       [\\/]* | ?:[\\/]* ) . "$cache_file";;
       *)                      . "./$cache_file";;
     esac
   fi
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
   >$cache_file
 fi
 
-gl_func_list="$gl_func_list btowc"
-gl_func_list="$gl_func_list setrlimit"
-gl_header_list="$gl_header_list ucontext.h"
-gl_func_list="$gl_func_list sigaltstack"
-gl_header_list="$gl_header_list unistd.h"
-gl_func_list="$gl_func_list fcntl"
-gl_func_list="$gl_func_list mempcpy"
-gl_func_list="$gl_func_list isblank"
-gl_func_list="$gl_func_list iswctype"
-gl_func_list="$gl_func_list mbsrtowcs"
-gl_func_list="$gl_func_list wmemchr"
-gl_func_list="$gl_func_list wmemcpy"
-gl_func_list="$gl_func_list wmempcpy"
-gl_header_list="$gl_header_list wctype.h"
+as_fn_append ac_func_list " btowc"
+as_fn_append ac_func_list " setrlimit"
+as_fn_append ac_header_list " ucontext.h"
+as_fn_append ac_func_list " sigaltstack"
+as_fn_append ac_header_list " unistd.h"
+as_fn_append ac_func_list " readlinkat"
+as_fn_append ac_func_list " _set_invalid_parameter_handler"
+as_fn_append ac_header_list " sys/socket.h"
+as_fn_append ac_func_list " fcntl"
+as_fn_append ac_func_list " symlink"
+as_fn_append ac_func_list " mempcpy"
+as_fn_append ac_func_list " isblank"
+as_fn_append ac_func_list " iswctype"
+as_fn_append ac_func_list " mbsrtowcs"
+as_fn_append ac_func_list " wmemchr"
+as_fn_append ac_func_list " wmemcpy"
+as_fn_append ac_func_list " wmempcpy"
+as_fn_append ac_header_list " wctype.h"
 gl_fnmatch_required=GNU
-gl_func_list="$gl_func_list getdtablesize"
+as_fn_append ac_header_list " sys/stat.h"
+as_fn_append ac_func_list " getdtablesize"
 gl_getopt_required=GNU
-gl_header_list="$gl_header_list getopt.h"
-gl_func_list="$gl_func_list gettimeofday"
-gl_func_list="$gl_func_list nanotime"
-gl_header_list="$gl_header_list sys/time.h"
-gl_header_list="$gl_header_list iconv.h"
-gl_header_list="$gl_header_list wchar.h"
-gl_header_list="$gl_header_list stdint.h"
-gl_header_list="$gl_header_list inttypes.h"
-gl_func_list="$gl_func_list iswcntrl"
-gl_func_list="$gl_func_list iswblank"
-gl_header_list="$gl_header_list langinfo.h"
-gl_func_list="$gl_func_list lstat"
-gl_func_list="$gl_func_list mbsinit"
-gl_func_list="$gl_func_list mbrtowc"
-gl_func_list="$gl_func_list mbslen"
-gl_header_list="$gl_header_list sys/mman.h"
-gl_func_list="$gl_func_list mprotect"
-gl_func_list="$gl_func_list mkstemp"
-gl_func_list="$gl_func_list alarm"
-gl_func_list="$gl_func_list nl_langinfo"
-gl_func_list="$gl_func_list wcscoll"
-gl_func_list="$gl_func_list sigaction"
-gl_func_list="$gl_func_list siginterrupt"
-gl_func_list="$gl_func_list strerror_r"
-gl_func_list="$gl_func_list __xpg_strerror_r"
-gl_header_list="$gl_header_list sys/socket.h"
-gl_func_list="$gl_func_list tzset"
-gl_header_list="$gl_header_list strings.h"
-gl_func_list="$gl_func_list strndup"
-gl_func_list="$gl_func_list strptime"
-gl_func_list="$gl_func_list strtoumax"
-gl_header_list="$gl_header_list sys/stat.h"
-gl_header_list="$gl_header_list sys/wait.h"
-gl_func_list="$gl_func_list localtime_r"
-gl_header_list="$gl_header_list features.h"
-gl_func_list="$gl_func_list wcrtomb"
-gl_func_list="$gl_func_list wcwidth"
-gl_header_list="$gl_header_list xlocale.h"
-gl_func_list="$gl_func_list newlocale"
-gl_func_list="$gl_func_list setenv"
-gl_func_list="$gl_func_list sleep"
-gl_func_list="$gl_func_list symlink"
-gl_func_list="$gl_func_list usleep"
-gl_func_list="$gl_func_list vasnprintf"
-gl_func_list="$gl_func_list wctob"
-gl_func_list="$gl_func_list sigprocmask"
-gl_func_list="$gl_func_list strcasecoll"
-gl_func_list="$gl_func_list stricoll"
+as_fn_append ac_header_list " getopt.h"
+as_fn_append ac_func_list " gettimeofday"
+as_fn_append ac_func_list " nanotime"
+as_fn_append ac_header_list " sys/time.h"
+as_fn_append ac_header_list " iconv.h"
+as_fn_append ac_header_list " wchar.h"
+as_fn_append ac_header_list " stdint.h"
+as_fn_append ac_header_list " inttypes.h"
+as_fn_append ac_func_list " iswcntrl"
+as_fn_append ac_func_list " iswblank"
+as_fn_append ac_header_list " langinfo.h"
+as_fn_append ac_header_list " xlocale.h"
+as_fn_append ac_func_list " lstat"
+as_fn_append ac_func_list " mbsinit"
+as_fn_append ac_func_list " mbrtowc"
+as_fn_append ac_func_list " mbslen"
+as_fn_append ac_header_list " sys/mman.h"
+as_fn_append ac_func_list " mprotect"
+as_fn_append ac_func_list " mkstemp"
+as_fn_append ac_func_list " nl_langinfo"
+as_fn_append ac_header_list " sys/param.h"
+as_fn_append ac_func_list " readlink"
+as_fn_append ac_func_list " wcscoll"
+as_fn_append ac_func_list " secure_getenv"
+as_fn_append ac_func_list " sigaction"
+as_fn_append ac_func_list " siginterrupt"
+as_fn_append ac_func_list " tzset"
+as_fn_append ac_header_list " strings.h"
+as_fn_append ac_func_list " strndup"
+as_fn_append ac_func_list " strptime"
+as_fn_append ac_func_list " strtoumax"
+as_fn_append ac_header_list " sys/wait.h"
+as_fn_append ac_func_list " localtime_r"
+as_fn_append ac_func_list " vasnprintf"
+as_fn_append ac_header_list " features.h"
+as_fn_append ac_func_list " snprintf"
+as_fn_append ac_func_list " wcrtomb"
+as_fn_append ac_func_list " wcwidth"
+as_fn_append ac_func_list " newlocale"
+as_fn_append ac_func_list " setenv"
+as_fn_append ac_func_list " sleep"
+as_fn_append ac_func_list " usleep"
+as_fn_append ac_func_list " wctob"
+as_fn_append ac_func_list " sigprocmask"
+as_fn_append ac_func_list " strcasecoll"
+as_fn_append ac_func_list " stricoll"
 gt_needs="$gt_needs need-ngettext"
 # Check that the precious variables saved in the cache have kept the same
 # value.
@@ -3258,12 +3296,12 @@ for ac_var in $ac_precious_vars; do
   eval ac_new_val=\$ac_env_${ac_var}_value
   case $ac_old_set,$ac_new_set in
     set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,);;
     *)
@@ -3272,24 +3310,24 @@ $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
        ac_old_val_w=`echo x $ac_old_val`
        ac_new_val_w=`echo x $ac_new_val`
        if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+         { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
          ac_cache_corrupted=:
        else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+         { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
          eval $ac_var=\$ac_old_val
        fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+printf "%s\n" "$as_me:   former value:  \`$ac_old_val'" >&2;}
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+printf "%s\n" "$as_me:   current value: \`$ac_new_val'" >&2;}
       fi;;
   esac
   # Pass precious variables to config.status.
   if test "$ac_new_set" = set; then
     case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
     *) ac_arg=$ac_var=$ac_new_val ;;
     esac
     case " $ac_configure_args " in
@@ -3299,10 +3337,10 @@ $as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
   fi
 done
 if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
   as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
@@ -3349,7 +3387,7 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
 
 
-am__api_version='1.11a'
+am__api_version='1.13a'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -3365,20 +3403,24 @@ am__api_version='1.11a'
 # OS/2's system install, which has a completely different semantic
 # ./install, which can be erroneously created by make from ./install.sh.
 # Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+printf %s "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
 if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    # Account for fact that we put trailing slashes in our PATH walk.
+case $as_dir in #((
+  ./ | /[cC]/* | \
   /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
   ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
   /usr/ucb/* ) ;;
@@ -3388,13 +3430,13 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+       if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then
          if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
            # AIX install.  It has an incompatible calling convention.
            :
          elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
            # program-specific install script used by HP pwplus--don't use.
            :
          else
@@ -3402,12 +3444,12 @@ case $as_dir/ in #((
            echo one > conftest.one
            echo two > conftest.two
            mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+           if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
              test -s conftest.one && test -s conftest.two &&
              test -s conftest.dir/conftest.one &&
              test -s conftest.dir/conftest.two
            then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+             ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c"
              break 3
            fi
          fi
@@ -3433,8 +3475,8 @@ fi
     INSTALL=$ac_install_sh
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+printf "%s\n" "$INSTALL" >&6; }
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
 # It thinks the first close brace ends the variable substitution.
@@ -3444,8 +3486,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+printf %s "checking whether build environment is sane... " >&6; }
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -3456,10 +3498,10 @@ case `pwd` in
 esac
 case $srcdir in
   *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
@@ -3499,8 +3541,8 @@ else
    as_fn_error $? "newly created file is older than distributed files!
 Check your system clock" "$LINENO" 5
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 # If we didn't sleep, we still need to ensure time stamps of config.status and
 # generated files are strictly newer.
 am_sleep_pid=
@@ -3519,7 +3561,7 @@ test "$program_suffix" != NONE &&
 # Double any \ or $.
 # By default was `s,x,x', remove it if useless.
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"`
 
 # expand $ac_aux_dir to an absolute path
 am_aux_dir=`cd $ac_aux_dir && pwd`
@@ -3533,12 +3575,12 @@ if test x"${MISSING+set}" != xset; then
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
 if test x"${install_sh}" != xset; then
@@ -3550,18 +3592,18 @@ if test x"${install_sh}" != xset; then
   esac
 fi
 
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
+# will honor the 'STRIP' environment variable to overrule this program.
 if test "$cross_compiling" != no; then
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -n "$STRIP"; then
   ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
@@ -3570,11 +3612,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3585,11 +3631,11 @@ fi
 fi
 STRIP=$ac_cv_prog_STRIP
 if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+printf "%s\n" "$STRIP" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -3598,10 +3644,10 @@ if test -z "$ac_cv_prog_STRIP"; then
   ac_ct_STRIP=$STRIP
   # Extract the first word of "strip", so it can be a program name with args.
 set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
   ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
@@ -3610,11 +3656,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3625,11 +3675,11 @@ fi
 fi
 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
 if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+printf "%s\n" "$ac_ct_STRIP" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_STRIP" = x; then
@@ -3637,8 +3687,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     STRIP=$ac_ct_STRIP
@@ -3650,25 +3700,29 @@ fi
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+printf %s "checking for a thread-safe mkdir -p... " >&6; }
 if test -z "$MKDIR_P"; then
   if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_prog in mkdir gmkdir; do
         for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+          as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue
+          case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #(
             'mkdir (GNU coreutils) '* | \
             'mkdir (coreutils) '* | \
             'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+              ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext
               break 3;;
           esac
         done
@@ -3689,24 +3743,17 @@ fi
     MKDIR_P="$ac_install_sh -d"
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+printf "%s\n" "$MKDIR_P" >&6; }
 
 for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -n "$AWK"; then
   ac_cv_prog_AWK="$AWK" # Let the user override the test.
@@ -3715,11 +3762,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3730,23 +3781,23 @@ fi
 fi
 AWK=$ac_cv_prog_AWK
 if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+printf "%s\n" "$AWK" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
   test -n "$AWK" && break
 done
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
 if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
 SHELL = /bin/sh
@@ -3763,23 +3814,53 @@ esac
 rm -f conftest.make
 fi
 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
   SET_MAKE=
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+printf %s "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  printf %s "(cached) " >&6
+else
+  if printf "%s\n" 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+       @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
 else
-  am__leading_dot=_
+  am_cv_make_support_nested_variables=no
 fi
-rmdir .tst 2>/dev/null
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
 
 if test "`cd $srcdir && pwd`" != "`pwd`"; then
   # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
@@ -3803,7 +3884,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='diffutils'
- VERSION='3.2'
+ VERSION='3.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3833,16 +3914,57 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
-# Always define AMTAR for backward compatibility.
+# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
 
-AMTAR=${AMTAR-"${am_missing_run}tar"}
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
 
 
 
 
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
 
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
 # Check whether --enable-silent-rules was given.
 if test "${enable_silent_rules+set}" = set; then :
   enableval=$enable_silent_rules;
@@ -3853,6 +3975,33 @@ case $enable_silent_rules in # (((
    no) AM_DEFAULT_VERBOSITY=1;;
     *) AM_DEFAULT_VERBOSITY=0;;
 esac
+am_make=${MAKE-make}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+printf %s "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  printf %s "(cached) " >&6
+else
+  if printf "%s\n" 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+       @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
 AM_BACKSLASH='\'
  # make --enable-silent-rules the default.
 
@@ -3863,10 +4012,10 @@ for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -n "$AWK"; then
   ac_cv_prog_AWK="$AWK" # Let the user override the test.
@@ -3875,11 +4024,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3890,11 +4043,11 @@ fi
 fi
 AWK=$ac_cv_prog_AWK
 if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+printf "%s\n" "$AWK" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -3909,10 +4062,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -3921,11 +4074,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3936,11 +4093,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -3949,10 +4106,10 @@ if test -z "$ac_cv_prog_CC"; then
   ac_ct_CC=$CC
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -3961,11 +4118,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3976,11 +4137,11 @@ fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_CC" = x; then
@@ -3988,8 +4149,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
@@ -4002,10 +4163,10 @@ if test -z "$CC"; then
           if test -n "$ac_tool_prefix"; then
     # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -4014,11 +4175,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4029,11 +4194,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4042,10 +4207,10 @@ fi
 if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -4055,15 +4220,19 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
      fi
     ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4079,18 +4248,18 @@ if test $ac_prog_rejected = yes; then
     # However, it has the same basename, so the bogon will be chosen
     # first if we set CC to just the basename; use the full file name.
     shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+    ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
   fi
 fi
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4101,10 +4270,10 @@ if test -z "$CC"; then
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -4113,11 +4282,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4128,11 +4301,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4145,10 +4318,10 @@ if test -z "$CC"; then
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -4157,11 +4330,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4172,11 +4349,11 @@ fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4188,8 +4365,8 @@ done
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
@@ -4199,13 +4376,13 @@ fi
 fi
 
 
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "no acceptable C compiler found in \$PATH
 See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
 set X $ac_compile
 ac_compiler=$2
 for ac_option in --version -v -V -qversion; do
@@ -4215,7 +4392,7 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_compiler $ac_option >&5") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -4225,7 +4402,7 @@ $as_echo "$ac_try_echo"; } >&5
     cat conftest.er1 >&5
   fi
   rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
@@ -4245,9 +4422,9 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+printf %s "checking whether the C compiler works... " >&6; }
+ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
 ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
@@ -4268,10 +4445,10 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link_default") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then :
   # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
 # So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
@@ -4309,39 +4486,39 @@ else
   ac_file=''
 fi
 if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error 77 "C compiler cannot create executables
 See \`config.log' for more details" "$LINENO" 5; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+printf %s "checking for C compiler default output file name... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+printf "%s\n" "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
 rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+printf %s "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then :
   # If both `conftest.exe' and `conftest' are `present' (well, observable)
 # catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
@@ -4357,14 +4534,14 @@ for ac_file in conftest.exe conftest conftest.*; do
   esac
 done
 else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "cannot compute suffix of executables: cannot compile and link
 See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+printf "%s\n" "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
@@ -4385,8 +4562,8 @@ _ACEOF
 ac_clean_files="$ac_clean_files conftest.out"
 # Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+printf %s "checking whether we are cross compiling... " >&6; }
 if test "$cross_compiling" != yes; then
   { { ac_try="$ac_link"
 case "(($ac_try" in
@@ -4394,10 +4571,10 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
   if { ac_try='./conftest$ac_cv_exeext'
   { { case "(($ac_try" in
@@ -4405,33 +4582,33 @@ $as_echo "$ac_try_echo"; } >&5
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_try") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; }; then
     cross_compiling=no
   else
     if test "$cross_compiling" = maybe; then
        cross_compiling=yes
     else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+       { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "cannot run C compiled programs.
 If you meant to cross compile, use \`--host'.
 See \`config.log' for more details" "$LINENO" 5; }
     fi
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+printf "%s\n" "$cross_compiling" >&6; }
 
 rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
 ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+printf %s "checking for suffix of object files... " >&6; }
 if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -4451,10 +4628,10 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_compile") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then :
   for ac_file in conftest.o conftest.obj conftest.*; do
   test -f "$ac_file" || continue;
@@ -4465,24 +4642,24 @@ $as_echo "$ac_try_echo"; } >&5
   esac
 done
 else
-  $as_echo "$as_me: failed program was:" >&5
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "cannot compute suffix of object files: cannot compile
 See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+printf "%s\n" "$ac_cv_objext" >&6; }
 OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+printf %s "checking whether we are using the GNU C compiler... " >&6; }
 if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -4507,8 +4684,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
 if test $ac_compiler_gnu = yes; then
   GCC=yes
 else
@@ -4516,10 +4693,10 @@ else
 fi
 ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+printf %s "checking whether $CC accepts -g... " >&6; }
 if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
    ac_c_werror_flag=yes
@@ -4577,8 +4754,8 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    ac_c_werror_flag=$ac_save_c_werror_flag
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
 if test "$ac_test_CFLAGS" = set; then
   CFLAGS=$ac_save_CFLAGS
 elif test $ac_cv_prog_cc_g = yes; then
@@ -4594,740 +4771,418 @@ else
     CFLAGS=
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
+printf %s "checking for $CC option to enable C11 features... " >&6; }
+if ${ac_cv_prog_cc_c11+:} false; then :
+  printf %s "(cached) " >&6
 else
-  ac_cv_prog_cc_c89=no
+  ac_cv_prog_cc_c11=no
 ac_save_CC=$CC
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdarg.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <wchar.h>
 #include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
+
+// Check varargs macros.  These examples are taken from C99 6.10.3.5.
+#define debug(...) fprintf (stderr, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
 {
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
+  int x = 1234;
+  int y = 5678;
+  debug ("Flag");
+  debug ("X = %d\n", x);
+  showlist (The first, second, and third items.);
+  report (x>y, "x is %d but y is %d", x, y);
 }
 
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+  your preprocessor is broken;
+#endif
+#if BIG_OK
+#else
+  your preprocessor is broken;
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
 
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+struct incomplete_array
+{
+  int datasize;
+  double data[];
+};
+
+struct named_init {
+  int number;
+  const wchar_t *name;
+  double average;
+};
+
+typedef const char *ccp;
+
+static inline int
+test_restrict (ccp restrict text)
+{
+  // See if C++-style comments work.
+  // Iterate through items via the restricted pointer.
+  // Also check for declarations in for loops.
+  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
+    continue;
+  return 0;
+}
+
+// Check varargs and va_copy.
+static bool
+test_varargs (const char *format, ...)
+{
+  va_list args;
+  va_start (args, format);
+  va_list args_copy;
+  va_copy (args_copy, args);
+
+  const char *str = "";
+  int number = 0;
+  float fnumber = 0;
+
+  while (*format)
+    {
+      switch (*format++)
+       {
+       case 's': // string
+         str = va_arg (args_copy, const char *);
+         break;
+       case 'd': // int
+         number = va_arg (args_copy, int);
+         break;
+       case 'f': // float
+         fnumber = va_arg (args_copy, double);
+         break;
+       default:
+         break;
+       }
+    }
+  va_end (args_copy);
+  va_end (args);
+
+  return *str && number && fnumber;
+}
+// Check _Alignas.
+char _Alignas (double) aligned_as_double;
+char _Alignas (0) no_special_alignment;
+extern char aligned_as_int;
+char _Alignas (0) _Alignas (int) aligned_as_int;
+
+// Check _Alignof.
+enum
+{
+  int_alignment = _Alignof (int),
+  int_array_alignment = _Alignof (int[100]),
+  char_alignment = _Alignof (char)
+};
+_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
+
+// Check _Noreturn.
+int _Noreturn does_not_return (void) { for (;;) continue; }
+
+// Check _Static_assert.
+struct test_static_assert
+{
+  int x;
+  _Static_assert (sizeof (int) <= sizeof (long int),
+                  "_Static_assert does not work in struct");
+  long int y;
+};
+
+// Check UTF-8 literals.
+#define u8 syntax error!
+char const utf8_literal[] = u8"happens to be ASCII" "another string";
+
+// Check duplicate typedefs.
+typedef long *long_ptr;
+typedef long int *long_ptr;
+typedef long_ptr long_ptr;
+
+// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
+struct anonymous
+{
+  union {
+    struct { int i; int j; };
+    struct { int k; long int l; } w;
+  };
+  int m;
+} v1;
 
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
 int
 main ()
 {
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+
+  // Check bool.
+  _Bool success = false;
+
+  // Check restrict.
+  if (test_restrict ("String literal") == 0)
+    success = true;
+  char *restrict newvar = "Another string";
+
+  // Check varargs.
+  success &= test_varargs ("s, d' f .", "string", 65, 34.234);
+  test_varargs_macros ();
+
+  // Check flexible array members.
+  struct incomplete_array *ia =
+    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+  ia->datasize = 10;
+  for (int i = 0; i < ia->datasize; ++i)
+    ia->data[i] = i * 1.234;
+
+  // Check named initializers.
+  struct named_init ni = {
+    .number = 34,
+    .name = L"Test wide string",
+    .average = 543.34343,
+  };
+
+  ni.number = 58;
+
+  int dynamic_array[ni.number];
+  dynamic_array[ni.number - 1] = 543;
+
+  // work around unused variable warnings
+  return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
+         || dynamic_array[ni.number - 1] != 543);
+
+  v1.i = 2;
+  v1.w.k = 5;
+  _Static_assert (&v1.i == &v1.w.k, "Anonymous union alignment botch");
+
   ;
   return 0;
 }
 _ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -std=gnu11
 do
   CC="$ac_save_CC $ac_arg"
   if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
+  ac_cv_prog_cc_c11=$ac_arg
 fi
 rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
+  test "x$ac_cv_prog_cc_c11" != "xno" && break
 done
 rm -f conftest.$ac_ext
 CC=$ac_save_CC
 
 fi
 # AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
+ac_prog_cc_stdc_options=
+case "x$ac_cv_prog_cc_c11" in
   x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; } ;;
   xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; } ;;
   *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+    ac_prog_cc_stdc_options=" $ac_cv_prog_cc_c11"
+    CC=$CC$ac_prog_cc_stdc_options
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
+printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } ;;
 esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
+if test "x$ac_cv_prog_cc_c11" != xno; then :
+  ac_prog_cc_stdc=c11
+                ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
+printf %s "checking for $CC option to enable C99 features... " >&6; }
+if ${ac_cv_prog_cc_c99+:} false; then :
+  printf %s "(cached) " >&6
+else
+  ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <wchar.h>
+#include <stdio.h>
 
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
+// Check varargs macros.  These examples are taken from C99 6.10.3.5.
+#define debug(...) fprintf (stderr, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
+{
+  int x = 1234;
+  int y = 5678;
+  debug ("Flag");
+  debug ("X = %d\n", x);
+  showlist (The first, second, and third items.);
+  report (x>y, "x is %d but y is %d", x, y);
+}
 
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+  your preprocessor is broken;
+#endif
+#if BIG_OK
+#else
+  your preprocessor is broken;
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
+struct incomplete_array
+{
+  int datasize;
+  double data[];
+};
 
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
+struct named_init {
+  int number;
+  const wchar_t *name;
+  double average;
+};
 
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-  am__nodep='_no'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
+typedef const char *ccp;
 
+static inline int
+test_restrict (ccp restrict text)
+{
+  // See if C++-style comments work.
+  // Iterate through items via the restricted pointer.
+  // Also check for declarations in for loops.
+  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
+    continue;
+  return 0;
+}
 
+// Check varargs and va_copy.
+static bool
+test_varargs (const char *format, ...)
+{
+  va_list args;
+  va_start (args, format);
+  va_list args_copy;
+  va_copy (args_copy, args);
 
-depcc="$CC"   am_compiler_list=
+  const char *str = "";
+  int number = 0;
+  float fnumber = 0;
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
+  while (*format)
+    {
+      switch (*format++)
+       {
+       case 's': // string
+         str = va_arg (args_copy, const char *);
+         break;
+       case 'd': // int
+         number = va_arg (args_copy, int);
+         break;
+       case 'f': // float
+         fnumber = va_arg (args_copy, double);
+         break;
+       default:
+         break;
+       }
+    }
+  va_end (args_copy);
+  va_end (args);
 
-  ;
-  return 0;
+  return *str && number && fnumber;
 }
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
 int
 main ()
 {
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+  // Check bool.
+  _Bool success = false;
 
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  // Check restrict.
+  if (test_restrict ("String literal") == 0)
+    success = true;
+  char *restrict newvar = "Another string";
 
-int
-main ()
-{
+  // Check varargs.
+  success &= test_varargs ("s, d' f .", "string", 65, 34.234);
+  test_varargs_macros ();
+
+  // Check flexible array members.
+  struct incomplete_array *ia =
+    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+  ia->datasize = 10;
+  for (int i = 0; i < ia->datasize; ++i)
+    ia->data[i] = i * 1.234;
+
+  // Check named initializers.
+  struct named_init ni = {
+    .number = 34,
+    .name = L"Test wide string",
+    .average = 543.34343,
+  };
+
+  ni.number = 58;
+
+  int dynamic_array[ni.number];
+  dynamic_array[ni.number - 1] = 543;
+
+  // work around unused variable warnings
+  return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
+         || dynamic_array[ni.number - 1] != 543);
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc1x -qlanglvl=extc99
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c99=$ac_arg
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
+# AC_CACHE_VAL
+ac_prog_cc_stdc_options=
+case "x$ac_cv_prog_cc_c99" in
+  x)
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; } ;;
+  xno)
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; } ;;
+  *)
+    ac_prog_cc_stdc_options=" $ac_cv_prog_cc_c99"
+    CC=$CC$ac_prog_cc_stdc_options
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c99" != xno; then :
+  ac_prog_cc_stdc=c99
+                   ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
 else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
+printf %s "checking for $CC option to enable C89 features... " >&6; }
 if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
 ac_save_CC=$CC
@@ -5398,19 +5253,29 @@ CC=$ac_save_CC
 
 fi
 # AC_CACHE_VAL
+ac_prog_cc_stdc_options=
 case "x$ac_cv_prog_cc_c89" in
   x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; } ;;
   xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; } ;;
   *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+    ac_prog_cc_stdc_options=" $ac_cv_prog_cc_c89"
+    CC=$CC$ac_prog_cc_stdc_options
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } ;;
 esac
 if test "x$ac_cv_prog_cc_c89" != xno; then :
+  ac_prog_cc_stdc=c89
+                      ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+else
+  ac_prog_cc_stdc=no
+                      ac_cv_prog_cc_stdc=no
+fi
+
+fi
 
 fi
 
@@ -5420,19 +5285,137 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+printf %s "checking whether $CC understands -c and -o together... " >&6; }
+set dummy $CC; am__cc=`printf "%s\n" "$2" | \
+                       sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+if eval \${am_cv_prog_cc_${am__cc}_c_o+:} false; then :
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+# Make sure it works both with $CC and with simple cc.
+# We do the test twice because some compilers refuse to overwrite an
+# existing .o file with -o, though they will create one.
+ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+rm -f conftest2.*
+if { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+printf "%s\n" "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -f conftest2.$ac_objext
+then
+  eval am_cv_prog_cc_${am__cc}_c_o=yes
+else
+  eval am_cv_prog_cc_${am__cc}_c_o=no
+fi
+rm -f core conftest*
+
+fi
+if eval test \"\$am_cv_prog_cc_${am__cc}_c_o\" = yes; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+  # Losing compiler, so wrap it with the 'compile' script.
+  # FIXME: It is wrong to rewrite CC.
+  # But if we don't then we get into trouble of one sort or another.
+  # A longer-term fix would be to have automake use am__CC in this case,
+  # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+  CC="$am_aux_dir/compile $CC"
+fi
+DEPDIR=.deps
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+       @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+printf %s "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+printf "%s\n" "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+  enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+  am__nodep='_no'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+
 depcc="$CC"   am_compiler_list=
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+printf %s "checking dependency style of $depcc... " >&6; }
 if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -5467,16 +5450,16 @@ else
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -5485,8 +5468,8 @@ else
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
        continue
       else
@@ -5494,7 +5477,7 @@ else
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -5533,8 +5516,8 @@ else
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; }
 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
  if
@@ -5549,18 +5532,15 @@ fi
 
 
 
-am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
-
-
 HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"}
 
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -n "$RANLIB"; then
   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
@@ -5569,11 +5549,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5584,11 +5568,11 @@ fi
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+printf "%s\n" "$RANLIB" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -5597,10 +5581,10 @@ if test -z "$ac_cv_prog_RANLIB"; then
   ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
   ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
@@ -5609,11 +5593,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5624,11 +5612,11 @@ fi
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+printf "%s\n" "$ac_ct_RANLIB" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_RANLIB" = x; then
@@ -5636,8 +5624,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     RANLIB=$ac_ct_RANLIB
@@ -5652,15 +5640,15 @@ ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+printf %s "checking how to run the C preprocessor... " >&6; }
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
 fi
 if test -z "$CPP"; then
   if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
     for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
@@ -5670,17 +5658,11 @@ for ac_c_preproc_warn_flag in '' yes
 do
   # Use a header file that comes with gcc, so configuring glibc
   # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp. "Syntax error" is here to catch this case.
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+#include <limits.h>
                     Syntax error
 _ACEOF
 if ac_fn_c_try_cpp "$LINENO"; then :
@@ -5722,24 +5704,18 @@ fi
 else
   ac_cv_prog_CPP=$CPP
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+printf "%s\n" "$CPP" >&6; }
 ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
 do
   # Use a header file that comes with gcc, so configuring glibc
   # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp. "Syntax error" is here to catch this case.
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+#include <limits.h>
                     Syntax error
 _ACEOF
 if ac_fn_c_try_cpp "$LINENO"; then :
@@ -5772,8 +5748,8 @@ rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
 See \`config.log' for more details" "$LINENO" 5; }
 fi
@@ -5785,10 +5761,10 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+printf %s "checking for grep that handles long lines and -e... " >&6; }
 if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -z "$GREP"; then
   ac_path_GREP_found=false
@@ -5797,11 +5773,15 @@ else
 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      ac_path_GREP="$as_dir$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -5809,13 +5789,13 @@ case `"$ac_path_GREP" --version 2>&1` in
   ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
 *)
   ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
+  printf %s 0123456789 >"conftest.in"
   while :
   do
     cat "conftest.in" "conftest.in" >"conftest.tmp"
     mv "conftest.tmp" "conftest.in"
     cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
+    printf "%s\n" 'GREP' >> "conftest.nl"
     "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     as_fn_arith $ac_count + 1 && ac_count=$as_val
@@ -5843,15 +5823,15 @@ else
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+printf "%s\n" "$ac_cv_path_GREP" >&6; }
  GREP="$ac_cv_path_GREP"
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+printf %s "checking for egrep... " >&6; }
 if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
    then ac_cv_path_EGREP="$GREP -E"
@@ -5863,11 +5843,15 @@ else
 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -5875,13 +5859,13 @@ case `"$ac_path_EGREP" --version 2>&1` in
   ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
 *)
   ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
+  printf %s 0123456789 >"conftest.in"
   while :
   do
     cat "conftest.in" "conftest.in" >"conftest.tmp"
     mv "conftest.tmp" "conftest.in"
     cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
+    printf "%s\n" 'EGREP' >> "conftest.nl"
     "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     as_fn_arith $ac_count + 1 && ac_count=$as_val
@@ -5905,42 +5889,173 @@ IFS=$as_save_IFS
     as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
-  ac_cv_path_EGREP=$EGREP
+  ac_cv_path_EGREP=$EGREP
+fi
+
+   fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+printf "%s\n" "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5
+printf %s "checking for Minix Amsterdam compiler... " >&6; }
+if ${gl_cv_c_amsterdam_compiler+:} false; then :
+  printf %s "(cached) " >&6
+else
+
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifdef __ACK__
+Amsterdam
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "Amsterdam" >/dev/null 2>&1; then :
+  gl_cv_c_amsterdam_compiler=yes
+else
+  gl_cv_c_amsterdam_compiler=no
+fi
+rm -rf conftest*
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5
+printf "%s\n" "$gl_cv_c_amsterdam_compiler" >&6; }
+  if test -z "$AR"; then
+    if test $gl_cv_c_amsterdam_compiler = yes; then
+      AR='cc -c.a'
+      if test -z "$ARFLAGS"; then
+        ARFLAGS='-o'
+      fi
+    else
+                  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+  printf %s "(cached) " >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="${ac_tool_prefix}ar"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+printf "%s\n" "$AR" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+  ac_ct_AR=$AR
+  # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+  printf %s "(cached) " >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="ar"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+printf "%s\n" "$ac_ct_AR" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
-   fi
+  if test "x$ac_ct_AR" = x; then
+    AR="ar"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
+else
+  AR="$ac_cv_prog_AR"
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-
-
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-#ifdef __ACK__
-Amsterdam
-#endif
+      if test -z "$ARFLAGS"; then
+        ARFLAGS='cru'
+      fi
+    fi
+  else
+    if test -z "$ARFLAGS"; then
+      ARFLAGS='cru'
+    fi
+  fi
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "Amsterdam" >/dev/null 2>&1; then :
-  AR='cc -c.a'
-     ARFLAGS='-o'
-     RANLIB=':'
 
-else
-       AR='ar'
-     ARFLAGS='cru'
-          if test -n "$ac_tool_prefix"; then
+  if test -z "$RANLIB"; then
+    if test $gl_cv_c_amsterdam_compiler = yes; then
+      RANLIB=':'
+    else
+            if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -n "$RANLIB"; then
   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
@@ -5949,11 +6064,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5964,11 +6083,11 @@ fi
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+printf "%s\n" "$RANLIB" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -5977,10 +6096,10 @@ if test -z "$ac_cv_prog_RANLIB"; then
   ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
   ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
@@ -5989,11 +6108,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6004,11 +6127,11 @@ fi
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+printf "%s\n" "$ac_ct_RANLIB" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_RANLIB" = x; then
@@ -6016,8 +6139,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     RANLIB=$ac_ct_RANLIB
@@ -6026,214 +6149,24 @@ else
   RANLIB="$ac_cv_prog_RANLIB"
 fi
 
-
-fi
-rm -f conftest*
-
-
-
-
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-                     sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-        test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-       # cc works too.
-       :
-      else
-       # cc exists but doesn't like -o.
-       eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
     fi
   fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
+# For better backward-compatibility.  Users are advised to stop
+# relying on this cache variable and C preprocessor symbol ASAP.
+eval ac_cv_prog_cc_${am__cc}_c_o=\$am_cv_prog_cc_${am__cc}_c_o
+if eval test \"\$ac_cv_prog_cc_${am__cc}_c_o\" != yes; then
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
+printf "%s\n" "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+printf %s "checking for ANSI C header files... " >&6; }
 if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -6270,7 +6203,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 else
   ac_cv_header_stdc=no
 fi
-rm -f conftest*
+rm -rf conftest*
 
 fi
 
@@ -6287,7 +6220,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 else
   ac_cv_header_stdc=no
 fi
-rm -f conftest*
+rm -rf conftest*
 
 fi
 
@@ -6334,11 +6267,11 @@ fi
 
 fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+printf "%s\n" "$ac_cv_header_stdc" >&6; }
 if test $ac_cv_header_stdc = yes; then
 
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
 
 fi
 
@@ -6346,12 +6279,12 @@ fi
 for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
                  inttypes.h stdint.h unistd.h
 do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+  as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
 if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
 fi
@@ -6360,8 +6293,6 @@ done
 
 
 
-
-
   ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
 if test "x$ac_cv_header_minix_config_h" = xyes; then :
   MINIX=yes
@@ -6372,29 +6303,24 @@ fi
 
   if test "$MINIX" = yes; then
 
-$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
-
+printf "%s\n" "#define _POSIX_SOURCE 1" >>confdefs.h
 
-$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
 
+printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h
 
-$as_echo "#define _MINIX 1" >>confdefs.h
 
-  fi
+printf "%s\n" "#define _MINIX 1" >>confdefs.h
 
-        case "$host_os" in
-    hpux*)
 
-$as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h
+printf "%s\n" "#define _NETBSD_SOURCE 1" >>confdefs.h
 
-      ;;
-  esac
+  fi
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
-$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+printf %s "checking whether it is safe to define __EXTENSIONS__... " >&6; }
 if ${ac_cv_safe_to_define___extensions__+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -6416,26 +6342,145 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
-$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+printf "%s\n" "$ac_cv_safe_to_define___extensions__" >&6; }
   test $ac_cv_safe_to_define___extensions__ = yes &&
-    $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
+    printf "%s\n" "#define __EXTENSIONS__ 1" >>confdefs.h
+
+  printf "%s\n" "#define _ALL_SOURCE 1" >>confdefs.h
+
+  printf "%s\n" "#define _DARWIN_C_SOURCE 1" >>confdefs.h
+
+  printf "%s\n" "#define _GNU_SOURCE 1" >>confdefs.h
+
+  printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+  printf "%s\n" "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5
+printf %s "checking whether _XOPEN_SOURCE should be defined... " >&6; }
+if ${ac_cv_should_define__xopen_source+:} false; then :
+  printf %s "(cached) " >&6
+else
+  ac_cv_should_define__xopen_source=no
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+          #include <wchar.h>
+          mbstate_t x;
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+             #define _XOPEN_SOURCE 500
+             #include <wchar.h>
+             mbstate_t x;
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_should_define__xopen_source=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5
+printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; }
+  test $ac_cv_should_define__xopen_source = yes &&
+    printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h
+
+
 
-  $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
 
-  $as_echo "#define _DARWIN_C_SOURCE 1" >>confdefs.h
 
-  $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
 
-  $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
 
-  $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
 
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+printf %s "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+  printf %s "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+printf "%s\n" "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+printf %s "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+  printf %s "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+printf "%s\n" "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
 
@@ -6451,9 +6496,11 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
       # <http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V51B_HTML/MAN/MAN3/0600____.HTM>
       if test -n "$GCC"; then
         # GCC has the option -mieee.
+        # For full IEEE compliance (rarely needed), use option -mieee-with-inexact.
         CPPFLAGS="$CPPFLAGS -mieee"
       else
-        # Compaq (ex-DEC) C has the option -ieee.
+        # Compaq (ex-DEC) C has the option -ieee, equivalent to -ieee_with_no_inexact.
+        # For full IEEE compliance (rarely needed), use option -ieee_with_inexact.
         CPPFLAGS="$CPPFLAGS -ieee"
       fi
       ;;
@@ -6472,10 +6519,10 @@ fi
 
 if test "$enable_largefile" != no; then
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+printf %s "checking for special C compiler options needed for large files... " >&6; }
 if ${ac_cv_sys_largefile_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   ac_cv_sys_largefile_CC=no
      if test "$GCC" != yes; then
@@ -6517,16 +6564,16 @@ rm -f core conftest.err conftest.$ac_objext
        rm -f conftest.$ac_ext
     fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+printf "%s\n" "$ac_cv_sys_largefile_CC" >&6; }
   if test "$ac_cv_sys_largefile_CC" != no; then
     CC=$CC$ac_cv_sys_largefile_CC
   fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+printf %s "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
 if ${ac_cv_sys_file_offset_bits+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   while :; do
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6580,8 +6627,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   break
 done
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
-$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+printf "%s\n" "$ac_cv_sys_file_offset_bits" >&6; }
 case $ac_cv_sys_file_offset_bits in #(
   no | unknown) ;;
   *)
@@ -6592,10 +6639,10 @@ _ACEOF
 esac
 rm -rf conftest*
   if test $ac_cv_sys_file_offset_bits = unknown; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+printf %s "checking for _LARGE_FILES value needed for large files... " >&6; }
 if ${ac_cv_sys_large_files+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   while :; do
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6640,322 +6687,33 @@ main ()
   ;
   return 0;
 }
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_sys_large_files=1; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_cv_sys_large_files=unknown
-  break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
-$as_echo "$ac_cv_sys_large_files" >&6; }
-case $ac_cv_sys_large_files in #(
-  no | unknown) ;;
-  *)
-cat >>confdefs.h <<_ACEOF
-#define _LARGE_FILES $ac_cv_sys_large_files
-_ACEOF
-;;
-esac
-rm -rf conftest*
-  fi
-
-
-fi
-
-   case $ac_cv_prog_cc_stdc in #(
-  no) :
-    ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #(
-  *) :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5
-$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
-if ${ac_cv_prog_cc_c99+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c99=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdbool.h>
-#include <stdlib.h>
-#include <wchar.h>
-#include <stdio.h>
-
-// Check varargs macros.  These examples are taken from C99 6.10.3.5.
-#define debug(...) fprintf (stderr, __VA_ARGS__)
-#define showlist(...) puts (#__VA_ARGS__)
-#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
-static void
-test_varargs_macros (void)
-{
-  int x = 1234;
-  int y = 5678;
-  debug ("Flag");
-  debug ("X = %d\n", x);
-  showlist (The first, second, and third items.);
-  report (x>y, "x is %d but y is %d", x, y);
-}
-
-// Check long long types.
-#define BIG64 18446744073709551615ull
-#define BIG32 4294967295ul
-#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
-#if !BIG_OK
-  your preprocessor is broken;
-#endif
-#if BIG_OK
-#else
-  your preprocessor is broken;
-#endif
-static long long int bignum = -9223372036854775807LL;
-static unsigned long long int ubignum = BIG64;
-
-struct incomplete_array
-{
-  int datasize;
-  double data[];
-};
-
-struct named_init {
-  int number;
-  const wchar_t *name;
-  double average;
-};
-
-typedef const char *ccp;
-
-static inline int
-test_restrict (ccp restrict text)
-{
-  // See if C++-style comments work.
-  // Iterate through items via the restricted pointer.
-  // Also check for declarations in for loops.
-  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
-    continue;
-  return 0;
-}
-
-// Check varargs and va_copy.
-static void
-test_varargs (const char *format, ...)
-{
-  va_list args;
-  va_start (args, format);
-  va_list args_copy;
-  va_copy (args_copy, args);
-
-  const char *str;
-  int number;
-  float fnumber;
-
-  while (*format)
-    {
-      switch (*format++)
-       {
-       case 's': // string
-         str = va_arg (args_copy, const char *);
-         break;
-       case 'd': // int
-         number = va_arg (args_copy, int);
-         break;
-       case 'f': // float
-         fnumber = va_arg (args_copy, double);
-         break;
-       default:
-         break;
-       }
-    }
-  va_end (args_copy);
-  va_end (args);
-}
-
-int
-main ()
-{
-
-  // Check bool.
-  _Bool success = false;
-
-  // Check restrict.
-  if (test_restrict ("String literal") == 0)
-    success = true;
-  char *restrict newvar = "Another string";
-
-  // Check varargs.
-  test_varargs ("s, d' f .", "string", 65, 34.234);
-  test_varargs_macros ();
-
-  // Check flexible array members.
-  struct incomplete_array *ia =
-    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
-  ia->datasize = 10;
-  for (int i = 0; i < ia->datasize; ++i)
-    ia->data[i] = i * 1.234;
-
-  // Check named initializers.
-  struct named_init ni = {
-    .number = 34,
-    .name = L"Test wide string",
-    .average = 543.34343,
-  };
-
-  ni.number = 58;
-
-  int dynamic_array[ni.number];
-  dynamic_array[ni.number - 1] = 543;
-
-  // work around unused variable warnings
-  return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
-         || dynamic_array[ni.number - 1] != 543);
-
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c99=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c99" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c99" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c99"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
-$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c99" != xno; then :
-  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_large_files=1; break
 fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_cv_sys_large_files=unknown
+  break
 done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
 fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+printf "%s\n" "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+  no | unknown) ;;
   *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+;;
 esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
-else
-  ac_cv_prog_cc_stdc=no
-fi
+rm -rf conftest*
+  fi
+
+
+printf "%s\n" "#define _DARWIN_USE_64_BIT_INODE 1" >>confdefs.h
 
 fi
- ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5
-$as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; }
-  if ${ac_cv_prog_cc_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-
-  case $ac_cv_prog_cc_stdc in #(
-  no) :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;; #(
-  '') :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;; #(
-  *) :
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5
-$as_echo "$ac_cv_prog_cc_stdc" >&6; } ;;
-esac
+
 
 
 
@@ -6963,7 +6721,10 @@ esac
   # Code from module alloca:
   # Code from module alloca-opt:
   # Code from module alloca-opt-tests:
+  # Code from module allocator:
   # Code from module announce-gen:
+  # Code from module areadlink:
+  # Code from module areadlink-tests:
   # Code from module argmatch:
   # Code from module argmatch-tests:
   # Code from module binary-io:
@@ -6978,7 +6739,11 @@ esac
   # Code from module c-stack-tests:
   # Code from module c-strcase:
   # Code from module c-strcase-tests:
+  # Code from module c-strcaseeq:
+  # Code from module careadlinkat:
   # Code from module clock-time:
+  # Code from module close:
+  # Code from module close-tests:
   # Code from module config-h:
   # Code from module configmake:
   # Code from module diffseq:
@@ -7000,11 +6765,16 @@ esac
   # Code from module exitfail:
   # Code from module extensions:
 
+  # Code from module extern-inline:
   # Code from module fcntl:
   # Code from module fcntl-h:
   # Code from module fcntl-h-tests:
   # Code from module fcntl-tests:
+  # Code from module fd-hook:
   # Code from module fdl:
+  # Code from module fdopen:
+  # Code from module fdopen-tests:
+  # Code from module fgetc-tests:
   # Code from module file-type:
   # Code from module filenamecat:
   # Code from module filenamecat-lgpl:
@@ -7017,10 +6787,15 @@ esac
   # Code from module fpieee:
 
   # Code from module fpucw:
+  # Code from module fputc-tests:
+  # Code from module fread-tests:
   # Code from module freopen:
   # Code from module freopen-safer:
   # Code from module freopen-safer-tests:
   # Code from module freopen-tests:
+  # Code from module fstat:
+  # Code from module fstat-tests:
+  # Code from module fwrite-tests:
   # Code from module gendocs:
   # Code from module getcwd-lgpl:
   # Code from module getcwd-lgpl-tests:
@@ -7073,6 +6848,8 @@ esac
   # Code from module localcharset:
   # Code from module locale:
   # Code from module locale-tests:
+  # Code from module localeconv:
+  # Code from module localeconv-tests:
   # Code from module lstat:
   # Code from module lstat-tests:
   # Code from module maintainer-makefile:
@@ -7101,12 +6878,16 @@ esac
   # Code from module memchr-tests:
   # Code from module mkstemp:
   # Code from module mktime:
+  # Code from module msvc-inval:
+  # Code from module msvc-nothrow:
   # Code from module multiarch:
   # Code from module nl_langinfo:
   # Code from module nl_langinfo-tests:
   # Code from module nocrash:
   # Code from module open:
   # Code from module open-tests:
+  # Code from module pathmax:
+  # Code from module pathmax-tests:
   # Code from module progname:
   # Code from module propername:
   # Code from module putenv:
@@ -7114,18 +6895,26 @@ esac
   # Code from module quotearg:
   # Code from module quotearg-simple:
   # Code from module quotearg-simple-tests:
+  # Code from module raise:
+  # Code from module raise-tests:
+  # Code from module readlink:
+  # Code from module readlink-tests:
   # Code from module readme-release:
   # Code from module regex:
+  # Code from module regex-tests:
   # Code from module same-inode:
+  # Code from module secure_getenv:
   # Code from module setenv:
   # Code from module setenv-tests:
   # Code from module setlocale:
   # Code from module setlocale-tests:
   # Code from module sh-quote:
+  # Code from module sh-quote-tests:
   # Code from module sigaction:
   # Code from module sigaction-tests:
   # Code from module signal:
-  # Code from module signal-tests:
+  # Code from module signal-h:
+  # Code from module signal-h-tests:
   # Code from module sigprocmask:
   # Code from module sigprocmask-tests:
   # Code from module size_max:
@@ -7146,6 +6935,8 @@ esac
   # Code from module stat-time-tests:
   # Code from module stdarg:
 
+
+
   # Code from module stdbool:
   # Code from module stdbool-tests:
   # Code from module stddef:
@@ -7175,6 +6966,7 @@ esac
   # Code from module strnlen1:
   # Code from module strptime:
   # Code from module strtoull:
+  # Code from module strtoull-tests:
   # Code from module strtoumax:
   # Code from module strtoumax-tests:
   # Code from module symlink:
@@ -7183,9 +6975,14 @@ esac
   # Code from module sys_stat-tests:
   # Code from module sys_time:
   # Code from module sys_time-tests:
+  # Code from module sys_types:
+  # Code from module sys_types-tests:
   # Code from module sys_wait:
   # Code from module sys_wait-tests:
+  # Code from module system-quote:
   # Code from module tempname:
+  # Code from module test-framework-sh:
+  # Code from module test-framework-sh-tests:
   # Code from module time:
   # Code from module time-tests:
   # Code from module time_r:
@@ -7210,8 +7007,11 @@ esac
   # Code from module useless-if-before-free:
   # Code from module usleep:
   # Code from module usleep-tests:
+  # Code from module vararrays:
   # Code from module vasnprintf:
   # Code from module vasnprintf-tests:
+  # Code from module vasprintf:
+  # Code from module vasprintf-tests:
   # Code from module vc-list-files:
   # Code from module vc-list-files-tests:
   # Code from module verify:
@@ -7235,6 +7035,7 @@ esac
   # Code from module xalloc-die-tests:
   # Code from module xalloc-oversized:
   # Code from module xfreopen:
+  # Code from module xreadlink:
   # Code from module xsize:
   # Code from module xstriconv:
   # Code from module xstrndup:
@@ -7242,6 +7043,8 @@ esac
   # Code from module xstrtol-tests:
   # Code from module xstrtoumax:
   # Code from module xstrtoumax-tests:
+  # Code from module xvasprintf:
+  # Code from module xvasprintf-tests:
 
 
 
@@ -7265,10 +7068,10 @@ fi
 
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
+printf %s "checking for working alloca.h... " >&6; }
 if ${ac_cv_working_alloca_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -7290,39 +7093,39 @@ fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
+printf "%s\n" "$ac_cv_working_alloca_h" >&6; }
 if test $ac_cv_working_alloca_h = yes; then
 
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
+printf "%s\n" "#define HAVE_ALLOCA_H 1" >>confdefs.h
 
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
+printf %s "checking for alloca... " >&6; }
 if ${ac_cv_func_alloca_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
+else
+  if test $ac_cv_working_alloca_h = yes; then
+  ac_cv_func_alloca_works=yes
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
+#if defined STDC_HEADERS || defined HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+#include <stddef.h>
+#ifndef alloca
+# ifdef __GNUC__
+#  define alloca __builtin_alloca
+# elif defined _MSC_VER
 #  include <malloc.h>
 #  define alloca _alloca
 # else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-#    endif
-#   endif
+#  ifdef  __cplusplus
+extern "C"
 #  endif
+void *alloca (size_t);
 # endif
 #endif
 
@@ -7343,12 +7146,13 @@ fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
+printf "%s\n" "$ac_cv_func_alloca_works" >&6; }
+fi
 
 if test $ac_cv_func_alloca_works = yes; then
 
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
+printf "%s\n" "#define HAVE_ALLOCA 1" >>confdefs.h
 
 else
   # The SVR3 libPW and SVR4 libucb both contain incompatible functions
@@ -7362,13 +7166,13 @@ else
 
 ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
 
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
+printf "%s\n" "#define C_ALLOCA 1" >>confdefs.h
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
+printf %s "checking whether \`alloca.c' needs Cray hooks... " >&6; }
 if ${ac_cv_os_cray+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -7385,14 +7189,14 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 else
   ac_cv_os_cray=no
 fi
-rm -f conftest*
+rm -rf conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
+printf "%s\n" "$ac_cv_os_cray" >&6; }
 if test $ac_cv_os_cray = yes; then
   for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+    as_ac_var=`printf "%s\n" "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
 if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
 
@@ -7406,10 +7210,10 @@ fi
   done
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
+printf %s "checking stack direction for C alloca... " >&6; }
 if ${ac_cv_c_stack_direction+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
   ac_cv_c_stack_direction=0
@@ -7444,8 +7248,8 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
+printf "%s\n" "$ac_cv_c_stack_direction" >&6; }
 cat >>confdefs.h <<_ACEOF
 #define STACK_DIRECTION $ac_cv_c_stack_direction
 _ACEOF
@@ -7453,48 +7257,6 @@ _ACEOF
 
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if ${ac_cv_c_inline+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_inline=$ac_kw
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  test "$ac_cv_c_inline" != no && break
-done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
-
-case $ac_cv_c_inline in
-  inline | yes) ;;
-  *)
-    case $ac_cv_c_inline in
-      no) ac_val=;;
-      *) ac_val=$ac_cv_c_inline;;
-    esac
-    cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
-    ;;
-esac
-
 
   GNULIB_BTOWC=0;
   GNULIB_WCTOB=0;
@@ -7589,10 +7351,10 @@ esac
   REPLACE_WCSWIDTH=0;
 
 
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <wchar.h> uses 'inline' correctly" >&5
-$as_echo_n "checking whether <wchar.h> uses 'inline' correctly... " >&6; }
+            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether <wchar.h> uses 'inline' correctly" >&5
+printf %s "checking whether <wchar.h> uses 'inline' correctly... " >&6; }
 if ${gl_cv_header_wchar_h_correct_inline+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   gl_cv_header_wchar_h_correct_inline=yes
      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7614,7 +7376,7 @@ _ACEOF
      if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
        mv conftest.$ac_objext conftest1.$ac_objext
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7635,7 +7397,7 @@ _ACEOF
        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
          mv conftest.$ac_objext conftest2.$ac_objext
          if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&5 2>&1; then
@@ -7648,8 +7410,8 @@ _ACEOF
      rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5
-$as_echo "$gl_cv_header_wchar_h_correct_inline" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5
+printf "%s\n" "$gl_cv_header_wchar_h_correct_inline" >&6; }
   if test $gl_cv_header_wchar_h_correct_inline = no; then
     as_fn_error $? "<wchar.h> cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS).
 This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in
@@ -7665,14 +7427,13 @@ Configuration aborted." "$LINENO" 5
 
 
 
-
-  for ac_func in $gl_func_list
+  for ac_func in $ac_func_list
 do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+  as_ac_var=`printf "%s\n" "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
 if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
 
 fi
@@ -7681,12 +7442,10 @@ done
 
 
 
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
-$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
+printf %s "checking for nl_langinfo and CODESET... " >&6; }
 if ${am_cv_langinfo_codeset+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -7708,21 +7467,21 @@ rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5
-$as_echo "$am_cv_langinfo_codeset" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5
+printf "%s\n" "$am_cv_langinfo_codeset" >&6; }
   if test $am_cv_langinfo_codeset = yes; then
 
-$as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
+printf "%s\n" "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
 
   fi
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-$as_echo_n "checking for a traditional french locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
+printf %s "checking for a traditional french locale... " >&6; }
 if ${gt_cv_locale_fr+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7740,9 +7499,9 @@ char buf[16];
 int main () {
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -7751,7 +7510,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -7777,10 +7536,12 @@ int main () {
      one byte long. This excludes the UTF-8 encoding.  */
   t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
   if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -7788,7 +7549,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -7798,7 +7559,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the native Win32 locale name.
+          # Test for the native Windows locale name.
           if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr=French_France.1252
           else
@@ -7808,7 +7569,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -7844,8 +7605,8 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-$as_echo "$gt_cv_locale_fr" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
+printf "%s\n" "$gt_cv_locale_fr" >&6; }
   LOCALE_FR=$gt_cv_locale_fr
 
 
@@ -7854,17 +7615,14 @@ $as_echo "$gt_cv_locale_fr" >&6; }
 
 
 
-
-
-
-
-  for ac_header in $gl_header_list
+  for ac_header in $ac_header_list
 do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+  as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
 if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
 fi
@@ -7878,26 +7636,12 @@ done
 
 
 
-  :
-
-
-
-
-
-
-  :
-
-
-
-
-
-
             case "$host_os" in
      sunos4* | freebsd* | dragonfly* | openbsd* | mirbsd* | netbsd* | kfreebsd* | knetbsd*) # BSD systems
        FAULT_YIELDS_SIGBUS=1 ;;
      hpux*) # HP-UX
        FAULT_YIELDS_SIGBUS=1 ;;
-     macos* | darwin*) # MacOS X
+     macos* | darwin*) # Mac OS X
        FAULT_YIELDS_SIGBUS=1 ;;
      gnu*) # Hurd
        FAULT_YIELDS_SIGBUS=1 ;;
@@ -7910,10 +7654,10 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working C stack overflow detection" >&5
-$as_echo_n "checking for working C stack overflow detection... " >&6; }
+   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working C stack overflow detection" >&5
+printf %s "checking for working C stack overflow detection... " >&6; }
 if ${ac_cv_sys_stack_overflow_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
   ac_cv_sys_stack_overflow_works=cross-compiling
@@ -8016,18 +7760,18 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_stack_overflow_works" >&5
-$as_echo "$ac_cv_sys_stack_overflow_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_stack_overflow_works" >&5
+printf "%s\n" "$ac_cv_sys_stack_overflow_works" >&6; }
 
   if test $ac_cv_sys_stack_overflow_works = yes; then
 
-$as_echo "#define HAVE_STACK_OVERFLOW_HANDLING 1" >>confdefs.h
+printf "%s\n" "#define HAVE_STACK_OVERFLOW_HANDLING 1" >>confdefs.h
 
 
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for correct stack_t interpretation" >&5
-$as_echo_n "checking for correct stack_t interpretation... " >&6; }
+                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for correct stack_t interpretation" >&5
+printf %s "checking for correct stack_t interpretation... " >&6; }
 if ${gl_cv_sigaltstack_low_base+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
       if test "$cross_compiling" = yes; then :
@@ -8093,18 +7837,18 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sigaltstack_low_base" >&5
-$as_echo "$gl_cv_sigaltstack_low_base" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sigaltstack_low_base" >&5
+printf "%s\n" "$gl_cv_sigaltstack_low_base" >&6; }
    if test "$gl_cv_sigaltstack_low_base" = no; then
 
-$as_echo "#define SIGALTSTACK_SS_REVERSED 1" >>confdefs.h
+printf "%s\n" "#define SIGALTSTACK_SS_REVERSED 1" >>confdefs.h
 
     fi
 
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for precise C stack overflow detection" >&5
-$as_echo_n "checking for precise C stack overflow detection... " >&6; }
+   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for precise C stack overflow detection" >&5
+printf %s "checking for precise C stack overflow detection... " >&6; }
 if ${ac_cv_sys_xsi_stack_overflow_heuristic+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
   ac_cv_sys_xsi_stack_overflow_heuristic=cross-compiling
@@ -8239,12 +7983,12 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_xsi_stack_overflow_heuristic" >&5
-$as_echo "$ac_cv_sys_xsi_stack_overflow_heuristic" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_xsi_stack_overflow_heuristic" >&5
+printf "%s\n" "$ac_cv_sys_xsi_stack_overflow_heuristic" >&6; }
 
    if test $ac_cv_sys_xsi_stack_overflow_heuristic = yes; then
 
-$as_echo "#define HAVE_XSI_STACK_OVERFLOW_HEURISTIC 1" >>confdefs.h
+printf "%s\n" "#define HAVE_XSI_STACK_OVERFLOW_HEURISTIC 1" >>confdefs.h
 
    fi
   fi
@@ -8265,6 +8009,7 @@ $as_echo "#define HAVE_XSI_STACK_OVERFLOW_HEURISTIC 1" >>confdefs.h
   prefix="$acl_save_prefix"
 
 
+
 # Check whether --with-gnu-ld was given.
 if test "${with_gnu_ld+set}" = set; then :
   withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
@@ -8275,21 +8020,21 @@ fi
 # Prepare PATH_SEPARATOR.
 # The user is always right.
 if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
 fi
+
 ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
-$as_echo_n "checking for ld used by GCC... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+printf %s "checking for ld used by $CC... " >&6; }
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -8299,11 +8044,11 @@ $as_echo_n "checking for ld used by GCC... " >&6; }
   esac
   case $ac_prog in
     # Accept absolute paths.
-    [\\/]* | [A-Za-z]:[\\/]*)
+    [\\/]* | ?:[\\/]*)
       re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+      # Canonicalize the pathname of ld
+      ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
+      while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
         ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
       done
       test -z "$LD" && LD="$ac_prog"
@@ -8318,33 +8063,36 @@ $as_echo_n "checking for ld used by GCC... " >&6; }
     ;;
   esac
 elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+printf %s "checking for GNU ld... " >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+printf %s "checking for non-GNU ld... " >&6; }
 fi
 if ${acl_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test -z "$LD"; then
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
   for ac_dir in $PATH; do
+    IFS="$acl_save_ifs"
     test -z "$ac_dir" && ac_dir=.
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
       acl_cv_path_LD="$ac_dir/$ac_prog"
       # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
+      # but apparently some variants of GNU ld only accept -v.
       # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
+      case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
       *GNU* | *'with BFD'*)
-        test "$with_gnu_ld" != no && break ;;
+        test "$with_gnu_ld" != no && break
+        ;;
       *)
-        test "$with_gnu_ld" != yes && break ;;
+        test "$with_gnu_ld" != yes && break
+        ;;
       esac
     fi
   done
-  IFS="$ac_save_ifs"
+  IFS="$acl_save_ifs"
 else
   acl_cv_path_LD="$LD" # Let the user override the test with a path.
 fi
@@ -8352,37 +8100,39 @@ fi
 
 LD="$acl_cv_path_LD"
 if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+printf "%s\n" "$LD" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+printf %s "checking if the linker ($LD) is GNU ld... " >&6; }
 if ${acl_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
-  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
 case `$LD -v 2>&1 </dev/null` in
 *GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes ;;
+  acl_cv_prog_gnu_ld=yes
+  ;;
 *)
-  acl_cv_prog_gnu_ld=no ;;
+  acl_cv_prog_gnu_ld=no
+  ;;
 esac
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
-$as_echo "$acl_cv_prog_gnu_ld" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
+printf "%s\n" "$acl_cv_prog_gnu_ld" >&6; }
 with_gnu_ld=$acl_cv_prog_gnu_ld
 
 
 
 
-                                                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
-$as_echo_n "checking for shared library run path origin... " >&6; }
+                                                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
+printf %s "checking for shared library run path origin... " >&6; }
 if ${acl_cv_rpath+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
@@ -8392,8 +8142,8 @@ else
     acl_cv_rpath=done
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
-$as_echo "$acl_cv_rpath" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
+printf "%s\n" "$acl_cv_rpath" >&6; }
   wl="$acl_cv_wl"
   acl_libext="$acl_cv_libext"
   acl_shlibext="$acl_cv_shlibext"
@@ -8417,10 +8167,10 @@ fi
   acl_libdirstem2=
   case "$host_os" in
     solaris*)
-                                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
-$as_echo_n "checking for 64-bit host... " >&6; }
+                                    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
+printf %s "checking for 64-bit host... " >&6; }
 if ${gl_cv_solaris_64bit+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -8436,12 +8186,12 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 else
   gl_cv_solaris_64bit=no
 fi
-rm -f conftest*
+rm -rf conftest*
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
-$as_echo "$gl_cv_solaris_64bit" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
+printf "%s\n" "$gl_cv_solaris_64bit" >&6; }
       if test $gl_cv_solaris_64bit = yes; then
         acl_libdirstem=lib/64
         case "$host_cpu" in
@@ -8968,10 +8718,10 @@ fi
   done
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libsigsegv" >&5
-$as_echo_n "checking for libsigsegv... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libsigsegv" >&5
+printf %s "checking for libsigsegv... " >&6; }
 if ${ac_cv_libsigsegv+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     ac_save_LIBS="$LIBS"
@@ -9000,17 +8750,17 @@ rm -f core conftest.err conftest.$ac_objext \
     LIBS="$ac_save_LIBS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libsigsegv" >&5
-$as_echo "$ac_cv_libsigsegv" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libsigsegv" >&5
+printf "%s\n" "$ac_cv_libsigsegv" >&6; }
   if test "$ac_cv_libsigsegv" = yes; then
     HAVE_LIBSIGSEGV=yes
 
-$as_echo "#define HAVE_LIBSIGSEGV 1" >>confdefs.h
+printf "%s\n" "#define HAVE_LIBSIGSEGV 1" >>confdefs.h
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libsigsegv" >&5
-$as_echo_n "checking how to link with libsigsegv... " >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBSIGSEGV" >&5
-$as_echo "$LIBSIGSEGV" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libsigsegv" >&5
+printf %s "checking how to link with libsigsegv... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBSIGSEGV" >&5
+printf "%s\n" "$LIBSIGSEGV" >&6; }
   else
     HAVE_LIBSIGSEGV=no
             CPPFLAGS="$ac_save_CPPFLAGS"
@@ -9034,55 +8784,10 @@ $as_echo "$LIBSIGSEGV" >&6; }
 
 
 
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5
-$as_echo_n "checking whether // is distinct from /... " >&6; }
-if ${gl_cv_double_slash_root+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-   if test x"$cross_compiling" = xyes ; then
-        # When cross-compiling, there is no way to tell whether // is special
-        # short of a list of hosts.  However, the only known hosts to date
-        # that have a distinct // are Apollo DomainOS (too old to port to),
-        # Cygwin, and z/OS.  If anyone knows of another system for which // has
-        # special semantics and is distinct from /, please report it to
-        # <bug-gnulib@gnu.org>.
-        case $host in
-          *-cygwin | i370-ibm-openedition)
-            gl_cv_double_slash_root=yes ;;
-          *)
-            # Be optimistic and assume that / and // are the same when we
-            # don't know.
-            gl_cv_double_slash_root='unknown, assuming no' ;;
-        esac
-      else
-        set x `ls -di / // 2>/dev/null`
-        if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then
-          gl_cv_double_slash_root=no
-        else
-          gl_cv_double_slash_root=yes
-        fi
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5
-$as_echo "$gl_cv_double_slash_root" >&6; }
-  if test "$gl_cv_double_slash_root" = yes; then
-
-$as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
-
-  fi
-
-
-
-
-
-
+  GNULIB_CHDIR=0;
   GNULIB_CHOWN=0;
   GNULIB_CLOSE=0;
+  GNULIB_DUP=0;
   GNULIB_DUP2=0;
   GNULIB_DUP3=0;
   GNULIB_ENVIRON=0;
@@ -9090,6 +8795,7 @@ $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
   GNULIB_FACCESSAT=0;
   GNULIB_FCHDIR=0;
   GNULIB_FCHOWNAT=0;
+  GNULIB_FDATASYNC=0;
   GNULIB_FSYNC=0;
   GNULIB_FTRUNCATE=0;
   GNULIB_GETCWD=0;
@@ -9102,6 +8808,7 @@ $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
   GNULIB_GETPAGESIZE=0;
   GNULIB_GETUSERSHELL=0;
   GNULIB_GROUP_MEMBER=0;
+  GNULIB_ISATTY=0;
   GNULIB_LCHOWN=0;
   GNULIB_LINK=0;
   GNULIB_LINKAT=0;
@@ -9114,11 +8821,11 @@ $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
   GNULIB_READLINK=0;
   GNULIB_READLINKAT=0;
   GNULIB_RMDIR=0;
+  GNULIB_SETHOSTNAME=0;
   GNULIB_SLEEP=0;
   GNULIB_SYMLINK=0;
   GNULIB_SYMLINKAT=0;
   GNULIB_TTYNAME_R=0;
-  GNULIB_UNISTD_H_GETOPT=0;
   GNULIB_UNISTD_H_NONBLOCKING=0;
   GNULIB_UNISTD_H_SIGPIPE=0;
   GNULIB_UNLINK=0;
@@ -9132,6 +8839,7 @@ $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
   HAVE_FACCESSAT=1;
   HAVE_FCHDIR=1;
   HAVE_FCHOWNAT=1;
+  HAVE_FDATASYNC=1;
   HAVE_FSYNC=1;
   HAVE_FTRUNCATE=1;
   HAVE_GETDTABLESIZE=1;
@@ -9149,6 +8857,7 @@ $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
   HAVE_PWRITE=1;
   HAVE_READLINK=1;
   HAVE_READLINKAT=1;
+  HAVE_SETHOSTNAME=1;
   HAVE_SLEEP=1;
   HAVE_SYMLINK=1;
   HAVE_SYMLINKAT=1;
@@ -9156,10 +8865,12 @@ $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
   HAVE_USLEEP=1;
   HAVE_DECL_ENVIRON=1;
   HAVE_DECL_FCHDIR=1;
+  HAVE_DECL_FDATASYNC=1;
   HAVE_DECL_GETDOMAINNAME=1;
   HAVE_DECL_GETLOGIN_R=1;
   HAVE_DECL_GETPAGESIZE=1;
   HAVE_DECL_GETUSERSHELL=1;
+  HAVE_DECL_SETHOSTNAME=1;
   HAVE_DECL_TTYNAME_R=1;
   HAVE_OS_H=0;
   HAVE_SYS_PARAM_H=0;
@@ -9168,11 +8879,13 @@ $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
   REPLACE_DUP=0;
   REPLACE_DUP2=0;
   REPLACE_FCHOWNAT=0;
+  REPLACE_FTRUNCATE=0;
   REPLACE_GETCWD=0;
   REPLACE_GETDOMAINNAME=0;
   REPLACE_GETLOGIN_R=0;
   REPLACE_GETGROUPS=0;
   REPLACE_GETPAGESIZE=0;
+  REPLACE_ISATTY=0;
   REPLACE_LCHOWN=0;
   REPLACE_LINK=0;
   REPLACE_LINKAT=0;
@@ -9195,10 +8908,69 @@ $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5
-$as_echo_n "checking whether the preprocessor supports include_next... " >&6; }
+
+
+  if test $ac_cv_func__set_invalid_parameter_handler = yes; then
+    HAVE_MSVC_INVALID_PARAMETER_HANDLER=1
+
+printf "%s\n" "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h
+
+  else
+    HAVE_MSVC_INVALID_PARAMETER_HANDLER=0
+  fi
+
+
+
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5
+printf %s "checking whether // is distinct from /... " >&6; }
+if ${gl_cv_double_slash_root+:} false; then :
+  printf %s "(cached) " >&6
+else
+   if test x"$cross_compiling" = xyes ; then
+        # When cross-compiling, there is no way to tell whether // is special
+        # short of a list of hosts.  However, the only known hosts to date
+        # that have a distinct // are Apollo DomainOS (too old to port to),
+        # Cygwin, and z/OS.  If anyone knows of another system for which // has
+        # special semantics and is distinct from /, please report it to
+        # <bug-gnulib@gnu.org>.
+        case $host in
+          *-cygwin | i370-ibm-openedition)
+            gl_cv_double_slash_root=yes ;;
+          *)
+            # Be optimistic and assume that / and // are the same when we
+            # don't know.
+            gl_cv_double_slash_root='unknown, assuming no' ;;
+        esac
+      else
+        set x `ls -di / // 2>/dev/null`
+        if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then
+          gl_cv_double_slash_root=no
+        else
+          gl_cv_double_slash_root=yes
+        fi
+      fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5
+printf "%s\n" "$gl_cv_double_slash_root" >&6; }
+  if test "$gl_cv_double_slash_root" = yes; then
+
+printf "%s\n" "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
+
+  fi
+
+
+
+
+
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5
+printf %s "checking whether the preprocessor supports include_next... " >&6; }
 if ${gl_cv_have_include_next+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   rm -rf conftestd1a conftestd1b conftestd2
      mkdir conftestd1a conftestd1b conftestd2
@@ -9254,8 +9026,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
      rm -rf conftestd1a conftestd1b conftestd2
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5
-$as_echo "$gl_cv_have_include_next" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5
+printf "%s\n" "$gl_cv_have_include_next" >&6; }
   PRAGMA_SYSTEM_HEADER=
   if test $gl_cv_have_include_next = yes; then
     INCLUDE_NEXT=include_next
@@ -9275,10 +9047,10 @@ $as_echo "$gl_cv_have_include_next" >&6; }
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system header files limit the line length" >&5
-$as_echo_n "checking whether system header files limit the line length... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether system header files limit the line length" >&5
+printf %s "checking whether system header files limit the line length... " >&6; }
 if ${gl_cv_pragma_columns+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -9294,12 +9066,12 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 else
   gl_cv_pragma_columns=no
 fi
-rm -f conftest*
+rm -rf conftest*
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_pragma_columns" >&5
-$as_echo "$gl_cv_pragma_columns" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_pragma_columns" >&5
+printf "%s\n" "$gl_cv_pragma_columns" >&6; }
   if test $gl_cv_pragma_columns = yes; then
     PRAGMA_COLUMNS="#pragma COLUMNS 10000"
   else
@@ -9309,16 +9081,19 @@ $as_echo "$gl_cv_pragma_columns" >&6; }
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5
-$as_echo_n "checking for complete errno.h... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5
+printf %s "checking for complete errno.h... " >&6; }
 if ${gl_cv_header_errno_h_complete+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #include <errno.h>
+#if !defined ETXTBSY
+booboo
+#endif
 #if !defined ENOMSG
 booboo
 #endif
@@ -9358,6 +9133,15 @@ booboo
 #if !defined ECANCELED
 booboo
 #endif
+#if !defined EOWNERDEAD
+booboo
+#endif
+#if !defined ENOTRECOVERABLE
+booboo
+#endif
+#if !defined EILSEQ
+booboo
+#endif
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
@@ -9366,12 +9150,12 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 else
   gl_cv_header_errno_h_complete=yes
 fi
-rm -f conftest*
+rm -rf conftest*
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_complete" >&5
-$as_echo "$gl_cv_header_errno_h_complete" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_complete" >&5
+printf "%s\n" "$gl_cv_header_errno_h_complete" >&6; }
   if test $gl_cv_header_errno_h_complete = yes; then
     ERRNO_H=''
   else
@@ -9386,10 +9170,10 @@ $as_echo "$gl_cv_header_errno_h_complete" >&6; }
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_errno_h='<'errno.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <errno.h>" >&5
-$as_echo_n "checking absolute name of <errno.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <errno.h>" >&5
+printf %s "checking absolute name of <errno.h>... " >&6; }
 if ${gl_cv_next_errno_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9401,18 +9185,32 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'errno.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_errno_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/errno.h#{
-                    s#.*"\(.*/errno.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_errno_h" >&5
-$as_echo "$gl_cv_next_errno_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_errno_h" >&5
+printf "%s\n" "$gl_cv_next_errno_h" >&6; }
      fi
      NEXT_ERRNO_H=$gl_cv_next_errno_h
 
@@ -9441,10 +9239,10 @@ fi
 
 
   if test -n "$ERRNO_H"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EMULTIHOP value" >&5
-$as_echo_n "checking for EMULTIHOP value... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EMULTIHOP value" >&5
+printf %s "checking for EMULTIHOP value... " >&6; }
 if ${gl_cv_header_errno_h_EMULTIHOP+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9462,7 +9260,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 else
   gl_cv_header_errno_h_EMULTIHOP=no
 fi
-rm -f conftest*
+rm -rf conftest*
 
       if test $gl_cv_header_errno_h_EMULTIHOP = no; then
         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9479,7 +9277,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
   $EGREP "yes" >/dev/null 2>&1; then :
   gl_cv_header_errno_h_EMULTIHOP=hidden
 fi
-rm -f conftest*
+rm -rf conftest*
 
         if test $gl_cv_header_errno_h_EMULTIHOP = hidden; then
                               if ac_fn_c_compute_int "$LINENO" "EMULTIHOP" "gl_cv_header_errno_h_EMULTIHOP"        "
@@ -9496,8 +9294,8 @@ fi
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EMULTIHOP" >&5
-$as_echo "$gl_cv_header_errno_h_EMULTIHOP" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EMULTIHOP" >&5
+printf "%s\n" "$gl_cv_header_errno_h_EMULTIHOP" >&6; }
     case $gl_cv_header_errno_h_EMULTIHOP in
       yes | no)
         EMULTIHOP_HIDDEN=0; EMULTIHOP_VALUE=
@@ -9512,10 +9310,10 @@ $as_echo "$gl_cv_header_errno_h_EMULTIHOP" >&6; }
 
 
   if test -n "$ERRNO_H"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOLINK value" >&5
-$as_echo_n "checking for ENOLINK value... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ENOLINK value" >&5
+printf %s "checking for ENOLINK value... " >&6; }
 if ${gl_cv_header_errno_h_ENOLINK+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9533,7 +9331,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 else
   gl_cv_header_errno_h_ENOLINK=no
 fi
-rm -f conftest*
+rm -rf conftest*
 
       if test $gl_cv_header_errno_h_ENOLINK = no; then
         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9550,7 +9348,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
   $EGREP "yes" >/dev/null 2>&1; then :
   gl_cv_header_errno_h_ENOLINK=hidden
 fi
-rm -f conftest*
+rm -rf conftest*
 
         if test $gl_cv_header_errno_h_ENOLINK = hidden; then
                               if ac_fn_c_compute_int "$LINENO" "ENOLINK" "gl_cv_header_errno_h_ENOLINK"        "
@@ -9567,8 +9365,8 @@ fi
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_ENOLINK" >&5
-$as_echo "$gl_cv_header_errno_h_ENOLINK" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_ENOLINK" >&5
+printf "%s\n" "$gl_cv_header_errno_h_ENOLINK" >&6; }
     case $gl_cv_header_errno_h_ENOLINK in
       yes | no)
         ENOLINK_HIDDEN=0; ENOLINK_VALUE=
@@ -9583,10 +9381,10 @@ $as_echo "$gl_cv_header_errno_h_ENOLINK" >&6; }
 
 
   if test -n "$ERRNO_H"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW value" >&5
-$as_echo_n "checking for EOVERFLOW value... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW value" >&5
+printf %s "checking for EOVERFLOW value... " >&6; }
 if ${gl_cv_header_errno_h_EOVERFLOW+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9604,7 +9402,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 else
   gl_cv_header_errno_h_EOVERFLOW=no
 fi
-rm -f conftest*
+rm -rf conftest*
 
       if test $gl_cv_header_errno_h_EOVERFLOW = no; then
         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9621,7 +9419,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
   $EGREP "yes" >/dev/null 2>&1; then :
   gl_cv_header_errno_h_EOVERFLOW=hidden
 fi
-rm -f conftest*
+rm -rf conftest*
 
         if test $gl_cv_header_errno_h_EOVERFLOW = hidden; then
                               if ac_fn_c_compute_int "$LINENO" "EOVERFLOW" "gl_cv_header_errno_h_EOVERFLOW"        "
@@ -9638,8 +9436,8 @@ fi
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EOVERFLOW" >&5
-$as_echo "$gl_cv_header_errno_h_EOVERFLOW" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EOVERFLOW" >&5
+printf "%s\n" "$gl_cv_header_errno_h_EOVERFLOW" >&6; }
     case $gl_cv_header_errno_h_EOVERFLOW in
       yes | no)
         EOVERFLOW_HIDDEN=0; EOVERFLOW_VALUE=
@@ -9675,10 +9473,10 @@ _ACEOF
 fi
 done
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5
-$as_echo_n "checking whether strerror_r returns char *... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5
+printf %s "checking whether strerror_r returns char *... " >&6; }
 if ${ac_cv_func_strerror_r_char_p+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     ac_cv_func_strerror_r_char_p=no
@@ -9737,11 +9535,11 @@ fi
     fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5
-$as_echo "$ac_cv_func_strerror_r_char_p" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5
+printf "%s\n" "$ac_cv_func_strerror_r_char_p" >&6; }
 if test $ac_cv_func_strerror_r_char_p = yes; then
 
-$as_echo "#define STRERROR_R_CHAR_P 1" >>confdefs.h
+printf "%s\n" "#define STRERROR_R_CHAR_P 1" >>confdefs.h
 
 fi
 
@@ -9749,6 +9547,9 @@ fi
   XGETTEXT_EXTRA_OPTIONS=
 
 
+
+
+
   GNULIB_FCNTL=0;
   GNULIB_NONBLOCKING=0;
   GNULIB_OPEN=0;
@@ -9766,10 +9567,12 @@ fi
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fcntl.h" >&5
-$as_echo_n "checking for working fcntl.h... " >&6; }
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working fcntl.h" >&5
+printf %s "checking for working fcntl.h... " >&6; }
 if ${gl_cv_header_working_fcntl_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
   gl_cv_header_working_fcntl_h=cross-compiling
@@ -9778,7 +9581,13 @@ else
 /* end confdefs.h.  */
 #include <sys/types.h>
            #include <sys/stat.h>
-           #include <unistd.h>
+           #if HAVE_UNISTD_H
+           # include <unistd.h>
+           #else /* on Windows with MSVC */
+           # include <io.h>
+           # include <stdlib.h>
+           # defined sleep(n) _sleep ((n) * 1000)
+           #endif
            #include <fcntl.h>
            #ifndef O_NOATIME
             #define O_NOATIME 0
@@ -9797,9 +9606,21 @@ main ()
 {
 
             int result = !constants;
+            #if HAVE_SYMLINK
             {
               static char const sym[] = "conftest.sym";
-              if (symlink (".", sym) != 0)
+              if (symlink ("/dev/null", sym) != 0)
+                result |= 2;
+              else
+                {
+                  int fd = open (sym, O_WRONLY | O_NOFOLLOW | O_CREAT, 0);
+                  if (fd >= 0)
+                    {
+                      close (fd);
+                      result |= 4;
+                    }
+                }
+              if (unlink (sym) != 0 || symlink (".", sym) != 0)
                 result |= 2;
               else
                 {
@@ -9812,6 +9633,7 @@ main ()
                 }
               unlink (sym);
             }
+            #endif
             {
               static char const file[] = "confdefs.h";
               int fd = open (file, O_RDONLY | O_NOATIME);
@@ -9865,8 +9687,8 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_fcntl_h" >&5
-$as_echo "$gl_cv_header_working_fcntl_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_fcntl_h" >&5
+printf "%s\n" "$gl_cv_header_working_fcntl_h" >&6; }
 
   case $gl_cv_header_working_fcntl_h in #(
   *O_NOATIME* | no | cross-compiling) ac_val=0;; #(
@@ -9888,14 +9710,27 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
+ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
+if test "x$ac_cv_type_pid_t" = xyes; then :
 
+else
 
+cat >>confdefs.h <<_ACEOF
+#define pid_t int
+_ACEOF
 
+fi
 
+ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
+if test "x$ac_cv_type_mode_t" = xyes; then :
 
+else
 
+cat >>confdefs.h <<_ACEOF
+#define mode_t int
+_ACEOF
 
-  :
+fi
 
 
 
@@ -9904,10 +9739,10 @@ _ACEOF
 
 
 
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5
-$as_echo_n "checking for mbstate_t... " >&6; }
+   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5
+printf %s "checking for mbstate_t... " >&6; }
 if ${ac_cv_type_mbstate_t+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -9935,15 +9770,15 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_mbstate_t" >&5
-$as_echo "$ac_cv_type_mbstate_t" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_mbstate_t" >&5
+printf "%s\n" "$ac_cv_type_mbstate_t" >&6; }
    if test $ac_cv_type_mbstate_t = yes; then
 
-$as_echo "#define HAVE_MBSTATE_T 1" >>confdefs.h
+printf "%s\n" "#define HAVE_MBSTATE_T 1" >>confdefs.h
 
    else
 
-$as_echo "#define mbstate_t int" >>confdefs.h
+printf "%s\n" "#define mbstate_t int" >>confdefs.h
 
    fi
 
@@ -9962,29 +9797,9 @@ $as_echo "#define mbstate_t int" >>confdefs.h
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
   GNULIB_DPRINTF=0;
   GNULIB_FCLOSE=0;
+  GNULIB_FDOPEN=0;
   GNULIB_FFLUSH=0;
   GNULIB_FGETC=0;
   GNULIB_FGETS=0;
@@ -10006,9 +9821,9 @@ $as_echo "#define mbstate_t int" >>confdefs.h
   GNULIB_GETCHAR=0;
   GNULIB_GETDELIM=0;
   GNULIB_GETLINE=0;
-  GNULIB_GETS=0;
   GNULIB_OBSTACK_PRINTF=0;
   GNULIB_OBSTACK_PRINTF_POSIX=0;
+  GNULIB_PCLOSE=0;
   GNULIB_PERROR=0;
   GNULIB_POPEN=0;
   GNULIB_PRINTF=0;
@@ -10046,11 +9861,14 @@ $as_echo "#define mbstate_t int" >>confdefs.h
   HAVE_DPRINTF=1;
   HAVE_FSEEKO=1;
   HAVE_FTELLO=1;
+  HAVE_PCLOSE=1;
+  HAVE_POPEN=1;
   HAVE_RENAMEAT=1;
   HAVE_VASPRINTF=1;
   HAVE_VDPRINTF=1;
   REPLACE_DPRINTF=0;
   REPLACE_FCLOSE=0;
+  REPLACE_FDOPEN=0;
   REPLACE_FFLUSH=0;
   REPLACE_FOPEN=0;
   REPLACE_FPRINTF=0;
@@ -10082,9 +9900,128 @@ $as_echo "#define mbstate_t int" >>confdefs.h
   REPLACE_VSPRINTF=0;
 
 
+     GNULIB_FCHMODAT=0;
+  GNULIB_FSTAT=0;
+  GNULIB_FSTATAT=0;
+  GNULIB_FUTIMENS=0;
+  GNULIB_LCHMOD=0;
+  GNULIB_LSTAT=0;
+  GNULIB_MKDIRAT=0;
+  GNULIB_MKFIFO=0;
+  GNULIB_MKFIFOAT=0;
+  GNULIB_MKNOD=0;
+  GNULIB_MKNODAT=0;
+  GNULIB_STAT=0;
+  GNULIB_UTIMENSAT=0;
+    HAVE_FCHMODAT=1;
+  HAVE_FSTATAT=1;
+  HAVE_FUTIMENS=1;
+  HAVE_LCHMOD=1;
+  HAVE_LSTAT=1;
+  HAVE_MKDIRAT=1;
+  HAVE_MKFIFO=1;
+  HAVE_MKFIFOAT=1;
+  HAVE_MKNOD=1;
+  HAVE_MKNODAT=1;
+  HAVE_UTIMENSAT=1;
+  REPLACE_FSTAT=0;
+  REPLACE_FSTATAT=0;
+  REPLACE_FUTIMENS=0;
+  REPLACE_LSTAT=0;
+  REPLACE_MKDIR=0;
+  REPLACE_MKFIFO=0;
+  REPLACE_MKNOD=0;
+  REPLACE_STAT=0;
+  REPLACE_UTIMENSAT=0;
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
+printf %s "checking whether stat file-mode macros are broken... " >&6; }
+if ${ac_cv_header_stat_broken+:} false; then :
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#if defined S_ISBLK && defined S_IFDIR
+extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1];
+#endif
+
+#if defined S_ISBLK && defined S_IFCHR
+extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1];
+#endif
+
+#if defined S_ISLNK && defined S_IFREG
+extern char c3[S_ISLNK (S_IFREG) ? -1 : 1];
+#endif
+
+#if defined S_ISSOCK && defined S_IFREG
+extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1];
+#endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stat_broken=no
+else
+  ac_cv_header_stat_broken=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5
+printf "%s\n" "$ac_cv_header_stat_broken" >&6; }
+if test $ac_cv_header_stat_broken = yes; then
+
+printf "%s\n" "#define STAT_MACROS_BROKEN 1" >>confdefs.h
+
+fi
+
+
+
 
 
+  case "$host_os" in
+    mingw*)
+                        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit off_t" >&5
+printf %s "checking for 64-bit off_t... " >&6; }
+if ${gl_cv_type_off_t_64+:} false; then :
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+                int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1];
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_type_off_t_64=yes
+else
+  gl_cv_type_off_t_64=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_off_t_64" >&5
+printf "%s\n" "$gl_cv_type_off_t_64" >&6; }
+      if test $gl_cv_type_off_t_64 = no; then
+        WINDOWS_64_BIT_OFF_T=1
+      else
+        WINDOWS_64_BIT_OFF_T=0
+      fi
+                  WINDOWS_64_BIT_ST_SIZE=1
+      ;;
+    *)
+                                                      WINDOWS_64_BIT_OFF_T=0
+      WINDOWS_64_BIT_ST_SIZE=0
+      ;;
+  esac
 
 
 
@@ -10100,8 +10037,146 @@ $as_echo "#define mbstate_t int" >>confdefs.h
 
 
 
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_sys_stat_h='<'sys/stat.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/stat.h>" >&5
+printf %s "checking absolute name of <sys/stat.h>... " >&6; }
+if ${gl_cv_next_sys_stat_h+:} false; then :
+  printf %s "(cached) " >&6
+else
+
+             if test $ac_cv_header_sys_stat_h = yes; then
+
+
+               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/stat.h>
+
+_ACEOF
+                                                                                                                        case "$host_os" in
+                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
+                 *)    gl_absname_cpp="$ac_cpp" ;;
+               esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'sys/stat.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
+                                                            gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+                      sed -n "$gl_absolute_header_sed"`'"'
+          else
+               gl_cv_next_sys_stat_h='<'sys/stat.h'>'
+             fi
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5
+printf "%s\n" "$gl_cv_next_sys_stat_h" >&6; }
+     fi
+     NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'sys/stat.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_sys_stat_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive
+
+
+
+
+
+
+
+
+
+
+
+  if test $WINDOWS_64_BIT_ST_SIZE = 1; then
+
+printf "%s\n" "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h
+
+  fi
+
+      ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include <sys/types.h>
+     #include <sys/stat.h>
+"
+if test "x$ac_cv_type_nlink_t" = xyes; then :
+
+else
+
+printf "%s\n" "#define nlink_t int" >>confdefs.h
+
+fi
+
+
+
+    for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat     mknod mknodat stat utimensat; do
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
+if eval \${$as_gl_Symbol+:} false; then :
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/stat.h>
+
+int
+main ()
+{
+#undef $gl_func
+  (void) $gl_func;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_gl_Symbol=yes"
+else
+  eval "$as_gl_Symbol=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_gl_Symbol
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+
+                     eval ac_cv_have_decl_$gl_func=yes
+fi
+      done
+
+
+
+
+
+
+
+
+
+
 
-  :
 
 
 
@@ -10113,10 +10188,10 @@ $as_echo "#define mbstate_t int" >>confdefs.h
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_getopt_h='<'getopt.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <getopt.h>" >&5
-$as_echo_n "checking absolute name of <getopt.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <getopt.h>" >&5
+printf %s "checking absolute name of <getopt.h>... " >&6; }
 if ${gl_cv_next_getopt_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
              if test $ac_cv_header_getopt_h = yes; then
@@ -10131,21 +10206,35 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'getopt.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_getopt_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/getopt.h#{
-                    s#.*"\(.*/getopt.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
           else
                gl_cv_next_getopt_h='<'getopt.h'>'
              fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_getopt_h" >&5
-$as_echo "$gl_cv_next_getopt_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_getopt_h" >&5
+printf "%s\n" "$gl_cv_next_getopt_h" >&6; }
      fi
      NEXT_GETOPT_H=$gl_cv_next_getopt_h
 
@@ -10203,57 +10292,124 @@ done
 
   fi
 
-                    if test -z "$gl_replace_getopt"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getopt is POSIX compatible" >&5
-$as_echo_n "checking whether getopt is POSIX compatible... " >&6; }
+          if test -z "$gl_replace_getopt"; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether getopt is POSIX compatible" >&5
+printf %s "checking whether getopt is POSIX compatible... " >&6; }
 if ${gl_cv_func_getopt_posix+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
-                                                                        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+                                                if test $cross_compiling = no; then
+                              if test "$cross_compiling" = yes; then :
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+
 #include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+
 int
 main ()
 {
-int *p = &optreset; return optreset;
-  ;
+  static char program[] = "program";
+  static char a[] = "-a";
+  static char foo[] = "foo";
+  static char bar[] = "bar";
+  char *argv[] = { program, a, foo, bar, NULL };
+  int c;
+
+  c = getopt (4, argv, "ab");
+  if (!(c == 'a'))
+    return 1;
+  c = getopt (4, argv, "ab");
+  if (!(c == -1))
+    return 2;
+  if (!(optind == 2))
+    return 3;
   return 0;
 }
+
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  gl_optind_min=1
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_getopt_posix=maybe
+else
+  gl_cv_func_getopt_posix=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+          if test $gl_cv_func_getopt_posix = maybe; then
+                                    if test "$cross_compiling" = yes; then :
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <getopt.h>
+
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+
 int
 main ()
 {
-return !getopt_clip;
-  ;
+  static char program[] = "program";
+  static char donald[] = "donald";
+  static char p[] = "-p";
+  static char billy[] = "billy";
+  static char duck[] = "duck";
+  static char a[] = "-a";
+  static char bar[] = "bar";
+  char *argv[] = { program, donald, p, billy, duck, a, bar, NULL };
+  int c;
+
+  c = getopt (7, argv, "+abp:q:");
+  if (!(c == -1))
+    return 4;
+  if (!(strcmp (argv[0], "program") == 0))
+    return 5;
+  if (!(strcmp (argv[1], "donald") == 0))
+    return 6;
+  if (!(strcmp (argv[2], "-p") == 0))
+    return 7;
+  if (!(strcmp (argv[3], "billy") == 0))
+    return 8;
+  if (!(strcmp (argv[4], "duck") == 0))
+    return 9;
+  if (!(strcmp (argv[5], "-a") == 0))
+    return 10;
+  if (!(strcmp (argv[6], "bar") == 0))
+    return 11;
+  if (!(optind == 1))
+    return 12;
   return 0;
 }
+
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_optind_min=1
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_getopt_posix=maybe
 else
-  gl_optind_min=0
+  gl_cv_func_getopt_posix=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-                gl_save_CPPFLAGS=$CPPFLAGS
-        CPPFLAGS="$CPPFLAGS -DOPTIND_MIN=$gl_optind_min"
-        if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-             mingw*)         gl_cv_func_getopt_posix="guessing no";;
-             darwin* | aix*) gl_cv_func_getopt_posix="guessing no";;
-             *)              gl_cv_func_getopt_posix="guessing yes";;
-           esac
 
+          fi
+          if test $gl_cv_func_getopt_posix = maybe; then
+                        if test "$cross_compiling" = yes; then :
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -10265,78 +10421,17 @@ else
 int
 main ()
 {
-  {
-    static char program[] = "program";
-    static char a[] = "-a";
-    static char foo[] = "foo";
-    static char bar[] = "bar";
-    char *argv[] = { program, a, foo, bar, NULL };
-    int c;
-
-    optind = OPTIND_MIN;
-    opterr = 0;
-
-    c = getopt (4, argv, "ab");
-    if (!(c == 'a'))
-      return 1;
-    c = getopt (4, argv, "ab");
-    if (!(c == -1))
-      return 2;
-    if (!(optind == 2))
-      return 3;
-  }
-  /* Some internal state exists at this point.  */
-  {
-    static char program[] = "program";
-    static char donald[] = "donald";
-    static char p[] = "-p";
-    static char billy[] = "billy";
-    static char duck[] = "duck";
-    static char a[] = "-a";
-    static char bar[] = "bar";
-    char *argv[] = { program, donald, p, billy, duck, a, bar, NULL };
-    int c;
-
-    optind = OPTIND_MIN;
-    opterr = 0;
-
-    c = getopt (7, argv, "+abp:q:");
-    if (!(c == -1))
-      return 4;
-    if (!(strcmp (argv[0], "program") == 0))
-      return 5;
-    if (!(strcmp (argv[1], "donald") == 0))
-      return 6;
-    if (!(strcmp (argv[2], "-p") == 0))
-      return 7;
-    if (!(strcmp (argv[3], "billy") == 0))
-      return 8;
-    if (!(strcmp (argv[4], "duck") == 0))
-      return 9;
-    if (!(strcmp (argv[5], "-a") == 0))
-      return 10;
-    if (!(strcmp (argv[6], "bar") == 0))
-      return 11;
-    if (!(optind == 1))
-      return 12;
-  }
-  /* Detect MacOS 10.5, AIX 7.1 bug.  */
-  {
-    static char program[] = "program";
-    static char ab[] = "-ab";
-    char *argv[3] = { program, ab, NULL };
-    optind = OPTIND_MIN;
-    opterr = 0;
-    if (getopt (2, argv, "ab:") != 'a')
-      return 13;
-    if (getopt (2, argv, "ab:") != '?')
-      return 14;
-    if (optopt != 'b')
-      return 15;
-    if (optind != 2)
-      return 16;
-  }
-
+  static char program[] = "program";
+  static char ab[] = "-ab";
+  char *argv[3] = { program, ab, NULL };
+  if (getopt (2, argv, "ab:") != 'a')
+    return 13;
+  if (getopt (2, argv, "ab:") != '?')
+    return 14;
+  if (optopt != 'b')
+    return 15;
+  if (optind != 2)
+    return 16;
   return 0;
 }
 
@@ -10350,21 +10445,27 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-        CPPFLAGS=$gl_save_CPPFLAGS
+          fi
+        else
+          case "$host_os" in
+            darwin* | aix* | mingw*) gl_cv_func_getopt_posix="guessing no";;
+            *)                       gl_cv_func_getopt_posix="guessing yes";;
+          esac
+        fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_posix" >&5
-$as_echo "$gl_cv_func_getopt_posix" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_posix" >&5
+printf "%s\n" "$gl_cv_func_getopt_posix" >&6; }
     case "$gl_cv_func_getopt_posix" in
       *no) gl_replace_getopt=yes ;;
     esac
   fi
 
   if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt function" >&5
-$as_echo_n "checking for working GNU getopt function... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt function" >&5
+printf %s "checking for working GNU getopt function... " >&6; }
 if ${gl_cv_func_getopt_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   # Even with POSIXLY_CORRECT, the GNU extension of leading '-' in the
        # optstring is necessary for programs like m4 that have POSIX-mandated
@@ -10381,11 +10482,7 @@ else
        POSIXLY_CORRECT=1
        export POSIXLY_CORRECT
        if test "$cross_compiling" = yes; then :
-           case $host_os:$ac_cv_have_decl_optreset in
-           *-gnu*:* | mingw*:*) gl_cv_func_getopt_gnu=no;;
-           *:yes)               gl_cv_func_getopt_gnu=no;;
-           *)                   gl_cv_func_getopt_gnu=yes;;
-         esac
+           gl_cv_func_getopt_gnu="guessing no"
 
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -10396,7 +10493,7 @@ else
 
 #include <stdlib.h>
 #if defined __MACH__ && defined __APPLE__
-/* Avoid a crash on MacOS X.  */
+/* Avoid a crash on Mac OS X.  */
 #include <mach/mach.h>
 #include <mach/mach_error.h>
 #include <mach/thread_status.h>
@@ -10457,6 +10554,34 @@ nocrash_init (void)
     }
   }
 }
+#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* Avoid a crash on native Windows.  */
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#include <winerror.h>
+static LONG WINAPI
+exception_filter (EXCEPTION_POINTERS *ExceptionInfo)
+{
+  switch (ExceptionInfo->ExceptionRecord->ExceptionCode)
+    {
+    case EXCEPTION_ACCESS_VIOLATION:
+    case EXCEPTION_IN_PAGE_ERROR:
+    case EXCEPTION_STACK_OVERFLOW:
+    case EXCEPTION_GUARD_PAGE:
+    case EXCEPTION_PRIV_INSTRUCTION:
+    case EXCEPTION_ILLEGAL_INSTRUCTION:
+    case EXCEPTION_DATATYPE_MISALIGNMENT:
+    case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
+    case EXCEPTION_NONCONTINUABLE_EXCEPTION:
+      exit (1);
+    }
+  return EXCEPTION_CONTINUE_SEARCH;
+}
+static void
+nocrash_init (void)
+{
+  SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter);
+}
 #else
 /* Avoid a crash on POSIX systems.  */
 #include <signal.h>
@@ -10488,7 +10613,7 @@ main ()
              nocrash_init();
 
              /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw,
-                and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5,
+                and fails on Mac OS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5,
                 OSF/1 5.1, Solaris 10.  */
              {
                static char conftest[] = "conftest";
@@ -10499,7 +10624,7 @@ main ()
                  result |= 1;
              }
              /* This code succeeds on glibc 2.8, mingw,
-                and fails on MacOS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11,
+                and fails on Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11,
                 IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x.  */
              {
                static char program[] = "program";
@@ -10528,7 +10653,7 @@ main ()
                if (getopt (3, argv, "-p") != 1)
                  result |= 16;
                else if (getopt (3, argv, "-p") != 'p')
-                 result |= 32;
+                 result |= 16;
              }
              /* This code fails on glibc 2.11.  */
              {
@@ -10538,9 +10663,9 @@ main ()
                char *argv[] = { program, b, a, NULL };
                optind = opterr = 0;
                if (getopt (3, argv, "+:a:b") != 'b')
-                 result |= 64;
+                 result |= 32;
                else if (getopt (3, argv, "+:a:b") != ':')
-                 result |= 64;
+                 result |= 32;
              }
              /* This code dumps core on glibc 2.14.  */
              {
@@ -10550,7 +10675,7 @@ main ()
                char *argv[] = { program, w, dummy, NULL };
                optind = opterr = 1;
                if (getopt (3, argv, "W;") != 'W')
-                 result |= 128;
+                 result |= 64;
              }
              return result;
 
        esac
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_gnu" >&5
-$as_echo "$gl_cv_func_getopt_gnu" >&6; }
-    if test "$gl_cv_func_getopt_gnu" = "no"; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_gnu" >&5
+printf "%s\n" "$gl_cv_func_getopt_gnu" >&6; }
+    if test "$gl_cv_func_getopt_gnu" != yes; then
       gl_replace_getopt=yes
-    fi
-  fi
+    else
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt_long function" >&5
+printf %s "checking for working GNU getopt_long function... " >&6; }
+if ${gl_cv_func_getopt_long_gnu+:} false; then :
+  printf %s "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+              case "$host_os" in
+              openbsd*) gl_cv_func_getopt_long_gnu="guessing no";;
+              *)        gl_cv_func_getopt_long_gnu="guessing yes";;
+            esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <getopt.h>
+                #include <stddef.h>
+                #include <string.h>
 
+int
+main ()
+{
+static const struct option long_options[] =
+                  {
+                    { "xtremely-",no_argument,       NULL, 1003 },
+                    { "xtra",     no_argument,       NULL, 1001 },
+                    { "xtreme",   no_argument,       NULL, 1002 },
+                    { "xtremely", no_argument,       NULL, 1003 },
+                    { NULL,       0,                 NULL, 0 }
+                  };
+                /* This code fails on OpenBSD 5.0.  */
+                {
+                  static char program[] = "program";
+                  static char xtremel[] = "--xtremel";
+                  char *argv[] = { program, xtremel, NULL };
+                  int option_index;
+                  optind = 1; opterr = 0;
+                  if (getopt_long (2, argv, "", long_options, &option_index) != 1003)
+                    return 1;
+                }
+                return 0;
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_getopt_long_gnu=yes
+else
+  gl_cv_func_getopt_long_gnu=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
 
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_long_gnu" >&5
+printf "%s\n" "$gl_cv_func_getopt_long_gnu" >&6; }
+      case "$gl_cv_func_getopt_long_gnu" in
+        *yes) ;;
+        *) gl_replace_getopt=yes ;;
+      esac
+    fi
+  fi
 
-    REPLACE_GETOPT=0
 
 
-  if test -n "$gl_replace_getopt"; then :
 
-      REPLACE_GETOPT=1
 
-fi
 
+    REPLACE_GETOPT=0
+    if test -n "$gl_replace_getopt"; then
+      REPLACE_GETOPT=1
+    fi
 
   if test $REPLACE_GETOPT = 1; then
 
   GETOPT_H=getopt.h
 
-$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h
+printf "%s\n" "#define __GETOPT_PREFIX rpl_" >>confdefs.h
 
 
 
-        GNULIB_UNISTD_H_GETOPT=1
   fi
 
-
-      ac_fn_c_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "$ac_includes_default"
 if test "x$ac_cv_have_decl_getenv" = xyes; then :
   ac_have_decl=1
 else
@@ -10618,24 +10800,15 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_GETENV $ac_have_decl
 _ACEOF
 
+:
 
 
 
 
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5
-$as_echo_n "checking for C/C++ restrict keyword... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5
+printf %s "checking for C/C++ restrict keyword... " >&6; }
 if ${ac_cv_c_restrict+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   ac_cv_c_restrict=no
    # The order here caters to the fact that C++ does not require restrict.
@@ -10665,12 +10838,12 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    done
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5
-$as_echo "$ac_cv_c_restrict" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5
+printf "%s\n" "$ac_cv_c_restrict" >&6; }
 
  case $ac_cv_c_restrict in
    restrict) ;;
-   no) $as_echo "#define restrict /**/" >>confdefs.h
+   no) printf "%s\n" "#define restrict /**/" >>confdefs.h
  ;;
    *)  cat >>confdefs.h <<_ACEOF
 #define restrict $ac_cv_c_restrict
@@ -10684,6 +10857,7 @@ _ACEOF
   HAVE_STRUCT_TIMEVAL=1;
   HAVE_SYS_TIME_H=1;
   REPLACE_GETTIMEOFDAY=0;
+  REPLACE_STRUCT_TIMEVAL=0;
 
 
 
@@ -10694,21 +10868,6 @@ _ACEOF
 
 
 
-  :
-
-
-
-
-
-
-
-
-
-
-
-  :
-
-
 
 
 
@@ -10718,10 +10877,10 @@ _ACEOF
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_sys_time_h='<'sys/time.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/time.h>" >&5
-$as_echo_n "checking absolute name of <sys/time.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/time.h>" >&5
+printf %s "checking absolute name of <sys/time.h>... " >&6; }
 if ${gl_cv_next_sys_time_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
              if test $ac_cv_header_sys_time_h = yes; then
@@ -10736,21 +10895,35 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'sys/time.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_sys_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/sys/time.h#{
-                    s#.*"\(.*/sys/time.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
           else
                gl_cv_next_sys_time_h='<'sys/time.h'>'
              fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_time_h" >&5
-$as_echo "$gl_cv_next_sys_time_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_time_h" >&5
+printf "%s\n" "$gl_cv_next_sys_time_h" >&6; }
      fi
      NEXT_SYS_TIME_H=$gl_cv_next_sys_time_h
 
@@ -10771,10 +10944,37 @@ $as_echo "$gl_cv_next_sys_time_h" >&6; }
     HAVE_SYS_TIME_H=0
   fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5
-$as_echo_n "checking for struct timeval... " >&6; }
+
+
+
+
+  if test $ac_cv_header_sys_socket_h != yes; then
+                    for ac_header in winsock2.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
+if test "x$ac_cv_header_winsock2_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINSOCK2_H 1
+_ACEOF
+
+fi
+
+done
+
+  fi
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    HAVE_WINSOCK2_H=1
+    UNISTD_H_HAVE_WINSOCK2_H=1
+    SYS_IOCTL_H_HAVE_WINSOCK2_H=1
+  else
+    HAVE_WINSOCK2_H=0
+  fi
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5
+printf %s "checking for struct timeval... " >&6; }
 if ${gl_cv_sys_struct_timeval+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -10782,6 +10982,9 @@ else
              #include <sys/time.h>
             #endif
             #include <time.h>
+            #if HAVE_WINSOCK2_H
+            # include <winsock2.h>
+            #endif
 
 int
 main ()
@@ -10797,20 +11000,62 @@ else
   gl_cv_sys_struct_timeval=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval" >&5
-$as_echo "$gl_cv_sys_struct_timeval" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval" >&5
+printf "%s\n" "$gl_cv_sys_struct_timeval" >&6; }
   if test $gl_cv_sys_struct_timeval != yes; then
     HAVE_STRUCT_TIMEVAL=0
+  else
+                            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wide-enough struct timeval.tv_sec member" >&5
+printf %s "checking for wide-enough struct timeval.tv_sec member... " >&6; }
+if ${gl_cv_sys_struct_timeval_tv_sec+:} false; then :
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if HAVE_SYS_TIME_H
+               #include <sys/time.h>
+              #endif
+              #include <time.h>
+              #if HAVE_WINSOCK2_H
+              # include <winsock2.h>
+              #endif
+
+int
+main ()
+{
+static struct timeval x;
+              typedef int verify_tv_sec_type[
+                sizeof (time_t) <= sizeof x.tv_sec ? 1 : -1
+              ];
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_sys_struct_timeval_tv_sec=yes
+else
+  gl_cv_sys_struct_timeval_tv_sec=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval_tv_sec" >&5
+printf "%s\n" "$gl_cv_sys_struct_timeval_tv_sec" >&6; }
+    if test $gl_cv_sys_struct_timeval_tv_sec != yes; then
+      REPLACE_STRUCT_TIMEVAL=1
+    fi
   fi
 
 
     for gl_func in gettimeofday; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
 if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
 
                      eval ac_cv_have_decl_$gl_func=yes
   done
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
-$as_echo_n "checking for iconv... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
+printf %s "checking for iconv... " >&6; }
 if ${am_cv_func_iconv+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     am_cv_func_iconv="no, consider installing GNU libiconv"
@@ -11422,13 +11667,13 @@ rm -f core conftest.err conftest.$ac_objext \
     fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
-$as_echo "$am_cv_func_iconv" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
+printf "%s\n" "$am_cv_func_iconv" >&6; }
   if test "$am_cv_func_iconv" = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
-$as_echo_n "checking for working iconv... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
+printf %s "checking for working iconv... " >&6; }
 if ${am_cv_func_iconv_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                   am_save_LIBS="$LIBS"
@@ -11557,8 +11802,8 @@ fi
       LIBS="$am_save_LIBS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
-$as_echo "$am_cv_func_iconv_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
+printf "%s\n" "$am_cv_func_iconv_works" >&6; }
     case "$am_cv_func_iconv_works" in
       *no) am_func_iconv=no am_cv_lib_iconv=no ;;
       *)   am_func_iconv=yes ;;
@@ -11568,14 +11813,14 @@ $as_echo "$am_cv_func_iconv_works" >&6; }
   fi
   if test "$am_func_iconv" = yes; then
 
-$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+printf "%s\n" "#define HAVE_ICONV 1" >>confdefs.h
 
   fi
   if test "$am_cv_lib_iconv" = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
-$as_echo_n "checking how to link with libiconv... " >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
-$as_echo "$LIBICONV" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
+printf %s "checking how to link with libiconv... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
+printf "%s\n" "$LIBICONV" >&6; }
   else
             CPPFLAGS="$am_save_CPPFLAGS"
     LIBICONV=
@@ -11585,10 +11830,10 @@ $as_echo "$LIBICONV" >&6; }
 
 
   if test "$am_cv_func_iconv" = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
-$as_echo_n "checking for iconv declaration... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
+printf %s "checking for iconv declaration... " >&6; }
     if ${am_cv_proto_iconv+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11600,7 +11845,7 @@ extern
 #ifdef __cplusplus
 "C"
 #endif
-#if defined(__STDC__) || defined(__cplusplus)
+#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
 #else
 size_t iconv();
@@ -11624,9 +11869,9 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
     am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result:
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result:
          $am_cv_proto_iconv" >&5
-$as_echo "
+printf "%s\n" "
          $am_cv_proto_iconv" >&6; }
 
 cat >>confdefs.h <<_ACEOF
@@ -11642,118 +11887,68 @@ _ACEOF
 
 
 
-
-
-
-ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
-if test "x$ac_cv_type_off_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define off_t long int
-_ACEOF
-
-fi
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5
-$as_echo_n "checking for long long int... " >&6; }
-if ${ac_cv_type_long_long_int+:} false; then :
-  $as_echo_n "(cached) " >&6
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
+printf %s "checking for inline... " >&6; }
+if ${ac_cv_c_inline+:} false; then :
+  printf %s "(cached) " >&6
 else
+  ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#ifndef __cplusplus
+typedef int foo_t;
+static $ac_kw foo_t static_foo () {return 0; }
+$ac_kw foo_t foo () {return 0; }
+#endif
 
-  /* For now, do not test the preprocessor; as of 2007 there are too many
-         implementations with broken preprocessors.  Perhaps this can
-         be revisited in 2012.  In the meantime, code should not expect
-         #if to work with literals wider than 32 bits.  */
-      /* Test literals.  */
-      long long int ll = 9223372036854775807ll;
-      long long int nll = -9223372036854775807LL;
-      unsigned long long int ull = 18446744073709551615ULL;
-      /* Test constant expressions.   */
-      typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-                     ? 1 : -1)];
-      typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
-                     ? 1 : -1)];
-      int i = 63;
-int
-main ()
-{
-/* Test availability of runtime routines for shift and division.  */
-      long long int llmax = 9223372036854775807ll;
-      unsigned long long int ullmax = 18446744073709551615ull;
-      return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
-              | (llmax / ll) | (llmax % ll)
-              | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
-              | (ullmax / ull) | (ullmax % ull));
-  ;
-  return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-                          if test "$cross_compiling" = yes; then :
-  ac_cv_type_long_long_int=yes
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-               #ifndef LLONG_MAX
-               # define HALF \
-                        (1LL << (sizeof (long long int) * CHAR_BIT - 2))
-               # define LLONG_MAX (HALF - 1 + HALF)
-               #endif
-int
-main ()
-{
-long long int n = 1;
-               int i;
-               for (i = 0; ; i++)
-                 {
-                   long long int m = n << i;
-                   if (m >> i != n)
-                     return 1;
-                   if (LLONG_MAX / 2 < m)
-                     break;
-                 }
-               return 0;
-  ;
-  return 0;
-}
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_type_long_long_int=yes
-else
-  ac_cv_type_long_long_int=no
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_inline=$ac_kw
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  test "$ac_cv_c_inline" != no && break
+done
+
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
+printf "%s\n" "$ac_cv_c_inline" >&6; }
+
+case $ac_cv_c_inline in
+  inline | yes) ;;
+  *)
+    case $ac_cv_c_inline in
+      no) ac_val=;;
+      *) ac_val=$ac_cv_c_inline;;
+    esac
+    cat >>confdefs.h <<_ACEOF
+#ifndef __cplusplus
+#define inline $ac_val
+#endif
+_ACEOF
+    ;;
+esac
+
+ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
+if test "x$ac_cv_type_off_t" = xyes; then :
 
 else
-  ac_cv_type_long_long_int=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5
-$as_echo "$ac_cv_type_long_long_int" >&6; }
-  if test $ac_cv_type_long_long_int = yes; then
 
-$as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h
+cat >>confdefs.h <<_ACEOF
+#define off_t long int
+_ACEOF
 
-  fi
+fi
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5
-$as_echo_n "checking for unsigned long long int... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5
+printf %s "checking for unsigned long long int... " >&6; }
 if ${ac_cv_type_unsigned_long_long_int+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  ac_cv_type_unsigned_long_long_int=yes
+     if test "x${ac_cv_prog_cc_c99-no}" = xno; then
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
   /* For now, do not test the preprocessor; as of 2007 there are too many
@@ -11786,26 +11981,81 @@ main ()
 
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_type_unsigned_long_long_int=yes
+
 else
   ac_cv_type_unsigned_long_long_int=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
+     fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5
-$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5
+printf "%s\n" "$ac_cv_type_unsigned_long_long_int" >&6; }
   if test $ac_cv_type_unsigned_long_long_int = yes; then
 
-$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h
+printf "%s\n" "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h
 
   fi
 
 
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5
+printf %s "checking for long long int... " >&6; }
+if ${ac_cv_type_long_long_int+:} false; then :
+  printf %s "(cached) " >&6
+else
+  ac_cv_type_long_long_int=yes
+      if test "x${ac_cv_prog_cc_c99-no}" = xno; then
+        ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int
+        if test $ac_cv_type_long_long_int = yes; then
+                                        if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+                 #ifndef LLONG_MAX
+                 # define HALF \
+                          (1LL << (sizeof (long long int) * CHAR_BIT - 2))
+                 # define LLONG_MAX (HALF - 1 + HALF)
+                 #endif
+int
+main ()
+{
+long long int n = 1;
+                 int i;
+                 for (i = 0; ; i++)
+                   {
+                     long long int m = n << i;
+                     if (m >> i != n)
+                       return 1;
+                     if (LLONG_MAX / 2 < m)
+                       break;
+                   }
+                 return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  ac_cv_type_long_long_int=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
 
+        fi
+      fi
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5
+printf "%s\n" "$ac_cv_type_long_long_int" >&6; }
+  if test $ac_cv_type_long_long_int = yes; then
 
+printf "%s\n" "#define HAVE_LONG_LONG_INT 1" >>confdefs.h
 
+  fi
 
 
 
@@ -11871,12 +12121,6 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 
-  :
-
-
-
-
-
   if test $ac_cv_header_wchar_h = yes; then
     HAVE_WCHAR_H=1
   else
@@ -11904,22 +12148,16 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 
-  :
-
-
-
-
-
 
 
 
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_stdint_h='<'stdint.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdint.h>" >&5
-$as_echo_n "checking absolute name of <stdint.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdint.h>" >&5
+printf %s "checking absolute name of <stdint.h>... " >&6; }
 if ${gl_cv_next_stdint_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
              if test $ac_cv_header_stdint_h = yes; then
@@ -11934,21 +12172,35 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'stdint.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/stdint.h#{
-                    s#.*"\(.*/stdint.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
           else
                gl_cv_next_stdint_h='<'stdint.h'>'
              fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5
-$as_echo "$gl_cv_next_stdint_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5
+printf "%s\n" "$gl_cv_next_stdint_h" >&6; }
      fi
      NEXT_STDINT_H=$gl_cv_next_stdint_h
 
@@ -11972,18 +12224,16 @@ $as_echo "$gl_cv_next_stdint_h" >&6; }
 
 
     if test $ac_cv_header_stdint_h = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5
-$as_echo_n "checking whether stdint.h conforms to C99... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5
+printf %s "checking whether stdint.h conforms to C99... " >&6; }
 if ${gl_cv_header_working_stdint_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   gl_cv_header_working_stdint_h=no
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
-#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
 #include <stdint.h>
 /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>.  */
@@ -12152,8 +12402,6 @@ else
 /* end confdefs.h.  */
 
 
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
-#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
 #include <stdint.h>
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5
-$as_echo "$gl_cv_header_working_stdint_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5
+printf "%s\n" "$gl_cv_header_working_stdint_h" >&6; }
   fi
   if test "$gl_cv_header_working_stdint_h" = yes; then
     STDINT_H=
   else
             for ac_header in sys/inttypes.h sys/bitypes.h
 do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+  as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
 if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
 fi
@@ -12275,10 +12523,10 @@ done
 
 
   for gltype in ptrdiff_t size_t ; do
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
-$as_echo_n "checking for bit size of $gltype... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
+printf %s "checking for bit size of $gltype... " >&6; }
 if eval \${gl_cv_bitsizeof_${gltype}+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result"        "
   /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
@@ -12301,8 +12549,8 @@ fi
 
 fi
 eval ac_res=\$gl_cv_bitsizeof_${gltype}
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     eval result=\$gl_cv_bitsizeof_${gltype}
     if test $result = unknown; then
                                                 result=0
@@ -12320,10 +12568,10 @@ _ACEOF
 
 
   for gltype in sig_atomic_t wchar_t wint_t ; do
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
-$as_echo_n "checking for bit size of $gltype... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
+printf %s "checking for bit size of $gltype... " >&6; }
 if eval \${gl_cv_bitsizeof_${gltype}+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result"        "
   /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
@@ -12346,8 +12594,8 @@ fi
 
 fi
 eval ac_res=\$gl_cv_bitsizeof_${gltype}
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     eval result=\$gl_cv_bitsizeof_${gltype}
     if test $result = unknown; then
                                                 result=0
@@ -12364,10 +12612,10 @@ _ACEOF
 
 
   for gltype in sig_atomic_t wchar_t wint_t ; do
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5
-$as_echo_n "checking whether $gltype is signed... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5
+printf %s "checking whether $gltype is signed... " >&6; }
 if eval \${gl_cv_type_${gltype}_signed+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -12401,8 +12649,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
 eval ac_res=\$gl_cv_type_${gltype}_signed
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     eval result=\$gl_cv_type_${gltype}_signed
     GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
     if test "$result" = yes; then
@@ -12423,10 +12671,10 @@ _ACEOF
 
 
   for gltype in ptrdiff_t size_t ; do
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
-$as_echo_n "checking for $gltype integer literal suffix... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
+printf %s "checking for $gltype integer literal suffix... " >&6; }
 if eval \${gl_cv_type_${gltype}_suffix+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   eval gl_cv_type_${gltype}_suffix=no
        eval result=\$gl_cv_type_${gltype}_signed
@@ -12478,8 +12726,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
        done
 fi
 eval ac_res=\$gl_cv_type_${gltype}_suffix
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
     eval result=\$gl_cv_type_${gltype}_suffix
     test "$result" = no && result=
@@ -12495,10 +12743,10 @@ _ACEOF
 
 
   for gltype in sig_atomic_t wchar_t wint_t ; do
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
-$as_echo_n "checking for $gltype integer literal suffix... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
+printf %s "checking for $gltype integer literal suffix... " >&6; }
 if eval \${gl_cv_type_${gltype}_suffix+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   eval gl_cv_type_${gltype}_suffix=no
        eval result=\$gl_cv_type_${gltype}_signed
@@ -12550,8 +12798,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
        done
 fi
 eval ac_res=\$gl_cv_type_${gltype}_suffix
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
     eval result=\$gl_cv_type_${gltype}_suffix
     test "$result" = no && result=
@@ -12564,6 +12812,10 @@ _ACEOF
 
 
 
+          if test $BITSIZEOF_WINT_T -lt 32; then
+    BITSIZEOF_WINT_T=32
+  fi
+
     STDINT_H=stdint.h
   fi
 
@@ -12579,9 +12831,6 @@ fi
 
 
 
-
-
-
   GNULIB_IMAXABS=0;
   GNULIB_IMAXDIV=0;
   GNULIB_STRTOIMAX=0;
@@ -12590,6 +12839,7 @@ fi
   HAVE_DECL_IMAXDIV=1;
   HAVE_DECL_STRTOIMAX=1;
   HAVE_DECL_STRTOUMAX=1;
+  REPLACE_STRTOIMAX=0;
   INT32_MAX_LT_INTMAX_MAX=1;
   INT64_MAX_EQ_LONG_MAX='defined _LP64';
   PRI_MACROS_BROKEN=0;
 
 
 
-  :
-
-
-
-
-
 
 
 
 
 
 
-  :
-
-
-
-
-
 
 
 
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_inttypes_h='<'inttypes.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <inttypes.h>" >&5
-$as_echo_n "checking absolute name of <inttypes.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <inttypes.h>" >&5
+printf %s "checking absolute name of <inttypes.h>... " >&6; }
 if ${gl_cv_next_inttypes_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
              if test $ac_cv_header_inttypes_h = yes; then
@@ -12644,21 +12882,35 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'inttypes.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_inttypes_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/inttypes.h#{
-                    s#.*"\(.*/inttypes.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
           else
                gl_cv_next_inttypes_h='<'inttypes.h'>'
              fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_inttypes_h" >&5
-$as_echo "$gl_cv_next_inttypes_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_inttypes_h" >&5
+printf "%s\n" "$gl_cv_next_inttypes_h" >&6; }
      fi
      NEXT_INTTYPES_H=$gl_cv_next_inttypes_h
 
@@ -12678,17 +12930,12 @@ $as_echo "$gl_cv_next_inttypes_h" >&6; }
 
 
 
-$as_echo "#define GL_TRIGGER_STDC_LIMIT_MACROS 1" >>confdefs.h
-
-
-
-
     for gl_func in imaxabs imaxdiv strtoimax strtoumax; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
 if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
 
                      eval ac_cv_have_decl_$gl_func=yes
 done
 
   if test $ac_cv_header_inttypes_h = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5
-$as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5
+printf %s "checking whether the inttypes.h PRIxNN macros are broken... " >&6; }
 if ${gt_cv_inttypes_pri_broken+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -12767,8 +13014,8 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_inttypes_pri_broken" >&5
-$as_echo "$gt_cv_inttypes_pri_broken" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_inttypes_pri_broken" >&5
+printf "%s\n" "$gt_cv_inttypes_pri_broken" >&6; }
   fi
   if test "$gt_cv_inttypes_pri_broken" = yes; then
 
@@ -12796,13 +13043,10 @@ _ACEOF
 
 
 
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
-$as_echo_n "checking for wint_t... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
+printf %s "checking for wint_t... " >&6; }
 if ${gt_cv_c_wint_t+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -12831,11 +13075,11 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5
-$as_echo "$gt_cv_c_wint_t" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5
+printf "%s\n" "$gt_cv_c_wint_t" >&6; }
   if test $gt_cv_c_wint_t = yes; then
 
-$as_echo "#define HAVE_WINT_T 1" >>confdefs.h
+printf "%s\n" "#define HAVE_WINT_T 1" >>confdefs.h
 
   fi
 
@@ -12844,12 +13088,6 @@ $as_echo "#define HAVE_WINT_T 1" >>confdefs.h
 
 
 
-  :
-
-
-
-
-
   if test $ac_cv_func_iswcntrl = yes; then
     HAVE_ISWCNTRL=1
   else
@@ -12858,8 +13096,6 @@ $as_echo "#define HAVE_WINT_T 1" >>confdefs.h
 
 
 
-
-
   if test $gt_cv_c_wint_t = yes; then
     HAVE_WINT_T=1
   else
@@ -12873,22 +13109,16 @@ $as_echo "#define HAVE_WINT_T 1" >>confdefs.h
 
 
 
-  :
-
-
-
-
-
 
 
 
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_wctype_h='<'wctype.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <wctype.h>" >&5
-$as_echo_n "checking absolute name of <wctype.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <wctype.h>" >&5
+printf %s "checking absolute name of <wctype.h>... " >&6; }
 if ${gl_cv_next_wctype_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
              if test $ac_cv_header_wctype_h = yes; then
@@ -12903,21 +13133,35 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'wctype.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_wctype_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/wctype.h#{
-                    s#.*"\(.*/wctype.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
           else
                gl_cv_next_wctype_h='<'wctype.h'>'
              fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wctype_h" >&5
-$as_echo "$gl_cv_next_wctype_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wctype_h" >&5
+printf "%s\n" "$gl_cv_next_wctype_h" >&6; }
      fi
      NEXT_WCTYPE_H=$gl_cv_next_wctype_h
 
@@ -12935,10 +13179,10 @@ $as_echo "$gl_cv_next_wctype_h" >&6; }
 
   if test $ac_cv_header_wctype_h = yes; then
     if test $ac_cv_func_iswcntrl = yes; then
-                  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iswcntrl works" >&5
-$as_echo_n "checking whether iswcntrl works... " >&6; }
+                  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether iswcntrl works" >&5
+printf %s "checking whether iswcntrl works... " >&6; }
 if ${gl_cv_func_iswcntrl_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
           if test "$cross_compiling" = yes; then :
@@ -12957,9 +13201,9 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_func_iswcntrl_works=yes
+  gl_cv_func_iswcntrl_works="guessing yes"
 else
-  gl_cv_func_iswcntrl_works=no
+  gl_cv_func_iswcntrl_works="guessing no"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
@@ -12990,8 +13234,8 @@ fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_iswcntrl_works" >&5
-$as_echo "$gl_cv_func_iswcntrl_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_iswcntrl_works" >&5
+printf "%s\n" "$gl_cv_func_iswcntrl_works" >&6; }
     fi
     HAVE_WCTYPE_H=1
   else
@@ -12999,11 +13243,10 @@ $as_echo "$gl_cv_func_iswcntrl_works" >&6; }
   fi
 
 
-  if test "$gl_cv_func_iswcntrl_works" = no; then
-    REPLACE_ISWCNTRL=1
-  else
-    REPLACE_ISWCNTRL=0
-  fi
+  case "$gl_cv_func_iswcntrl_works" in
+    *yes) REPLACE_ISWCNTRL=0 ;;
+    *)    REPLACE_ISWCNTRL=1 ;;
+  esac
 
 
   if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then
@@ -13063,10 +13306,10 @@ _ACEOF
         :
   fi
 
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctype_t" >&5
-$as_echo_n "checking for wctype_t... " >&6; }
+          { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wctype_t" >&5
+printf %s "checking for wctype_t... " >&6; }
 if ${gl_cv_type_wctype_t+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctype_t" >&5
-$as_echo "$gl_cv_type_wctype_t" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctype_t" >&5
+printf "%s\n" "$gl_cv_type_wctype_t" >&6; }
   if test $gl_cv_type_wctype_t = no; then
     HAVE_WCTYPE_T=0
   fi
 
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctrans_t" >&5
-$as_echo_n "checking for wctrans_t... " >&6; }
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wctrans_t" >&5
+printf %s "checking for wctrans_t... " >&6; }
 if ${gl_cv_type_wctrans_t+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be
+               included before <wchar.h>.
+               BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h>
+               must be included before <wchar.h>.  */
+            #include <stddef.h>
+            #include <stdio.h>
+            #include <time.h>
+            #include <wchar.h>
+            #include <wctype.h>
+            wctrans_t a;
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_type_wctrans_t=yes
+else
+  gl_cv_type_wctrans_t=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctrans_t" >&5
+printf "%s\n" "$gl_cv_type_wctrans_t" >&6; }
+  if test $gl_cv_type_wctrans_t = no; then
+    HAVE_WCTRANS_T=0
+  fi
+
+
+    for gl_func in wctype iswctype wctrans towctrans     ; do
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
+if eval \${$as_gl_Symbol+:} false; then :
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+   <wchar.h>.
+   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+   included before <wchar.h>.  */
+#if !(defined __GLIBC__ && !defined __UCLIBC__)
+# include <stddef.h>
+# include <stdio.h>
+# include <time.h>
+# include <wchar.h>
+#endif
+#include <wctype.h>
+
+int
+main ()
+{
+#undef $gl_func
+  (void) $gl_func;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_gl_Symbol=yes"
+else
+  eval "$as_gl_Symbol=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_gl_Symbol
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+
+                     eval ac_cv_have_decl_$gl_func=yes
+fi
+      done
+
+
+
+
+
+  GNULIB_NL_LANGINFO=0;
+    HAVE_NL_LANGINFO=1;
+  REPLACE_NL_LANGINFO=0;
+
+
+
+ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default"
+if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl
+_ACEOF
+
+
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library >= 2.1 or uClibc" >&5
+printf %s "checking whether we are using the GNU C Library >= 2.1 or uClibc... " >&6; }
+if ${ac_cv_gnu_library_2_1+:} false; then :
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
+  Lucky GNU user
+ #endif
+#endif
+#ifdef __UCLIBC__
+ Lucky user
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "Lucky" >/dev/null 2>&1; then :
+  ac_cv_gnu_library_2_1=yes
+else
+  ac_cv_gnu_library_2_1=no
+fi
+rm -rf conftest*
+
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2_1" >&5
+printf "%s\n" "$ac_cv_gnu_library_2_1" >&6; }
+
+    GLIBC21="$ac_cv_gnu_library_2_1"
+
+
+
+  GNULIB_LOCALECONV=0;
+  GNULIB_SETLOCALE=0;
+  GNULIB_DUPLOCALE=0;
+    HAVE_DUPLOCALE=1;
+  REPLACE_LOCALECONV=0;
+  REPLACE_SETLOCALE=0;
+  REPLACE_DUPLOCALE=0;
+  REPLACE_STRUCT_LCONV=0;
+
+
+    REPLACE_NULL=0;
+  HAVE_WCHAR_T=1;
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5
+printf %s "checking for wchar_t... " >&6; }
+if ${gt_cv_c_wchar_t+:} false; then :
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be
-               included before <wchar.h>.
-               BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h>
-               must be included before <wchar.h>.  */
-            #include <stddef.h>
-            #include <stdio.h>
-            #include <time.h>
-            #include <wchar.h>
-            #include <wctype.h>
-            wctrans_t a;
-
+#include <stddef.h>
+            wchar_t foo = (wchar_t)'\0';
 int
 main ()
 {
@@ -13132,80 +13530,70 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_type_wctrans_t=yes
+  gt_cv_c_wchar_t=yes
 else
-  gl_cv_type_wctrans_t=no
+  gt_cv_c_wchar_t=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctrans_t" >&5
-$as_echo "$gl_cv_type_wctrans_t" >&6; }
-  if test $gl_cv_type_wctrans_t = no; then
-    HAVE_WCTRANS_T=0
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5
+printf "%s\n" "$gt_cv_c_wchar_t" >&6; }
+  if test $gt_cv_c_wchar_t = yes; then
+
+printf "%s\n" "#define HAVE_WCHAR_T 1" >>confdefs.h
+
   fi
 
 
-    for gl_func in wctype iswctype wctrans towctrans     ; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
+
+
+  STDDEF_H=
+  if test $gt_cv_c_wchar_t = no; then
+    HAVE_WCHAR_T=0
+    STDDEF_H=stddef.h
+  fi
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5
+printf %s "checking whether NULL can be used in arbitrary expressions... " >&6; }
+if ${gl_cv_decl_null_works+:} false; then :
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-   <wchar.h>.
-   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-   included before <wchar.h>.  */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
-# include <stddef.h>
-# include <stdio.h>
-# include <time.h>
-# include <wchar.h>
-#endif
-#include <wctype.h>
+#include <stddef.h>
+      int test[2 * (sizeof NULL == sizeof (void *)) -1];
 
 int
 main ()
 {
-#undef $gl_func
-  (void) $gl_func;
+
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
+  gl_cv_decl_null_works=yes
 else
-  eval "$as_gl_Symbol=no"
+  gl_cv_decl_null_works=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5
+printf "%s\n" "$gl_cv_decl_null_works" >&6; }
+  if test $gl_cv_decl_null_works = no; then
+    REPLACE_NULL=1
+    STDDEF_H=stddef.h
+  fi
 
-                     eval ac_cv_have_decl_$gl_func=yes
+   if test -n "$STDDEF_H"; then
+  GL_GENERATE_STDDEF_H_TRUE=
+  GL_GENERATE_STDDEF_H_FALSE='#'
+else
+  GL_GENERATE_STDDEF_H_TRUE='#'
+  GL_GENERATE_STDDEF_H_FALSE=
 fi
-      done
-
-
-
-
-
-
 
+  if test -n "$STDDEF_H"; then
 
-  GNULIB_NL_LANGINFO=0;
-    HAVE_NL_LANGINFO=1;
-  REPLACE_NL_LANGINFO=0;
 
 
 
 
 
 
-      ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then :
-  ac_have_decl=1
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_stddef_h='<'stddef.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <stddef.h>" >&5
+printf %s "checking absolute name of <stddef.h>... " >&6; }
+if ${gl_cv_next_stddef_h+:} false; then :
+  printf %s "(cached) " >&6
 else
-  ac_have_decl=0
-fi
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl
-_ACEOF
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library 2.1 or newer" >&5
-$as_echo_n "checking whether we are using the GNU C Library 2.1 or newer... " >&6; }
-if ${ac_cv_gnu_library_2_1+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
-  Lucky GNU user
- #endif
-#endif
+#include <stddef.h>
 
 _ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "Lucky GNU user" >/dev/null 2>&1; then :
-  ac_cv_gnu_library_2_1=yes
-else
-  ac_cv_gnu_library_2_1=no
-fi
-rm -f conftest*
+                                                                                                                        case "$host_os" in
+                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
+                 *)    gl_absname_cpp="$ac_cpp" ;;
+               esac
 
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'stddef.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
+                                                            gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+                      sed -n "$gl_absolute_header_sed"`'"'
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2_1" >&5
-$as_echo "$ac_cv_gnu_library_2_1" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5
+printf "%s\n" "$gl_cv_next_stddef_h" >&6; }
+     fi
+     NEXT_STDDEF_H=$gl_cv_next_stddef_h
 
-    GLIBC21="$ac_cv_gnu_library_2_1"
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'stddef.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_stddef_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive
 
 
 
-     GNULIB_FCHMODAT=0;
-  GNULIB_FSTATAT=0;
-  GNULIB_FUTIMENS=0;
-  GNULIB_LCHMOD=0;
-  GNULIB_LSTAT=0;
-  GNULIB_MKDIRAT=0;
-  GNULIB_MKFIFO=0;
-  GNULIB_MKFIFOAT=0;
-  GNULIB_MKNOD=0;
-  GNULIB_MKNODAT=0;
-  GNULIB_STAT=0;
-  GNULIB_UTIMENSAT=0;
-    HAVE_FCHMODAT=1;
-  HAVE_FSTATAT=1;
-  HAVE_FUTIMENS=1;
-  HAVE_LCHMOD=1;
-  HAVE_LSTAT=1;
-  HAVE_MKDIRAT=1;
-  HAVE_MKFIFO=1;
-  HAVE_MKFIFOAT=1;
-  HAVE_MKNOD=1;
-  HAVE_MKNODAT=1;
-  HAVE_UTIMENSAT=1;
-  REPLACE_FSTAT=0;
-  REPLACE_FSTATAT=0;
-  REPLACE_FUTIMENS=0;
-  REPLACE_LSTAT=0;
-  REPLACE_MKDIR=0;
-  REPLACE_MKFIFO=0;
-  REPLACE_MKNOD=0;
-  REPLACE_STAT=0;
-  REPLACE_UTIMENSAT=0;
 
+  fi
 
 
 
 
 
 
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5
-$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; }
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5
+printf %s "checking whether lstat correctly handles trailing slash... " >&6; }
 if ${gl_cv_func_lstat_dereferences_slashed_symlink+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   rm -f conftest.sym conftest.file
      echo >conftest.file
      if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
        if test "$cross_compiling" = yes; then :
-  # When cross-compiling, be pessimistic so we will end up using the
-          # replacement version of lstat that checks for trailing slashes and
-          # calls lstat a second time when necessary.
-          gl_cv_func_lstat_dereferences_slashed_symlink=no
+  case "$host_os" in
+                    # Guess yes on glibc systems.
+            *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
+          esac
 
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
      else
        # If the 'ln -s' command failed, then we probably don't even
        # have an lstat function.
-       gl_cv_func_lstat_dereferences_slashed_symlink=no
+       gl_cv_func_lstat_dereferences_slashed_symlink="guessing no"
      fi
      rm -f conftest.sym conftest.file
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lstat_dereferences_slashed_symlink" >&5
-$as_echo "$gl_cv_func_lstat_dereferences_slashed_symlink" >&6; }
-  test $gl_cv_func_lstat_dereferences_slashed_symlink = yes &&
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lstat_dereferences_slashed_symlink" >&5
+printf "%s\n" "$gl_cv_func_lstat_dereferences_slashed_symlink" >&6; }
+  case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
+    *yes)
 
 cat >>confdefs.h <<_ACEOF
 #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
 _ACEOF
 
+      ;;
+  esac
 
 
   GNULIB__EXIT=0;
@@ -13371,12 +13744,16 @@ _ACEOF
   GNULIB_MKOSTEMPS=0;
   GNULIB_MKSTEMP=0;
   GNULIB_MKSTEMPS=0;
+  GNULIB_POSIX_OPENPT=0;
   GNULIB_PTSNAME=0;
+  GNULIB_PTSNAME_R=0;
   GNULIB_PUTENV=0;
+  GNULIB_RANDOM=0;
   GNULIB_RANDOM_R=0;
   GNULIB_REALLOC_POSIX=0;
   GNULIB_REALPATH=0;
   GNULIB_RPMATCH=0;
+  GNULIB_SECURE_GETENV=0;
   GNULIB_SETENV=0;
   GNULIB_STRTOD=0;
   GNULIB_STRTOLL=0;
@@ -13396,11 +13773,15 @@ _ACEOF
   HAVE_MKOSTEMPS=1;
   HAVE_MKSTEMP=1;
   HAVE_MKSTEMPS=1;
+  HAVE_POSIX_OPENPT=1;
   HAVE_PTSNAME=1;
+  HAVE_PTSNAME_R=1;
+  HAVE_RANDOM=1;
   HAVE_RANDOM_H=1;
   HAVE_RANDOM_R=1;
   HAVE_REALPATH=1;
   HAVE_RPMATCH=1;
+  HAVE_SECURE_GETENV=1;
   HAVE_SETENV=1;
   HAVE_DECL_SETENV=1;
   HAVE_STRTOD=1;
@@ -13415,7 +13796,10 @@ _ACEOF
   REPLACE_MALLOC=0;
   REPLACE_MBTOWC=0;
   REPLACE_MKSTEMP=0;
+  REPLACE_PTSNAME=0;
+  REPLACE_PTSNAME_R=0;
   REPLACE_PUTENV=0;
+  REPLACE_RANDOM_R=0;
   REPLACE_REALLOC=0;
   REPLACE_REALPATH=0;
   REPLACE_SETENV=0;
@@ -13424,10 +13808,10 @@ _ACEOF
   REPLACE_WCTOMB=0;
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc are POSIX compliant" >&5
-$as_echo_n "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc are POSIX compliant" >&5
+printf %s "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; }
 if ${gl_cv_func_malloc_posix+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5
-$as_echo "$gl_cv_func_malloc_posix" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5
+printf "%s\n" "$gl_cv_func_malloc_posix" >&6; }
 
 
-  for ac_header in stdlib.h
+
+      for ac_header in stdlib.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
 if test "x$ac_cv_header_stdlib_h" = xyes; then :
 
 done
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
-$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
+printf %s "checking for GNU libc compatible malloc... " >&6; }
 if ${ac_cv_func_malloc_0_nonnull+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
-  ac_cv_func_malloc_0_nonnull=no
+  case "$host_os" in
+          # Guess yes on platforms where we know the result.
+          *-gnu* | freebsd* | netbsd* | openbsd* \
+          | hpux* | solaris* | cygwin* | mingw*)
+            ac_cv_func_malloc_0_nonnull=yes ;;
+          # If we don't know, assume the worst.
+          *) ac_cv_func_malloc_0_nonnull=no ;;
+        esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #if defined STDC_HEADERS || defined HAVE_STDLIB_H
-# include <stdlib.h>
-#else
-char *malloc ();
-#endif
+            # include <stdlib.h>
+            #else
+            char *malloc ();
+            #endif
 
 int
 main ()
@@ -13491,6 +13884,7 @@ return ! malloc (0);
   ;
   return 0;
 }
+
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
   ac_cv_func_malloc_0_nonnull=yes
@@ -13501,10 +13895,11 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
-$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
-if test $ac_cv_func_malloc_0_nonnull = yes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
+printf "%s\n" "$ac_cv_func_malloc_0_nonnull" >&6; }
+  if test $ac_cv_func_malloc_0_nonnull = yes; then :
   gl_cv_func_malloc_0_nonnull=1
 else
   gl_cv_func_malloc_0_nonnull=0
@@ -13523,16 +13918,10 @@ _ACEOF
 
 
 
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
-$as_echo_n "checking for a traditional japanese locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
+printf %s "checking for a traditional japanese locale... " >&6; }
 if ${gt_cv_locale_ja+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13552,9 +13941,9 @@ int main ()
   const char *p;
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -13563,7 +13952,7 @@ int main ()
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -13602,7 +13991,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -13612,13 +14001,14 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Note that on native Win32, the Japanese locale is Japanese_Japan.932,
-          # and CP932 is very different from EUC-JP, so we cannot use it here.
+          # Note that on native Windows, the Japanese locale is
+          # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
+          # cannot use it here.
           gt_cv_locale_ja=none
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the AIX locale name.
@@ -13659,18 +14049,18 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
-$as_echo "$gt_cv_locale_ja" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
+printf "%s\n" "$gt_cv_locale_ja" >&6; }
   LOCALE_JA=$gt_cv_locale_ja
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
-$as_echo_n "checking for a transitional chinese locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
+printf %s "checking for a transitional chinese locale... " >&6; }
 if ${gt_cv_locale_zh_CN+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13691,9 +14081,9 @@ int main ()
   const char *p;
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -13702,7 +14092,7 @@ int main ()
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -13741,7 +14131,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -13751,7 +14141,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_zh_CN=Chinese_China.54936
           else
@@ -13767,7 +14157,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the locale name without encoding suffix.
@@ -13792,17 +14182,17 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
-$as_echo "$gt_cv_locale_zh_CN" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
+printf "%s\n" "$gt_cv_locale_zh_CN" >&6; }
   LOCALE_ZH_CN=$gt_cv_locale_zh_CN
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-$as_echo_n "checking for a french Unicode locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
+printf %s "checking for a french Unicode locale... " >&6; }
 if ${gt_cv_locale_fr_utf8+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13824,9 +14214,9 @@ int main () {
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
 # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -13835,7 +14225,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 # endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -13861,10 +14251,12 @@ int main () {
       || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
     return 1;
 #endif
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -13872,7 +14264,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -13882,7 +14274,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr_utf8=French_France.65001
           else
@@ -13892,7 +14284,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -13918,8 +14310,8 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-$as_echo "$gt_cv_locale_fr_utf8" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
+printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
   LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
 
 
@@ -14008,15 +14400,6 @@ $as_echo "$gt_cv_locale_fr_utf8" >&6; }
 
 
 
-
-
-
-
-
-
-
-
-
   # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it
   # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is
   # irrelevant for anonymous mappings.
   # Try to allow MAP_ANONYMOUS.
   gl_have_mmap_anonymous=no
   if test $gl_have_mmap = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5
-$as_echo_n "checking for MAP_ANONYMOUS... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5
+printf %s "checking for MAP_ANONYMOUS... " >&6; }
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #include <sys/mman.h>
 #ifdef MAP_ANONYMOUS
-    I cant identify this map
+    I cannot identify this map
 #endif
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "I cant identify this map" >/dev/null 2>&1; then :
+  $EGREP "I cannot identify this map" >/dev/null 2>&1; then :
   gl_have_mmap_anonymous=yes
 fi
-rm -f conftest*
+rm -rf conftest*
 
     if test $gl_have_mmap_anonymous != yes; then
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14054,42 +14437,30 @@ rm -f conftest*
 
 #include <sys/mman.h>
 #ifdef MAP_ANON
-    I cant identify this map
+    I cannot identify this map
 #endif
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "I cant identify this map" >/dev/null 2>&1; then :
+  $EGREP "I cannot identify this map" >/dev/null 2>&1; then :
 
-$as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h
+printf "%s\n" "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h
 
          gl_have_mmap_anonymous=yes
 fi
-rm -f conftest*
+rm -rf conftest*
 
     fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5
-$as_echo "$gl_have_mmap_anonymous" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5
+printf "%s\n" "$gl_have_mmap_anonymous" >&6; }
     if test $gl_have_mmap_anonymous = yes; then
 
-$as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h
+printf "%s\n" "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h
 
     fi
   fi
 
 
-  :
-
-
-
-
-
-
-  :
-
-
-
-
 
 
 
@@ -14102,10 +14473,10 @@ $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h
     #   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737
     #   http://sourceware.org/bugzilla/show_bug.cgi?id=10162
     # Assume that memchr works on platforms that lack mprotect.
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memchr works" >&5
-$as_echo_n "checking whether memchr works... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether memchr works" >&5
+printf %s "checking whether memchr works... " >&6; }
 if ${gl_cv_func_memchr_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
          gl_cv_func_memchr_works="guessing no"
@@ -14175,8 +14546,8 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_memchr_works" >&5
-$as_echo "$gl_cv_func_memchr_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_memchr_works" >&5
+printf "%s\n" "$gl_cv_func_memchr_works" >&6; }
     if test "$gl_cv_func_memchr_works" != yes; then
       REPLACE_MEMCHR=1
     fi
@@ -14185,9 +14556,6 @@ $as_echo "$gl_cv_func_memchr_works" >&6; }
 
 
 
-
-
-
   GNULIB_MKTIME=0;
   GNULIB_NANOSLEEP=0;
   GNULIB_STRPTIME=0;
@@ -14202,33 +14570,25 @@ $as_echo "$gl_cv_func_memchr_works" >&6; }
   REPLACE_NANOSLEEP=GNULIB_PORTCHECK;
   REPLACE_TIMEGM=GNULIB_PORTCHECK;
 
-
-
-
-
-
-
-
-
-
-
-ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
-if test "x$ac_cv_type_mode_t" = xyes; then :
-
+ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default"
+if test "x$ac_cv_have_decl_alarm" = xyes; then :
+  ac_have_decl=1
 else
+  ac_have_decl=0
+fi
 
 cat >>confdefs.h <<_ACEOF
-#define mode_t int
+#define HAVE_DECL_ALARM $ac_have_decl
 _ACEOF
 
-fi
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5
-$as_echo_n "checking for promoted mode_t type... " >&6; }
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5
+printf %s "checking for promoted mode_t type... " >&6; }
 if ${gl_cv_promoted_mode_t+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14250,8 +14610,8 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_promoted_mode_t" >&5
-$as_echo "$gl_cv_promoted_mode_t" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_promoted_mode_t" >&5
+printf "%s\n" "$gl_cv_promoted_mode_t" >&6; }
 
 cat >>confdefs.h <<_ACEOF
 #define PROMOTED_MODE_T $gl_cv_promoted_mode_t
@@ -14261,34 +14621,59 @@ _ACEOF
 
 
 
+  GNULIB_PTHREAD_SIGMASK=0;
+  GNULIB_RAISE=0;
+  GNULIB_SIGNAL_H_SIGPIPE=0;
+  GNULIB_SIGPROCMASK=0;
+  GNULIB_SIGACTION=0;
+    HAVE_POSIX_SIGNALBLOCKING=1;
+  HAVE_PTHREAD_SIGMASK=1;
+  HAVE_RAISE=1;
+  HAVE_SIGSET_T=1;
+  HAVE_SIGINFO_T=1;
+  HAVE_SIGACTION=1;
+  HAVE_STRUCT_SIGACTION_SA_SIGACTION=1;
+
+  HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1;
+
+  HAVE_SIGHANDLER_T=1;
+  REPLACE_PTHREAD_SIGMASK=0;
+  REPLACE_RAISE=0;
+
+
+  ac_fn_c_check_type "$LINENO" "sigset_t" "ac_cv_type_sigset_t" "
+      #include <signal.h>
+      /* Mingw defines sigset_t not in <signal.h>, but in <sys/types.h>.  */
+      #include <sys/types.h>
+
+"
+if test "x$ac_cv_type_sigset_t" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_SIGSET_T 1
+_ACEOF
 
+gl_cv_type_sigset_t=yes
+else
+  gl_cv_type_sigset_t=no
+fi
 
+  if test $gl_cv_type_sigset_t != yes; then
+    HAVE_SIGSET_T=0
+  fi
 
-  GNULIB_PTHREAD_SIGMASK=0;
-  GNULIB_SIGNAL_H_SIGPIPE=0;
-  GNULIB_SIGPROCMASK=0;
-  GNULIB_SIGACTION=0;
-    HAVE_POSIX_SIGNALBLOCKING=1;
-  HAVE_PTHREAD_SIGMASK=1;
-  HAVE_SIGSET_T=1;
-  HAVE_SIGINFO_T=1;
-  HAVE_SIGACTION=1;
-  HAVE_STRUCT_SIGACTION_SA_SIGACTION=1;
 
-  HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1;
 
-  HAVE_SIGHANDLER_T=1;
-  REPLACE_PTHREAD_SIGMASK=0;
 
 
 
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
-$as_echo_n "checking for uid_t in sys/types.h... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
+printf %s "checking for uid_t in sys/types.h... " >&6; }
 if ${ac_cv_type_uid_t+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -14301,54 +14686,27 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 else
   ac_cv_type_uid_t=no
 fi
-rm -f conftest*
+rm -rf conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5
-$as_echo "$ac_cv_type_uid_t" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5
+printf "%s\n" "$ac_cv_type_uid_t" >&6; }
 if test $ac_cv_type_uid_t = no; then
 
-$as_echo "#define uid_t int" >>confdefs.h
+printf "%s\n" "#define uid_t int" >>confdefs.h
 
 
-$as_echo "#define gid_t int" >>confdefs.h
+printf "%s\n" "#define gid_t int" >>confdefs.h
 
 fi
 
+:
 
 
-
-
-
-
-
-
-
-  ac_fn_c_check_type "$LINENO" "sigset_t" "ac_cv_type_sigset_t" "
-      #include <signal.h>
-      /* Mingw defines sigset_t not in <signal.h>, but in <sys/types.h>.  */
-      #include <sys/types.h>
-
-"
-if test "x$ac_cv_type_sigset_t" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_SIGSET_T 1
-_ACEOF
-
-gl_cv_type_sigset_t=yes
-else
-  gl_cv_type_sigset_t=no
-fi
-
-  if test $gl_cv_type_sigset_t != yes; then
-    HAVE_SIGSET_T=0
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
-$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
+printf %s "checking for stdbool.h that conforms to C99... " >&6; }
 if ${ac_cv_header_stdbool_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -14419,8 +14777,8 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
-$as_echo "$ac_cv_header_stdbool_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
+printf "%s\n" "$ac_cv_header_stdbool_h" >&6; }
    ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
 if test "x$ac_cv_type__Bool" = xyes; then :
 
 
 
 
-    REPLACE_NULL=0;
-  HAVE_WCHAR_T=1;
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5
-$as_echo_n "checking for wchar_t... " >&6; }
-if ${gt_cv_c_wchar_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stddef.h>
-            wchar_t foo = (wchar_t)'\0';
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_c_wchar_t=yes
-else
-  gt_cv_c_wchar_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5
-$as_echo "$gt_cv_c_wchar_t" >&6; }
-  if test $gt_cv_c_wchar_t = yes; then
-
-$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h
-
-  fi
-
-
   GNULIB_FFS=0;
     HAVE_FFS=1;
   HAVE_STRCASECMP=1;
   HAVE_DECL_STRNCASECMP=1;
 
 
-  REPLACE_STRERROR_0=0
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror(0) succeeds" >&5
-$as_echo_n "checking whether strerror(0) succeeds... " >&6; }
+     REPLACE_STRERROR_0=0
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether strerror(0) succeeds" >&5
+printf %s "checking whether strerror(0) succeeds... " >&6; }
 if ${gl_cv_func_strerror_0_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
-         gl_cv_func_strerror_0_works="guessing no"
+  case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_strerror_0_works="guessing no" ;;
+       esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_0_works" >&5
-$as_echo "$gl_cv_func_strerror_0_works" >&6; }
-  if test "$gl_cv_func_strerror_0_works" != yes; then
-    REPLACE_STRERROR_0=1
-
-$as_echo "#define REPLACE_STRERROR_0 1" >>confdefs.h
-
-  fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  :
-
-
-
-
-
-  if test $ac_cv_func_strerror_r = yes; then
-    if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
-                        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strerror_r with POSIX signature" >&5
-$as_echo_n "checking for strerror_r with POSIX signature... " >&6; }
-if ${gl_cv_func_strerror_r_posix_signature+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-                int strerror_r (int, char *, size_t);
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_func_strerror_r_posix_signature=yes
-else
-  gl_cv_func_strerror_r_posix_signature=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_posix_signature" >&5
-$as_echo "$gl_cv_func_strerror_r_posix_signature" >&6; }
-      if test $gl_cv_func_strerror_r_posix_signature = yes; then
-                                                        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r works" >&5
-$as_echo_n "checking whether strerror_r works... " >&6; }
-if ${gl_cv_func_strerror_r_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-
-              case "$host_os" in
-                       # Guess no on AIX.
-                aix*)  gl_cv_func_strerror_r_works="guessing no";;
-                       # Guess no on HP-UX.
-                hpux*) gl_cv_func_strerror_r_works="guessing no";;
-                       # Guess no on BSD variants.
-                *bsd*)  gl_cv_func_strerror_r_works="guessing no";;
-                       # Guess yes otherwise.
-                *)     gl_cv_func_strerror_r_works="guessing yes";;
-              esac
-
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <errno.h>
-                  #include <string.h>
-
-int
-main ()
-{
-int result = 0;
-                  char buf[79];
-                  if (strerror_r (EACCES, buf, 0) < 0)
-                    result |= 1;
-                  errno = 0;
-                  if (strerror_r (EACCES, buf, sizeof buf) != 0)
-                    result |= 2;
-                  strcpy (buf, "Unknown");
-                  if (strerror_r (0, buf, sizeof buf) != 0)
-                    result |= 4;
-                  if (errno)
-                    result |= 8;
-                  if (strstr (buf, "nknown") || strstr (buf, "ndefined"))
-                    result |= 0x10;
-                  errno = 0;
-                  *buf = 0;
-                  if (strerror_r (-3, buf, sizeof buf) < 0)
-                    result |= 0x20;
-                  if (errno)
-                    result |= 0x40;
-                  if (!*buf)
-                    result |= 0x80;
-                  return result;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_strerror_r_works=yes
-else
-  gl_cv_func_strerror_r_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_works" >&5
-$as_echo "$gl_cv_func_strerror_r_works" >&6; }
-      else
-
-  :
-
-
-
-
-
-                        if test $ac_cv_func___xpg_strerror_r = yes; then
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __xpg_strerror_r works" >&5
-$as_echo_n "checking whether __xpg_strerror_r works... " >&6; }
-if ${gl_cv_func_strerror_r_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-                                  gl_cv_func_strerror_r_works="guessing no"
-
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <errno.h>
-                    #include <string.h>
-                    extern
-                    #ifdef __cplusplus
-                    "C"
-                    #endif
-                    int __xpg_strerror_r(int, char *, size_t);
-
-int
-main ()
-{
-int result = 0;
-                    char buf[256] = "^";
-                    char copy[256];
-                    char *str = strerror (-1);
-                    strcpy (copy, str);
-                    if (__xpg_strerror_r (-2, buf, 1) == 0)
-                      result |= 1;
-                    if (*buf)
-                      result |= 2;
-                    __xpg_strerror_r (-2, buf, 256);
-                    if (strcmp (str, copy))
-                      result |= 4;
-                    return result;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_strerror_r_works=yes
-else
-  gl_cv_func_strerror_r_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_works" >&5
-$as_echo "$gl_cv_func_strerror_r_works" >&6; }
-        fi
-      fi
-    fi
-  fi
-
-
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_0_works" >&5
+printf "%s\n" "$gl_cv_func_strerror_0_works" >&6; }
+  case "$gl_cv_func_strerror_0_works" in
+    *yes) ;;
+    *)
+      REPLACE_STRERROR_0=1
 
+printf "%s\n" "#define REPLACE_STRERROR_0 1" >>confdefs.h
 
+      ;;
+  esac
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5
-$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5
+printf %s "checking whether struct tm is in sys/time.h or time.h... " >&6; }
 if ${ac_cv_struct_tm+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -14745,11 +14883,11 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5
-$as_echo "$ac_cv_struct_tm" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5
+printf "%s\n" "$ac_cv_struct_tm" >&6; }
 if test $ac_cv_struct_tm = sys/time.h; then
 
-$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h
+printf "%s\n" "#define TM_IN_SYS_TIME 1" >>confdefs.h
 
 fi
 
@@ -14768,7 +14906,7 @@ fi
 
 if test "$ac_cv_member_struct_tm_tm_zone" = yes; then
 
-$as_echo "#define HAVE_TM_ZONE 1" >>confdefs.h
+printf "%s\n" "#define HAVE_TM_ZONE 1" >>confdefs.h
 
 else
   ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include <time.h>
@@ -14783,10 +14921,10 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_TZNAME $ac_have_decl
 _ACEOF
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5
-$as_echo_n "checking for tzname... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5
+printf %s "checking for tzname... " >&6; }
 if ${ac_cv_var_tzname+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5
-$as_echo "$ac_cv_var_tzname" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5
+printf "%s\n" "$ac_cv_var_tzname" >&6; }
   if test $ac_cv_var_tzname = yes; then
 
-$as_echo "#define HAVE_TZNAME 1" >>confdefs.h
+printf "%s\n" "#define HAVE_TZNAME 1" >>confdefs.h
 
   fi
 fi
@@ -14825,7 +14963,7 @@ fi
 "
 if test "x$ac_cv_member_struct_tm_tm_gmtoff" = xyes; then :
 
-$as_echo "#define HAVE_TM_GMTOFF 1" >>confdefs.h
+printf "%s\n" "#define HAVE_TM_GMTOFF 1" >>confdefs.h
 
 fi
 
 
 
 
-
-
-
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_string_h='<'string.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <string.h>" >&5
-$as_echo_n "checking absolute name of <string.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <string.h>" >&5
+printf %s "checking absolute name of <string.h>... " >&6; }
 if ${gl_cv_next_string_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -14864,18 +14999,32 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'string.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_string_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/string.h#{
-                    s#.*"\(.*/string.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5
-$as_echo "$gl_cv_next_string_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5
+printf "%s\n" "$gl_cv_next_string_h" >&6; }
      fi
      NEXT_STRING_H=$gl_cv_next_string_h
 
@@ -14894,11 +15043,11 @@ $as_echo "$gl_cv_next_string_h" >&6; }
 
 
     for gl_func in ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul      strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r      strerror_r strsignal strverscmp; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
 if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
 
                      eval ac_cv_have_decl_$gl_func=yes
 
 
 
-  :
-
-
-
-
-
-
-
 
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_strings_h='<'strings.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <strings.h>" >&5
-$as_echo_n "checking absolute name of <strings.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <strings.h>" >&5
+printf %s "checking absolute name of <strings.h>... " >&6; }
 if ${gl_cv_next_strings_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
              if test $ac_cv_header_strings_h = yes; then
@@ -14976,21 +15117,35 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'strings.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_strings_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/strings.h#{
-                    s#.*"\(.*/strings.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
           else
                gl_cv_next_strings_h='<'strings.h'>'
              fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_strings_h" >&5
-$as_echo "$gl_cv_next_strings_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_strings_h" >&5
+printf "%s\n" "$gl_cv_next_strings_h" >&6; }
      fi
      NEXT_STRINGS_H=$gl_cv_next_strings_h
 
@@ -15006,14 +15161,20 @@ $as_echo "$gl_cv_next_strings_h" >&6; }
 
 
 
+  if test $ac_cv_header_strings_h = yes; then
+    HAVE_STRINGS_H=1
+  else
+    HAVE_STRINGS_H=0
+  fi
+
 
 
     for gl_func in ffs strcasecmp strncasecmp; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
 if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
 
                      eval ac_cv_have_decl_$gl_func=yes
@@ -15052,8 +15213,7 @@ fi
       done
 
 
-
-      ac_fn_c_check_decl "$LINENO" "strndup" "ac_cv_have_decl_strndup" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "strndup" "ac_cv_have_decl_strndup" "$ac_includes_default"
 if test "x$ac_cv_have_decl_strndup" = xyes; then :
   ac_have_decl=1
 else
@@ -15066,12 +15226,7 @@ _ACEOF
 
 
 
-
-
-
-
-
-      ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default"
 if test "x$ac_cv_have_decl_strnlen" = xyes; then :
   ac_have_decl=1
 else
@@ -15086,15 +15241,7 @@ _ACEOF
 
 
 
-
-
-
-
-
-
-
-
-      ac_fn_c_check_decl "$LINENO" "strtoumax" "ac_cv_have_decl_strtoumax" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "strtoumax" "ac_cv_have_decl_strtoumax" "$ac_includes_default"
 if test "x$ac_cv_have_decl_strtoumax" = xyes; then :
   ac_have_decl=1
 else
@@ -15106,55 +15253,82 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
-$as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
-if ${ac_cv_header_stat_broken+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/stat.h>
 
-#if defined S_ISBLK && defined S_IFDIR
-extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1];
-#endif
 
-#if defined S_ISBLK && defined S_IFCHR
-extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1];
-#endif
 
-#if defined S_ISLNK && defined S_IFREG
-extern char c3[S_ISLNK (S_IFREG) ? -1 : 1];
-#endif
 
-#if defined S_ISSOCK && defined S_IFREG
-extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1];
-#endif
 
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stat_broken=no
+
+
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_sys_types_h='<'sys/types.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/types.h>" >&5
+printf %s "checking absolute name of <sys/types.h>... " >&6; }
+if ${gl_cv_next_sys_types_h+:} false; then :
+  printf %s "(cached) " >&6
 else
-  ac_cv_header_stat_broken=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5
-$as_echo "$ac_cv_header_stat_broken" >&6; }
-if test $ac_cv_header_stat_broken = yes; then
 
-$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h
+               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
 
-fi
+_ACEOF
+                                                                                                                        case "$host_os" in
+                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
+                 *)    gl_absname_cpp="$ac_cpp" ;;
+               esac
 
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'sys/types.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
+                                                            gl_cv_next_sys_types_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+                      sed -n "$gl_absolute_header_sed"`'"'
 
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5
+printf "%s\n" "$gl_cv_next_sys_types_h" >&6; }
+     fi
+     NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'sys/types.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_sys_types_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive
 
 
 
 
-  GNULIB_WAITPID=0;
 
 
 
 
 
 
-  :
+  GNULIB_WAITPID=0;
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <time.h>" >&5
-$as_echo_n "checking for struct timespec in <time.h>... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <time.h>" >&5
+printf %s "checking for struct timespec in <time.h>... " >&6; }
 if ${gl_cv_sys_struct_timespec_in_time_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -15193,8 +15367,8 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5
-$as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5
+printf "%s\n" "$gl_cv_sys_struct_timespec_in_time_h" >&6; }
 
   TIME_H_DEFINES_STRUCT_TIMESPEC=0
   SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0
@@ -15202,10 +15376,10 @@ $as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; }
   if test $gl_cv_sys_struct_timespec_in_time_h = yes; then
     TIME_H_DEFINES_STRUCT_TIMESPEC=1
   else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <sys/time.h>" >&5
-$as_echo_n "checking for struct timespec in <sys/time.h>... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <sys/time.h>" >&5
+printf %s "checking for struct timespec in <sys/time.h>... " >&6; }
 if ${gl_cv_sys_struct_timespec_in_sys_time_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -15226,15 +15400,15 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5
-$as_echo "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5
+printf "%s\n" "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; }
     if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then
       SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1
     else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <pthread.h>" >&5
-$as_echo_n "checking for struct timespec in <pthread.h>... " >&6; }
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <pthread.h>" >&5
+printf %s "checking for struct timespec in <pthread.h>... " >&6; }
 if ${gl_cv_sys_struct_timespec_in_pthread_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -15255,8 +15429,8 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5
-$as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5
+printf "%s\n" "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; }
       if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then
         PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1
       fi
@@ -15280,10 +15454,10 @@ $as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; }
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_time_h='<'time.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <time.h>" >&5
-$as_echo_n "checking absolute name of <time.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <time.h>" >&5
+printf %s "checking absolute name of <time.h>... " >&6; }
 if ${gl_cv_next_time_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15295,18 +15469,32 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'time.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/time.h#{
-                    s#.*"\(.*/time.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5
-$as_echo "$gl_cv_next_time_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5
+printf "%s\n" "$gl_cv_next_time_h" >&6; }
      fi
      NEXT_TIME_H=$gl_cv_next_time_h
 
@@ -15325,22 +15513,6 @@ $as_echo "$gl_cv_next_time_h" >&6; }
 
 
 
-      ac_fn_c_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" "$ac_includes_default"
-if test "x$ac_cv_have_decl_localtime_r" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_LOCALTIME_R $ac_have_decl
-_ACEOF
-
-
-
-
-
-
 
 
 
     LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"`
   fi
 
-
-      ac_fn_c_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default"
 if test "x$ac_cv_have_decl_clearerr_unlocked" = xyes; then :
   ac_have_decl=1
 else
@@ -15383,9 +15554,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_CLEARERR_UNLOCKED $ac_have_decl
 _ACEOF
 
-
-
-      ac_fn_c_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default"
 if test "x$ac_cv_have_decl_feof_unlocked" = xyes; then :
   ac_have_decl=1
 else
@@ -15396,9 +15565,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_FEOF_UNLOCKED $ac_have_decl
 _ACEOF
 
-
-
-      ac_fn_c_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default"
 if test "x$ac_cv_have_decl_ferror_unlocked" = xyes; then :
   ac_have_decl=1
 else
@@ -15409,9 +15576,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_FERROR_UNLOCKED $ac_have_decl
 _ACEOF
 
-
-
-      ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default"
 if test "x$ac_cv_have_decl_fflush_unlocked" = xyes; then :
   ac_have_decl=1
 else
@@ -15422,9 +15587,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl
 _ACEOF
 
-
-
-      ac_fn_c_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default"
 if test "x$ac_cv_have_decl_fgets_unlocked" = xyes; then :
   ac_have_decl=1
 else
@@ -15435,9 +15598,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_FGETS_UNLOCKED $ac_have_decl
 _ACEOF
 
-
-
-      ac_fn_c_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default"
 if test "x$ac_cv_have_decl_fputc_unlocked" = xyes; then :
   ac_have_decl=1
 else
@@ -15448,9 +15609,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_FPUTC_UNLOCKED $ac_have_decl
 _ACEOF
 
-
-
-      ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default"
 if test "x$ac_cv_have_decl_fputs_unlocked" = xyes; then :
   ac_have_decl=1
 else
@@ -15461,9 +15620,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl
 _ACEOF
 
-
-
-      ac_fn_c_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default"
 if test "x$ac_cv_have_decl_fread_unlocked" = xyes; then :
   ac_have_decl=1
 else
@@ -15474,9 +15631,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_FREAD_UNLOCKED $ac_have_decl
 _ACEOF
 
-
-
-      ac_fn_c_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default"
 if test "x$ac_cv_have_decl_fwrite_unlocked" = xyes; then :
   ac_have_decl=1
 else
@@ -15487,9 +15642,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_FWRITE_UNLOCKED $ac_have_decl
 _ACEOF
 
-
-
-      ac_fn_c_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default"
 if test "x$ac_cv_have_decl_getchar_unlocked" = xyes; then :
   ac_have_decl=1
 else
@@ -15500,9 +15653,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_GETCHAR_UNLOCKED $ac_have_decl
 _ACEOF
 
-
-
-      ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default"
 if test "x$ac_cv_have_decl_putc_unlocked" = xyes; then :
   ac_have_decl=1
 else
@@ -15513,9 +15664,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_PUTC_UNLOCKED $ac_have_decl
 _ACEOF
 
-
-
-      ac_fn_c_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default"
 if test "x$ac_cv_have_decl_putchar_unlocked" = xyes; then :
   ac_have_decl=1
 else
@@ -15532,14 +15681,6 @@ _ACEOF
 
 
 
-
-
-  :
-
-
-
-
-
   if test $ac_cv_header_features_h = yes; then
     HAVE_FEATURES_H=1
   else
@@ -15548,272 +15689,488 @@ _ACEOF
 
 
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5
+printf %s "checking for inttypes.h... " >&6; }
+if ${gl_cv_header_inttypes_h+:} false; then :
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#include <sys/types.h>
+#include <inttypes.h>
 
+int
+main ()
+{
+uintmax_t i = (uintmax_t) -1; return !i;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_inttypes_h=yes
+else
+  gl_cv_header_inttypes_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_inttypes_h" >&5
+printf "%s\n" "$gl_cv_header_inttypes_h" >&6; }
+  if test $gl_cv_header_inttypes_h = yes; then
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_INTTYPES_H_WITH_UINTMAX 1
+_ACEOF
 
+  fi
 
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for stdint.h" >&5
+printf %s "checking for stdint.h... " >&6; }
+if ${gl_cv_header_stdint_h+:} false; then :
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+            #include <stdint.h>
+int
+main ()
+{
+uintmax_t i = (uintmax_t) -1; return !i;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_stdint_h=yes
+else
+  gl_cv_header_stdint_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_h" >&5
+printf "%s\n" "$gl_cv_header_stdint_h" >&6; }
+  if test $gl_cv_header_stdint_h = yes; then
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STDINT_H_WITH_UINTMAX 1
+_ACEOF
 
+  fi
 
 
 
 
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5
-$as_echo_n "checking if environ is properly declared... " >&6; }
-  if ${gt_cv_var_environ_declaration+:} false; then :
-  $as_echo_n "(cached) " >&6
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for intmax_t" >&5
+printf %s "checking for intmax_t... " >&6; }
+if ${gt_cv_c_intmax_t+:} false; then :
+  printf %s "(cached) " >&6
 else
-
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <unistd.h>
-           extern struct { int foo; } environ;
+
+#include <stddef.h>
+#include <stdlib.h>
+#if HAVE_STDINT_H_WITH_UINTMAX
+#include <stdint.h>
+#endif
+#if HAVE_INTTYPES_H_WITH_UINTMAX
+#include <inttypes.h>
+#endif
+
 int
 main ()
 {
-environ.foo = 1;
+intmax_t x = -1; return !x;
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_var_environ_declaration=no
+  gt_cv_c_intmax_t=yes
 else
-  gt_cv_var_environ_declaration=yes
+  gt_cv_c_intmax_t=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_intmax_t" >&5
+printf "%s\n" "$gt_cv_c_intmax_t" >&6; }
+  if test $gt_cv_c_intmax_t = yes; then
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5
-$as_echo "$gt_cv_var_environ_declaration" >&6; }
-  if test $gt_cv_var_environ_declaration = yes; then
+printf "%s\n" "#define HAVE_INTMAX_T 1" >>confdefs.h
 
-$as_echo "#define HAVE_ENVIRON_DECL 1" >>confdefs.h
+  else
 
-  fi
+    test $ac_cv_type_long_long_int = yes \
+      && ac_type='long long' \
+      || ac_type='long'
 
+cat >>confdefs.h <<_ACEOF
+#define intmax_t $ac_type
+_ACEOF
 
-  if test $gt_cv_var_environ_declaration != yes; then
-    HAVE_DECL_ENVIRON=0
   fi
 
 
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd (NULL, 0) allocates memory for result" >&5
-$as_echo_n "checking whether getcwd (NULL, 0) allocates memory for result... " >&6; }
-if ${gl_cv_func_getcwd_null+:} false; then :
-  $as_echo_n "(cached) " >&6
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'double'" >&5
+printf %s "checking where to find the exponent in a 'double'... " >&6; }
+if ${gl_cv_cc_double_expbit0+:} false; then :
+  printf %s "(cached) " >&6
 else
-  if test "$cross_compiling" = yes; then :
 
-       case "$host_os" in
-                               # Guess yes on glibc systems.
-         *-gnu*)               gl_cv_func_getcwd_null="guessing yes";;
-                               # Guess yes on Cygwin.
-         cygwin*)              gl_cv_func_getcwd_null="guessing yes";;
-                               # If we don't know, assume the worst.
-         *)                    gl_cv_func_getcwd_null="guessing no";;
-       esac
+      if test "$cross_compiling" = yes; then :
+
+                                                                      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#if defined arm || defined __arm || defined __arm__
+  mixed_endianness
+#endif
 
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "mixed_endianness" >/dev/null 2>&1; then :
+  gl_cv_cc_double_expbit0="unknown"
 else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+                                                         :
+if ${ac_cv_c_bigendian+:} false; then :
+  printf %s "(cached) " >&6
+else
+  ac_cv_c_bigendian=unknown
+    # See if we're dealing with a universal compiler.
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#ifndef __APPLE_CC__
+              not a universal capable compiler
+            #endif
+            typedef int dummy;
 
-#        include <unistd.h>
-#        ifndef getcwd
-         char *getcwd ();
-#        endif
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+       # Check for potential -arch flags.  It is not universal unless
+       # there are at least two -arch flags with different values.
+       ac_arch=
+       ac_prev=
+       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+        if test -n "$ac_prev"; then
+          case $ac_word in
+            i?86 | x86_64 | ppc | ppc64)
+              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+                ac_arch=$ac_word
+              else
+                ac_cv_c_bigendian=universal
+                break
+              fi
+              ;;
+          esac
+          ac_prev=
+        elif test "x$ac_word" = "x-arch"; then
+          ac_prev=arch
+        fi
+       done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if sys/param.h defines the BYTE_ORDER macro.
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+            #include <sys/param.h>
 
 int
 main ()
 {
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+                    && LITTLE_ENDIAN)
+             bogus endian macros
+            #endif
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* mingw cwd does not start with '/', but getcwd does allocate.
-   However, mingw fails to honor non-zero size.  */
-#else
-           if (chdir ("/") != 0)
-             return 1;
-           else
-             {
-               char *f = getcwd (NULL, 0);
-               if (! f)
-                 return 2;
-               if (f[0] != '/')
-                 return 3;
-               if (f[1] != '\0')
-                 return 4;
-               return 0;
-             }
-#endif
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to BIG_ENDIAN or not.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+               #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+                not big endian
+               #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
+else
+  ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+             bogus endian macros
+            #endif
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_getcwd_null=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to _BIG_ENDIAN or not.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+                not big endian
+               #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
 else
-  gl_cv_func_getcwd_null=no
+  ac_cv_c_bigendian=no
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # Compile a test program.
+      if test "$cross_compiling" = yes; then :
+  # Try to guess by grepping values from an object file.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+short int ascii_mm[] =
+                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+               short int ascii_ii[] =
+                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+               int use_ascii (int i) {
+                 return ascii_mm[i] + ascii_ii[i];
+               }
+               short int ebcdic_ii[] =
+                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+               short int ebcdic_mm[] =
+                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+               int use_ebcdic (int i) {
+                 return ebcdic_mm[i] + ebcdic_ii[i];
+               }
+               extern int foo;
 
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+             ac_cv_c_bigendian=yes
+           fi
+           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+             if test "$ac_cv_c_bigendian" = unknown; then
+               ac_cv_c_bigendian=no
+             else
+               # finding both strings is unlikely to happen, but who knows?
+               ac_cv_c_bigendian=unknown
+             fi
+           fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_null" >&5
-$as_echo "$gl_cv_func_getcwd_null" >&6; }
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getcwd with POSIX signature" >&5
-$as_echo_n "checking for getcwd with POSIX signature... " >&6; }
-if ${gl_cv_func_getcwd_posix_signature+:} false; then :
-  $as_echo_n "(cached) " >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <unistd.h>
+$ac_includes_default
 int
 main ()
 {
-extern
-           #ifdef __cplusplus
-           "C"
-           #endif
-           char *getcwd (char *, size_t);
+
+            /* Are we little or big endian?  From Harbison&Steele.  */
+            union
+            {
+              long int l;
+              char c[sizeof (long int)];
+            } u;
+            u.l = 1;
+            return u.c[sizeof (long int) - 1] == 1;
 
   ;
   return 0;
 }
-
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_func_getcwd_posix_signature=yes
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_c_bigendian=no
 else
-  gl_cv_func_getcwd_posix_signature=no
+  ac_cv_c_bigendian=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_posix_signature" >&5
-$as_echo "$gl_cv_func_getcwd_posix_signature" >&6; }
-
-
-  GNULIB_SETLOCALE=0;
-  GNULIB_DUPLOCALE=0;
-    HAVE_DUPLOCALE=1;
-  REPLACE_SETLOCALE=0;
-  REPLACE_DUPLOCALE=0;
-
-
-
-
-
-
-
 
-
-
-
-
-      ac_fn_c_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default"
-if test "x$ac_cv_have_decl_setenv" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
+    fi
 fi
+:
+ case $ac_cv_c_bigendian in #(
+   yes)
+     gl_cv_cc_double_expbit0="word 0 bit 20";; #(
+   no)
+     gl_cv_cc_double_expbit0="word 1 bit 20" ;; #(
+   universal)
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SETENV $ac_have_decl
-_ACEOF
-
-
-
-
-
-
-
-
-
-
-  :
-
-
-
-
-
-  if test $ac_cv_have_decl_setenv = no; then
-    HAVE_DECL_SETENV=0
-  fi
-
-  :
-
-
-
-
-
-
-
+printf "%s\n" "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
 
+     ;; #(
+   *)
+     gl_cv_cc_double_expbit0="unknown" ;;
+ esac
 
-  :
 
+fi
+rm -rf conftest*
 
 
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+  ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { double value; unsigned int word[NWORDS]; } memory_double;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (double x)
+{
+  memory_double m;
+  size_t i;
+  /* Clear it first, in case sizeof (double) < sizeof (memory_double).  */
+  memset (&m, 0, sizeof (memory_double));
+  m.value = x;
+  for (i = 0; i < NWORDS; i++)
+    {
+      ored_words[i] |= m.word[i];
+      anded_words[i] &= m.word[i];
+    }
+}
+int main ()
+{
+  size_t j;
+  FILE *fp = fopen ("conftest.out", "w");
+  if (fp == NULL)
+    return 1;
+  for (j = 0; j < NWORDS; j++)
+    anded_words[j] = ~ (unsigned int) 0;
+  add_to_ored_words (0.25);
+  add_to_ored_words (0.5);
+  add_to_ored_words (1.0);
+  add_to_ored_words (2.0);
+  add_to_ored_words (4.0);
+  /* Remove bits that are common (e.g. if representation of the first mantissa
+     bit is explicit).  */
+  for (j = 0; j < NWORDS; j++)
+    ored_words[j] &= ~anded_words[j];
+  /* Now find the nonzero word.  */
+  for (j = 0; j < NWORDS; j++)
+    if (ored_words[j] != 0)
+      break;
+  if (j < NWORDS)
+    {
+      size_t i;
+      for (i = j + 1; i < NWORDS; i++)
+        if (ored_words[i] != 0)
+          {
+            fprintf (fp, "unknown");
+            return (fclose (fp) != 0);
+          }
+      for (i = 0; ; i++)
+        if ((ored_words[j] >> i) & 1)
+          {
+            fprintf (fp, "word %d bit %d", (int) j, (int) i);
+            return (fclose (fp) != 0);
+          }
+    }
+  fprintf (fp, "unknown");
+  return (fclose (fp) != 0);
+}
 
-  for ac_header in search.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default"
-if test "x$ac_cv_header_search_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SEARCH_H 1
 _ACEOF
-
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_cc_double_expbit0=`cat conftest.out`
+else
+  gl_cv_cc_double_expbit0="unknown"
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-done
-
-  for ac_func in tsearch
-do :
-  ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch"
-if test "x$ac_cv_func_tsearch" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_TSEARCH 1
-_ACEOF
+      rm -f conftest.out
 
 fi
-done
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_expbit0" >&5
+printf "%s\n" "$gl_cv_cc_double_expbit0" >&6; }
+  case "$gl_cv_cc_double_expbit0" in
+    word*bit*)
+      word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+      bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'`
 
+cat >>confdefs.h <<_ACEOF
+#define DBL_EXPBIT0_WORD $word
+_ACEOF
 
 
+cat >>confdefs.h <<_ACEOF
+#define DBL_EXPBIT0_BIT $bit
+_ACEOF
 
+      ;;
+  esac
 
 
 
 
-      ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default"
-if test "x$ac_cv_have_decl_alarm" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_ALARM $ac_have_decl
-_ACEOF
 
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf returns a byte count as in C99" >&5
-$as_echo_n "checking whether snprintf returns a byte count as in C99... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether snprintf returns a byte count as in C99" >&5
+printf %s "checking whether snprintf returns a byte count as in C99... " >&6; }
 if ${gl_cv_func_snprintf_retval_c99+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
       if test "$cross_compiling" = yes; then :
@@ -15824,7 +16181,7 @@ else
                                  # Guess yes on FreeBSD >= 5.
            freebsd[1-4]*)        gl_cv_func_snprintf_retval_c99="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";;
-                                 # Guess yes on MacOS X >= 10.3.
+                                 # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_snprintf_retval_c99="guessing no";;
            darwin*)              gl_cv_func_snprintf_retval_c99="guessing yes";;
                                  # Guess yes on OpenBSD >= 3.9.
@@ -15853,15 +16210,29 @@ else
 
 #include <stdio.h>
 #include <string.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+static int my_snprintf (char *buf, int size, const char *format, ...)
+{
+  va_list args;
+  int ret;
+  va_start (args, format);
+  ret = vsnprintf (buf, size, format, args);
+  va_end (args);
+  return ret;
+}
+#endif
 static char buf[100];
 int main ()
 {
   strcpy (buf, "ABCDEF");
-  if (snprintf (buf, 3, "%d %d", 4567, 89) != 7)
+  if (my_snprintf (buf, 3, "%d %d", 4567, 89) != 7)
     return 1;
-  if (snprintf (buf, 0, "%d %d", 4567, 89) != 7)
+  if (my_snprintf (buf, 0, "%d %d", 4567, 89) != 7)
     return 2;
-  if (snprintf (NULL, 0, "%d %d", 4567, 89) != 7)
+  if (my_snprintf (NULL, 0, "%d %d", 4567, 89) != 7)
     return 3;
   return 0;
 }
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_retval_c99" >&5
-$as_echo "$gl_cv_func_snprintf_retval_c99" >&6; }
-
-
-      ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default"
-if test "x$ac_cv_have_decl_snprintf" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SNPRINTF $ac_have_decl
-_ACEOF
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_retval_c99" >&5
+printf "%s\n" "$gl_cv_func_snprintf_retval_c99" >&6; }
 
 
 
 
 
 
+  for ac_func in snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb
+do :
+  as_ac_var=`printf "%s\n" "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `printf "%s\n" "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
 
+fi
+done
 
-      ac_fn_c_check_decl "$LINENO" "unsetenv" "ac_cv_have_decl_unsetenv" "$ac_includes_default"
-if test "x$ac_cv_have_decl_unsetenv" = xyes; then :
+      ac_fn_c_check_decl "$LINENO" "_snprintf" "ac_cv_have_decl__snprintf" "#include <stdio.h>
+"
+if test "x$ac_cv_have_decl__snprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
 fi
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_UNSETENV $ac_have_decl
+#define HAVE_DECL__SNPRINTF $ac_have_decl
 _ACEOF
 
 
 
+  case "$gl_cv_func_snprintf_retval_c99" in
+    *yes)
+
+printf "%s\n" "#define HAVE_SNPRINTF_RETVAL_C99 1" >>confdefs.h
+
+      ;;
+  esac
+
+
 
 
 
@@ -15922,167 +16301,228 @@ _ACEOF
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5
-$as_echo_n "checking for inttypes.h... " >&6; }
-if ${gl_cv_header_inttypes_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5
+printf %s "checking if environ is properly declared... " >&6; }
+  if ${gt_cv_var_environ_declaration+:} false; then :
+  printf %s "(cached) " >&6
 else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sys/types.h>
-#include <inttypes.h>
+#if HAVE_UNISTD_H
+     #include <unistd.h>
+     #endif
+     /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>.  */
+     #include <stdlib.h>
+
+           extern struct { int foo; } environ;
 int
 main ()
 {
-uintmax_t i = (uintmax_t) -1; return !i;
+environ.foo = 1;
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_header_inttypes_h=yes
+  gt_cv_var_environ_declaration=no
 else
-  gl_cv_header_inttypes_h=no
+  gt_cv_var_environ_declaration=yes
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_inttypes_h" >&5
-$as_echo "$gl_cv_header_inttypes_h" >&6; }
-  if test $gl_cv_header_inttypes_h = yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_INTTYPES_H_WITH_UINTMAX 1
-_ACEOF
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5
+printf "%s\n" "$gt_cv_var_environ_declaration" >&6; }
+  if test $gt_cv_var_environ_declaration = yes; then
+
+printf "%s\n" "#define HAVE_ENVIRON_DECL 1" >>confdefs.h
+
+  fi
+
 
+  if test $gt_cv_var_environ_declaration != yes; then
+    HAVE_DECL_ENVIRON=0
   fi
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint.h" >&5
-$as_echo_n "checking for stdint.h... " >&6; }
-if ${gl_cv_header_stdint_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <stdint.h>
+
+   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether getcwd (NULL, 0) allocates memory for result" >&5
+printf %s "checking whether getcwd (NULL, 0) allocates memory for result... " >&6; }
+if ${gl_cv_func_getcwd_null+:} false; then :
+  printf %s "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+                     # Guess yes on glibc systems.
+            *-gnu*)  gl_cv_func_getcwd_null="guessing yes";;
+                     # Guess yes on Cygwin.
+            cygwin*) gl_cv_func_getcwd_null="guessing yes";;
+                     # If we don't know, assume the worst.
+            *)       gl_cv_func_getcwd_null="guessing no";;
+          esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#        if HAVE_UNISTD_H
+#         include <unistd.h>
+#        else /* on Windows with MSVC */
+#         include <direct.h>
+#        endif
+#        ifndef getcwd
+         char *getcwd ();
+#        endif
+
 int
 main ()
 {
-uintmax_t i = (uintmax_t) -1; return !i;
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* mingw cwd does not start with '/', but getcwd does allocate.
+   However, mingw fails to honor non-zero size.  */
+#else
+           if (chdir ("/") != 0)
+             return 1;
+           else
+             {
+               char *f = getcwd (NULL, 0);
+               if (! f)
+                 return 2;
+               if (f[0] != '/')
+                 return 3;
+               if (f[1] != '\0')
+                 return 4;
+               return 0;
+             }
+#endif
+
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_header_stdint_h=yes
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_getcwd_null=yes
 else
-  gl_cv_header_stdint_h=no
+  gl_cv_func_getcwd_null=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_h" >&5
-$as_echo "$gl_cv_header_stdint_h" >&6; }
-  if test $gl_cv_header_stdint_h = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STDINT_H_WITH_UINTMAX 1
-_ACEOF
-
-  fi
-
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_null" >&5
+printf "%s\n" "$gl_cv_func_getcwd_null" >&6; }
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intmax_t" >&5
-$as_echo_n "checking for intmax_t... " >&6; }
-if ${gt_cv_c_intmax_t+:} false; then :
-  $as_echo_n "(cached) " >&6
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getcwd with POSIX signature" >&5
+printf %s "checking for getcwd with POSIX signature... " >&6; }
+if ${gl_cv_func_getcwd_posix_signature+:} false; then :
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-#include <stddef.h>
-#include <stdlib.h>
-#if HAVE_STDINT_H_WITH_UINTMAX
-#include <stdint.h>
-#endif
-#if HAVE_INTTYPES_H_WITH_UINTMAX
-#include <inttypes.h>
-#endif
-
+#include <unistd.h>
 int
 main ()
 {
-intmax_t x = -1; return !x;
+extern
+           #ifdef __cplusplus
+           "C"
+           #endif
+           char *getcwd (char *, size_t);
+
   ;
   return 0;
 }
+
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_c_intmax_t=yes
+  gl_cv_func_getcwd_posix_signature=yes
 else
-  gt_cv_c_intmax_t=no
+  gl_cv_func_getcwd_posix_signature=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_intmax_t" >&5
-$as_echo "$gt_cv_c_intmax_t" >&6; }
-  if test $gt_cv_c_intmax_t = yes; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_posix_signature" >&5
+printf "%s\n" "$gl_cv_func_getcwd_posix_signature" >&6; }
 
-$as_echo "#define HAVE_INTMAX_T 1" >>confdefs.h
 
-  else
 
-    test $ac_cv_type_long_long_int = yes \
-      && ac_type='long long' \
-      || ac_type='long'
+ac_fn_c_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default"
+if test "x$ac_cv_have_decl_setenv" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
 cat >>confdefs.h <<_ACEOF
-#define intmax_t $ac_type
+#define HAVE_DECL_SETENV $ac_have_decl
 _ACEOF
 
+
+
+
+
+
+  if test $ac_cv_have_decl_setenv = no; then
+    HAVE_DECL_SETENV=0
   fi
 
 
 
 
 
+  for ac_header in search.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default"
+if test "x$ac_cv_header_search_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SEARCH_H 1
+_ACEOF
+
+fi
 
+done
 
-  for ac_func in snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb
+  for ac_func in tsearch
 do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+  ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch"
+if test "x$ac_cv_func_tsearch" = xyes; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define HAVE_TSEARCH 1
 _ACEOF
 
 fi
 done
 
-      ac_fn_c_check_decl "$LINENO" "_snprintf" "ac_cv_have_decl__snprintf" "#include <stdio.h>
-"
-if test "x$ac_cv_have_decl__snprintf" = xyes; then :
+
+
+
+
+ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default"
+if test "x$ac_cv_have_decl_snprintf" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
 fi
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL__SNPRINTF $ac_have_decl
+#define HAVE_DECL_SNPRINTF $ac_have_decl
 _ACEOF
 
+ac_fn_c_check_decl "$LINENO" "unsetenv" "ac_cv_have_decl_unsetenv" "$ac_includes_default"
+if test "x$ac_cv_have_decl_unsetenv" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
-  case "$gl_cv_func_snprintf_retval_c99" in
-    *yes)
-
-$as_echo "#define HAVE_SNPRINTF_RETVAL_C99 1" >>confdefs.h
-
-      ;;
-  esac
-
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_UNSETENV $ac_have_decl
+_ACEOF
 
 
 
 
   # Define an additional variable used in the Makefile substitution.
   if test $ac_cv_working_alloca_h = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5
-$as_echo_n "checking for alloca as a compiler built-in... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5
+printf %s "checking for alloca as a compiler built-in... " >&6; }
 if ${gl_cv_rpl_alloca+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -16139,15 +16579,15 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 else
   gl_cv_rpl_alloca=no
 fi
-rm -f conftest*
+rm -rf conftest*
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5
-$as_echo "$gl_cv_rpl_alloca" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5
+printf "%s\n" "$gl_cv_rpl_alloca" >&6; }
     if test $gl_cv_rpl_alloca = yes; then
 
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
+printf "%s\n" "#define HAVE_ALLOCA 1" >>confdefs.h
 
       ALLOCA_H=alloca.h
     else
 
 
 
-
-  :
-
-
-
-
-
   if test $ac_cv_func_btowc = no; then
     HAVE_BTOWC=0
   else
 
 
 
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether btowc(0) is correct" >&5
-$as_echo_n "checking whether btowc(0) is correct... " >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether btowc(0) is correct" >&5
+printf %s "checking whether btowc(0) is correct... " >&6; }
 if ${gl_cv_func_btowc_nul+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
         if test "$cross_compiling" = yes; then :
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_nul" >&5
-$as_echo "$gl_cv_func_btowc_nul" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_nul" >&5
+printf "%s\n" "$gl_cv_func_btowc_nul" >&6; }
 
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether btowc(EOF) is correct" >&5
-$as_echo_n "checking whether btowc(EOF) is correct... " >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether btowc(EOF) is correct" >&5
+printf %s "checking whether btowc(EOF) is correct... " >&6; }
 if ${gl_cv_func_btowc_eof+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                         case "$host_os" in
@@ -16286,8 +16719,8 @@ fi
         fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_eof" >&5
-$as_echo "$gl_cv_func_btowc_eof" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_eof" >&5
+printf "%s\n" "$gl_cv_func_btowc_eof" >&6; }
 
     case "$gl_cv_func_btowc_nul" in
       *yes) ;;
@@ -16299,7 +16732,7 @@ $as_echo "$gl_cv_func_btowc_eof" >&6; }
     esac
   fi
 
-if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then
+  if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then
 
 
 
@@ -16313,7 +16746,7 @@ if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then
 
   :
 
-fi
+  fi
 
 
 
@@ -16325,7 +16758,7 @@ fi
 
 
 
-$as_echo "#define GNULIB_TEST_BTOWC 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_BTOWC 1" >>confdefs.h
 
 
 
@@ -16337,12 +16770,6 @@ $as_echo "#define GNULIB_TEST_BTOWC 1" >>confdefs.h
 
 
 
-  :
-
-
-
-
-
    ac_fn_c_check_decl "$LINENO" "sigaltstack" "ac_cv_have_decl_sigaltstack" "#include <signal.h>
 "
 if test "x$ac_cv_have_decl_sigaltstack" = xyes; then :
@@ -16357,15 +16784,6 @@ _ACEOF
 
 
 
-  :
-
-
-
-
-
-
-
-
 
    ac_fn_c_check_type "$LINENO" "stack_t" "ac_cv_type_stack_t" "#include <signal.h>
 "
@@ -16391,6 +16809,7 @@ fi
 
 
 
+
   # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
   # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
 
   LIB_CLOCK_GETTIME=
 
   gl_saved_libs=$LIBS
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
-$as_echo_n "checking for library containing clock_gettime... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
+printf %s "checking for library containing clock_gettime... " >&6; }
 if ${ac_cv_search_clock_gettime+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -16448,8 +16867,8 @@ fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
-$as_echo "$ac_cv_search_clock_gettime" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
+printf "%s\n" "$ac_cv_search_clock_gettime" >&6; }
 ac_res=$ac_cv_search_clock_gettime
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
     for ac_func in clock_gettime clock_settime
 do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+  as_ac_var=`printf "%s\n" "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
 if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
 
 fi
@@ -16473,6 +16892,73 @@ done
 
 
 
+
+  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+    REPLACE_CLOSE=1
+  fi
+
+
+
+
+
+  if test $ac_cv_header_sys_socket_h != yes; then
+                    for ac_header in winsock2.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
+if test "x$ac_cv_header_winsock2_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINSOCK2_H 1
+_ACEOF
+
+fi
+
+done
+
+  fi
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    HAVE_WINSOCK2_H=1
+    UNISTD_H_HAVE_WINSOCK2_H=1
+    SYS_IOCTL_H_HAVE_WINSOCK2_H=1
+  else
+    HAVE_WINSOCK2_H=0
+  fi
+
+
+    if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
+                        REPLACE_CLOSE=1
+    fi
+
+
+
+  if test $REPLACE_CLOSE = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS close.$ac_objext"
+
+  fi
+
+
+
+
+
+          GNULIB_CLOSE=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_CLOSE 1" >>confdefs.h
+
+
+
+
+
           if test "x$datarootdir" = x; then
     datarootdir='${datadir}'
 
@@ -16525,10 +17011,10 @@ _ACEOF
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5
-$as_echo_n "checking whether // is distinct from /... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5
+printf %s "checking whether // is distinct from /... " >&6; }
 if ${gl_cv_double_slash_root+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
    if test x"$cross_compiling" = xyes ; then
         # When cross-compiling, there is no way to tell whether // is special
@@ -16554,11 +17040,11 @@ else
         fi
       fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5
-$as_echo "$gl_cv_double_slash_root" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5
+printf "%s\n" "$gl_cv_double_slash_root" >&6; }
   if test "$gl_cv_double_slash_root" = yes; then
 
-$as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
+printf "%s\n" "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
 
   fi
 
@@ -16567,29 +17053,29 @@ $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
 
 
 
-$as_echo "#define HAVE_DUP2 1" >>confdefs.h
+printf "%s\n" "#define HAVE_DUP2 1" >>confdefs.h
 
 
   if test $HAVE_DUP2 = 1; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dup2 works" >&5
-$as_echo_n "checking whether dup2 works... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether dup2 works" >&5
+printf %s "checking whether dup2 works... " >&6; }
 if ${gl_cv_func_dup2_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
            mingw*) # on this platform, dup2 always returns 0 for success
-             gl_cv_func_dup2_works=no;;
+             gl_cv_func_dup2_works="guessing no" ;;
            cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
-             gl_cv_func_dup2_works=no;;
+             gl_cv_func_dup2_works="guessing no" ;;
            linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a
                    # closed fd may yield -EBADF instead of -1 / errno=EBADF.
-             gl_cv_func_dup2_works=no;;
+             gl_cv_func_dup2_works="guessing no" ;;
            freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF.
-             gl_cv_func_dup2_works=no;;
+             gl_cv_func_dup2_works="guessing no" ;;
            haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC.
-             gl_cv_func_dup2_works=no;;
-           *) gl_cv_func_dup2_works=yes;;
+             gl_cv_func_dup2_works="guessing no" ;;
+           *) gl_cv_func_dup2_works="guessing yes" ;;
          esac
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -16618,6 +17104,9 @@ int result = 0;
             /* Many gnulib modules require POSIX conformance of EBADF.  */
             if (dup2 (2, 1000000) == -1 && errno != EBADF)
               result |= 16;
+            /* Flush out a cygwin core dump.  */
+            if (dup2 (2, -1) != -1 || errno != EBADF)
+              result |= 32;
             return result;
 
   ;
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dup2_works" >&5
-$as_echo "$gl_cv_func_dup2_works" >&6; }
-    if test "$gl_cv_func_dup2_works" = no; then
-      REPLACE_DUP2=1
-    fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dup2_works" >&5
+printf "%s\n" "$gl_cv_func_dup2_works" >&6; }
+    case "$gl_cv_func_dup2_works" in
+      *yes) ;;
+      *)
+        REPLACE_DUP2=1
+        ;;
+    esac
   fi
 
 
-if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then
+  if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then
 
 
 
@@ -16655,7 +17147,8 @@ if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then
 
   gl_LIBOBJS="$gl_LIBOBJS dup2.$ac_objext"
 
-fi
+
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_DUP2 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_DUP2 1" >>confdefs.h
 
 
 
 
 
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
-$as_echo_n "checking for error_at_line... " >&6; }
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
+printf %s "checking for error_at_line... " >&6; }
 if ${ac_cv_lib_error_at_line+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
-$as_echo "$ac_cv_lib_error_at_line" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
+printf "%s\n" "$ac_cv_lib_error_at_line" >&6; }
 
-if test $ac_cv_lib_error_at_line = no; then
+  if test $ac_cv_lib_error_at_line = no; then
 
 
 
@@ -16713,10 +17206,9 @@ if test $ac_cv_lib_error_at_line = no; then
 
 
 
-
   :
 
-fi
+  fi
 
 
   XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format"
 
 
 
-  :
-
-
-
-
 
   if test $ac_cv_func_fcntl = no; then
 
 
 
-  :
-
-
-
-
-
   if test $ac_cv_func_fcntl = no; then
     HAVE_FCNTL=0
   else
   fi
 
   else
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fcntl handles F_DUPFD correctly" >&5
-$as_echo_n "checking whether fcntl handles F_DUPFD correctly... " >&6; }
+            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether fcntl handles F_DUPFD correctly" >&5
+printf %s "checking whether fcntl handles F_DUPFD correctly... " >&6; }
 if ${gl_cv_func_fcntl_f_dupfd_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
   # Guess that it works on glibc systems
@@ -16793,19 +17274,13 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_works" >&5
-$as_echo "$gl_cv_func_fcntl_f_dupfd_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_works" >&5
+printf "%s\n" "$gl_cv_func_fcntl_f_dupfd_works" >&6; }
     case $gl_cv_func_fcntl_f_dupfd_works in
       *yes) ;;
       *)
 
 
-  :
-
-
-
-
-
   if test $ac_cv_func_fcntl = no; then
     HAVE_FCNTL=0
   else
@@ -16813,14 +17288,14 @@ $as_echo "$gl_cv_func_fcntl_f_dupfd_works" >&6; }
   fi
 
 
-$as_echo "#define FCNTL_DUPFD_BUGGY 1" >>confdefs.h
+printf "%s\n" "#define FCNTL_DUPFD_BUGGY 1" >>confdefs.h
  ;;
     esac
 
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fcntl understands F_DUPFD_CLOEXEC" >&5
-$as_echo_n "checking whether fcntl understands F_DUPFD_CLOEXEC... " >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether fcntl understands F_DUPFD_CLOEXEC" >&5
+printf %s "checking whether fcntl understands F_DUPFD_CLOEXEC... " >&6; }
 if ${gl_cv_func_fcntl_f_dupfd_cloexec+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
   gl_cv_func_fcntl_f_dupfd_cloexec=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_cloexec" >&5
-$as_echo "$gl_cv_func_fcntl_f_dupfd_cloexec" >&6; }
-    if test "$gl_cv_func_fcntl_f_dupfd_cloexec" != yes; then
-
-
-
-  :
-
-
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_cloexec" >&5
+printf "%s\n" "$gl_cv_func_fcntl_f_dupfd_cloexec" >&6; }
+    if test "$gl_cv_func_fcntl_f_dupfd_cloexec" != yes; then
 
 
 
@@ -16889,7 +17358,7 @@ $as_echo "$gl_cv_func_fcntl_f_dupfd_cloexec" >&6; }
   fi
 
 
-if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
+  if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
 
 
 
@@ -16900,7 +17369,7 @@ if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
 
   gl_LIBOBJS="$gl_LIBOBJS fcntl.$ac_objext"
 
-fi
+  fi
 
 
 
@@ -16912,7 +17381,7 @@ fi
 
 
 
-$as_echo "#define GNULIB_TEST_FCNTL 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_FCNTL 1" >>confdefs.h
 
 
 
@@ -16930,10 +17399,10 @@ $as_echo "#define GNULIB_TEST_FCNTL 1" >>confdefs.h
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_fcntl_h='<'fcntl.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <fcntl.h>" >&5
-$as_echo_n "checking absolute name of <fcntl.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <fcntl.h>" >&5
+printf %s "checking absolute name of <fcntl.h>... " >&6; }
 if ${gl_cv_next_fcntl_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -16945,18 +17414,32 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'fcntl.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_fcntl_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/fcntl.h#{
-                    s#.*"\(.*/fcntl.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5
-$as_echo "$gl_cv_next_fcntl_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5
+printf "%s\n" "$gl_cv_next_fcntl_h" >&6; }
      fi
      NEXT_FCNTL_H=$gl_cv_next_fcntl_h
 
@@ -16974,12 +17457,16 @@ $as_echo "$gl_cv_next_fcntl_h" >&6; }
 
 
 
+
+
+
+
     for gl_func in fcntl openat; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
 if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
 
                      eval ac_cv_have_decl_$gl_func=yes
@@ -17026,7 +17513,212 @@ _ACEOF
 
 
 
-  :
+
+
+
+
+  FLOAT_H=
+  REPLACE_FLOAT_LDBL=0
+  case "$host_os" in
+    aix* | beos* | openbsd* | mirbsd* | irix*)
+      FLOAT_H=float.h
+      ;;
+    freebsd*)
+      case "$host_cpu" in
+        i[34567]86 )
+          FLOAT_H=float.h
+          ;;
+        x86_64 )
+          # On x86_64 systems, the C compiler may still be generating
+          # 32-bit code.
+          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __LP64__ || defined __x86_64__ || defined __amd64__
+             yes
+             #endif
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1; then :
+
+else
+  FLOAT_H=float.h
+fi
+rm -rf conftest*
+
+          ;;
+      esac
+      ;;
+    linux*)
+      case "$host_cpu" in
+        powerpc*)
+          FLOAT_H=float.h
+          ;;
+      esac
+      ;;
+  esac
+  case "$host_os" in
+    aix* | freebsd* | linux*)
+      if test -n "$FLOAT_H"; then
+        REPLACE_FLOAT_LDBL=1
+      fi
+      ;;
+  esac
+
+    REPLACE_ITOLD=0
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether conversion from 'int' to 'long double' works" >&5
+printf %s "checking whether conversion from 'int' to 'long double' works... " >&6; }
+if ${gl_cv_func_itold_works+:} false; then :
+  printf %s "(cached) " >&6
+else
+
+      if test "$cross_compiling" = yes; then :
+  case "$host" in
+           sparc*-*-linux*)
+             cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __LP64__ || defined __arch64__
+                yes
+                #endif
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1; then :
+  gl_cv_func_itold_works="guessing no"
+else
+  gl_cv_func_itold_works="guessing yes"
+fi
+rm -rf conftest*
+
+             ;;
+           *) gl_cv_func_itold_works="guessing yes" ;;
+         esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int i = -1;
+volatile long double ld;
+int main ()
+{
+  ld += i * 1.0L;
+  if (ld > 0)
+    return 1;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_itold_works=yes
+else
+  gl_cv_func_itold_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_itold_works" >&5
+printf "%s\n" "$gl_cv_func_itold_works" >&6; }
+  case "$gl_cv_func_itold_works" in
+    *no)
+      REPLACE_ITOLD=1
+                  FLOAT_H=float.h
+      ;;
+  esac
+
+  if test -n "$FLOAT_H"; then
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_float_h='<'float.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <float.h>" >&5
+printf %s "checking absolute name of <float.h>... " >&6; }
+if ${gl_cv_next_float_h+:} false; then :
+  printf %s "(cached) " >&6
+else
+
+               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <float.h>
+
+_ACEOF
+                                                                                                                        case "$host_os" in
+                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
+                 *)    gl_absname_cpp="$ac_cpp" ;;
+               esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'float.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
+                                                            gl_cv_next_float_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+                      sed -n "$gl_absolute_header_sed"`'"'
+
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_float_h" >&5
+printf "%s\n" "$gl_cv_next_float_h" >&6; }
+     fi
+     NEXT_FLOAT_H=$gl_cv_next_float_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'float.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_float_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_FLOAT_H=$gl_next_as_first_directive
+
+
+
+
+  fi
+
+   if test -n "$FLOAT_H"; then
+  GL_GENERATE_FLOAT_H_TRUE=
+  GL_GENERATE_FLOAT_H_FALSE='#'
+else
+  GL_GENERATE_FLOAT_H_TRUE='#'
+  GL_GENERATE_FLOAT_H_FALSE=
+fi
+
+
+
+  if test $REPLACE_FLOAT_LDBL = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS float.$ac_objext"
+
+  fi
+  if test $REPLACE_ITOLD = 1; then
 
 
 
@@ -17035,18 +17727,23 @@ _ACEOF
 
 
 
+  gl_LIBOBJS="$gl_LIBOBJS itold.$ac_objext"
+
+  fi
+
+
 
 
 
   FNMATCH_H=
   gl_fnmatch_required_lowercase=`
-    echo $gl_fnmatch_required | tr '[A-Z]' '[a-z]'
+    echo $gl_fnmatch_required | LC_ALL=C tr '[A-Z]' '[a-z]'
   `
   gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working $gl_fnmatch_required fnmatch" >&5
-$as_echo_n "checking for working $gl_fnmatch_required fnmatch... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working $gl_fnmatch_required fnmatch" >&5
+printf %s "checking for working $gl_fnmatch_required fnmatch... " >&6; }
 if eval \${$gl_fnmatch_cache_var+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
                            if test $gl_fnmatch_required = GNU; then
        gl_fnmatch_gnu_start=
@@ -17156,8 +17853,8 @@ fi
 
 fi
 eval ac_res=\$$gl_fnmatch_cache_var
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\""
   if test "$gl_fnmatch_result" = yes; then
             rm -f "$gl_source_base/fnmatch.h"
@@ -17174,7 +17871,7 @@ else
 fi
 
 
-if test -n "$FNMATCH_H"; then
+  if test -n "$FNMATCH_H"; then
 
 
 
@@ -17205,48 +17902,15 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
-  :
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 
 
-
-
-  :
-
-
-
-
-
-
-fi
+  fi
 
 
 
 
 
-if test -n "$FNMATCH_H"; then
+  if test -n "$FNMATCH_H"; then
 
 
 
@@ -17277,42 +17941,9 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
-  :
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 
 
-
-
-
-
-
-  :
-
-
-
-
-
-
-fi
+  fi
 
 
 
@@ -17322,7 +17953,7 @@ fi
       ;;
   esac
 
-if test $REPLACE_FREOPEN = 1; then
+  if test $REPLACE_FREOPEN = 1; then
 
 
 
@@ -17333,10 +17964,8 @@ if test $REPLACE_FREOPEN = 1; then
 
   gl_LIBOBJS="$gl_LIBOBJS freopen.$ac_objext"
 
-
-
-
-fi
+    :
+  fi
 
 
 
@@ -17348,7 +17977,7 @@ fi
 
 
 
-$as_echo "#define GNULIB_TEST_FREOPEN 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_FREOPEN 1" >>confdefs.h
 
 
 
@@ -17362,17 +17991,19 @@ _ACEOF
 
 
 
-  :
 
+  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+    REPLACE_FSTAT=1
+  fi
 
 
+  if test $WINDOWS_64_BIT_ST_SIZE = 1; then
+    REPLACE_FSTAT=1
+  fi
 
 
-  if test $ac_cv_func_getdtablesize != yes; then
-    HAVE_GETDTABLESIZE=0
-  fi
 
-if test $HAVE_GETDTABLESIZE = 0; then
+  if test $REPLACE_FSTAT = 1; then
 
 
 
@@ -17381,134 +18012,143 @@ if test $HAVE_GETDTABLESIZE = 0; then
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS getdtablesize.$ac_objext"
+  gl_LIBOBJS="$gl_LIBOBJS fstat.$ac_objext"
+
+    :
+  fi
+
 
-fi
 
 
 
+          GNULIB_FSTAT=1
 
 
-          GNULIB_GETDTABLESIZE=1
 
 
 
+printf "%s\n" "#define GNULIB_TEST_FSTAT 1" >>confdefs.h
 
 
-$as_echo "#define GNULIB_TEST_GETDTABLESIZE 1" >>confdefs.h
 
 
 
 
+  if test $ac_cv_func_getdtablesize != yes; then
+    HAVE_GETDTABLESIZE=0
+  fi
 
+  if test $HAVE_GETDTABLESIZE = 0; then
 
 
 
-if test $REPLACE_GETOPT = 1; then
 
 
 
 
 
+  gl_LIBOBJS="$gl_LIBOBJS getdtablesize.$ac_objext"
 
+    :
+  fi
 
 
-  gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext"
 
 
 
+          GNULIB_GETDTABLESIZE=1
 
 
 
 
 
+printf "%s\n" "#define GNULIB_TEST_GETDTABLESIZE 1" >>confdefs.h
 
-  gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext"
 
 
 
-  :
 
 
 
 
+  if test $REPLACE_GETOPT = 1; then
 
 
-fi
 
 
-$as_echo "#define GNULIB_TEST_GETOPT_GNU 1" >>confdefs.h
 
 
 
 
+  gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext"
 
 
-    REPLACE_GETOPT=0
 
 
-  if test -n "$gl_replace_getopt"; then :
 
-      REPLACE_GETOPT=1
 
-fi
 
 
-  if test $REPLACE_GETOPT = 1; then
 
-  GETOPT_H=getopt.h
+  gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext"
 
-$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h
 
 
 
-        GNULIB_UNISTD_H_GETOPT=1
+        GNULIB_GL_UNISTD_H_GETOPT=1
   fi
 
-if test $REPLACE_GETOPT = 1; then
 
 
+printf "%s\n" "#define GNULIB_TEST_GETOPT_GNU 1" >>confdefs.h
 
 
 
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext"
-
 
+    REPLACE_GETOPT=0
+    if test -n "$gl_replace_getopt"; then
+      REPLACE_GETOPT=1
+    fi
 
+  if test $REPLACE_GETOPT = 1; then
 
+  GETOPT_H=getopt.h
 
+printf "%s\n" "#define __GETOPT_PREFIX rpl_" >>confdefs.h
 
 
 
+  fi
 
-  gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext"
+  if test $REPLACE_GETOPT = 1; then
 
 
 
-  :
 
 
 
 
 
+  gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext"
 
-fi
 
 
 
 
 
 
-  :
 
 
+  gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext"
 
 
 
 
+        GNULIB_GL_UNISTD_H_GETOPT=1
+  fi
 
 
 
@@ -17517,7 +18157,6 @@ fi
 
 
 
-  :
 
 
 
 
 
 
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5
-$as_echo_n "checking whether gettimeofday clobbers localtime buffer... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5
+printf %s "checking whether gettimeofday clobbers localtime buffer... " >&6; }
 if ${gl_cv_func_gettimeofday_clobber+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
-       gl_cv_func_gettimeofday_clobber=yes
+  # When cross-compiling:
+      case "$host_os" in
+                # Guess all is fine on glibc systems.
+        *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
+                # If we don't know, assume the worst.
+        *)      gl_cv_func_gettimeofday_clobber="guessing yes" ;;
+      esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -17573,28 +18219,30 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_clobber" >&5
-$as_echo "$gl_cv_func_gettimeofday_clobber" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_clobber" >&5
+printf "%s\n" "$gl_cv_func_gettimeofday_clobber" >&6; }
 
- if test $gl_cv_func_gettimeofday_clobber = yes; then
-   REPLACE_GETTIMEOFDAY=1
+ case "$gl_cv_func_gettimeofday_clobber" in
+   *yes)
+     REPLACE_GETTIMEOFDAY=1
 
 
-$as_echo "#define gmtime rpl_gmtime" >>confdefs.h
+printf "%s\n" "#define gmtime rpl_gmtime" >>confdefs.h
 
 
-$as_echo "#define localtime rpl_localtime" >>confdefs.h
+printf "%s\n" "#define localtime rpl_localtime" >>confdefs.h
 
 
 
-$as_echo "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h
+printf "%s\n" "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h
 
- fi
+     ;;
+ esac
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5
-$as_echo_n "checking for gettimeofday with POSIX signature... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5
+printf %s "checking for gettimeofday with POSIX signature... " >&6; }
 if ${gl_cv_func_gettimeofday_posix_signature+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -17644,13 +18292,16 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5
-$as_echo "$gl_cv_func_gettimeofday_posix_signature" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5
+printf "%s\n" "$gl_cv_func_gettimeofday_posix_signature" >&6; }
     if test $gl_cv_func_gettimeofday_posix_signature = almost; then
       gl_gettimeofday_timezone='struct timezone'
     elif test $gl_cv_func_gettimeofday_posix_signature != yes; then
       REPLACE_GETTIMEOFDAY=1
     fi
+        if test $REPLACE_STRUCT_TIMEVAL = 1; then
+      REPLACE_GETTIMEOFDAY=1
+    fi
 
   fi
 
@@ -17659,7 +18310,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
-if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then
+  if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then
 
 
 
@@ -17695,7 +18346,7 @@ fi
 done
 
 
-fi
+  fi
 
 
 
@@ -17707,7 +18358,7 @@ fi
 
 
 
-$as_echo "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h
 
 
 
@@ -17721,13 +18372,13 @@ else
 fi
 
 
-# Autoconf 2.61a.99 and earlier don't support linking a file only
-# in VPATH builds.  But since GNUmakefile is for maintainer use
-# only, it does not matter if we skip the link with older autoconf.
-# Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
-# builds, so use a shell variable to bypass this.
-GNUmakefile=GNUmakefile
-ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile"
+  # Autoconf 2.61a.99 and earlier don't support linking a file only
+  # in VPATH builds.  But since GNUmakefile is for maintainer use
+  # only, it does not matter if we skip the link with older autoconf.
+  # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
+  # builds, so use a shell variable to bypass this.
+  GNUmakefile=GNUmakefile
+  ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile"
 
 
   :
@@ -17752,22 +18403,16 @@ ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile"
 
 
 
-  :
-
-
-
-
-
 
 
 
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_iconv_h='<'iconv.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <iconv.h>" >&5
-$as_echo_n "checking absolute name of <iconv.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <iconv.h>" >&5
+printf %s "checking absolute name of <iconv.h>... " >&6; }
 if ${gl_cv_next_iconv_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
              if test $ac_cv_header_iconv_h = yes; then
@@ -17782,21 +18427,35 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'iconv.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_iconv_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/iconv.h#{
-                    s#.*"\(.*/iconv.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
           else
                gl_cv_next_iconv_h='<'iconv.h'>'
              fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_iconv_h" >&5
-$as_echo "$gl_cv_next_iconv_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_iconv_h" >&5
+printf "%s\n" "$gl_cv_next_iconv_h" >&6; }
      fi
      NEXT_ICONV_H=$gl_cv_next_iconv_h
 
@@ -17845,7 +18504,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 else
   gl_func_iconv_gnu=no
 fi
-rm -f conftest*
+rm -rf conftest*
 
     if test $gl_func_iconv_gnu = no; then
       iconv_flavor=
@@ -17882,7 +18541,7 @@ fi
 
   fi
 
-if test $REPLACE_ICONV_OPEN = 1; then
+  if test $REPLACE_ICONV_OPEN = 1; then
 
 
 
@@ -17893,8 +18552,8 @@ if test $REPLACE_ICONV_OPEN = 1; then
 
   gl_LIBOBJS="$gl_LIBOBJS iconv_open.$ac_objext"
 
-fi
-if test $REPLACE_ICONV = 1; then
+  fi
+  if test $REPLACE_ICONV = 1; then
 
 
 
@@ -17915,14 +18574,13 @@ if test $REPLACE_ICONV = 1; then
 
   gl_LIBOBJS="$gl_LIBOBJS iconv_close.$ac_objext"
 
-fi
-
+  fi
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler generally respects inline" >&5
-$as_echo_n "checking whether the compiler generally respects inline... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler generally respects inline" >&5
+printf %s "checking whether the compiler generally respects inline... " >&6; }
 if ${gl_cv_c_inline_effective+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test $ac_cv_c_inline = no; then
        gl_cv_c_inline_effective=no
@@ -17949,11 +18607,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
      fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_inline_effective" >&5
-$as_echo "$gl_cv_c_inline_effective" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_inline_effective" >&5
+printf "%s\n" "$gl_cv_c_inline_effective" >&6; }
   if test $gl_cv_c_inline_effective = yes; then
 
-$as_echo "#define HAVE_INLINE 1" >>confdefs.h
+printf "%s\n" "#define HAVE_INLINE 1" >>confdefs.h
 
   fi
 
@@ -18006,10 +18664,10 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5
-$as_echo_n "checking whether INT32_MAX < INTMAX_MAX... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5
+printf %s "checking whether INT32_MAX < INTMAX_MAX... " >&6; }
 if ${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -18047,8 +18705,8 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5
-$as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5
+printf "%s\n" "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; }
   if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then
     INT32_MAX_LT_INTMAX_MAX=1;
   else
@@ -18058,10 +18716,10 @@ $as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; }
 
   if test $APPLE_UNIVERSAL_BUILD = 0; then
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5
-$as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5
+printf %s "checking whether INT64_MAX == LONG_MAX... " >&6; }
 if ${gl_cv_test_INT64_MAX_EQ_LONG_MAX+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -18099,8 +18757,8 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5
-$as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5
+printf "%s\n" "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; }
   if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then
     INT64_MAX_EQ_LONG_MAX=1;
   else
@@ -18112,10 +18770,10 @@ $as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; }
     INT64_MAX_EQ_LONG_MAX=-1
   fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5
-$as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5
+printf %s "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; }
 if ${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -18153,8 +18811,8 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5
-$as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5
+printf "%s\n" "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; }
   if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then
     UINT32_MAX_LT_UINTMAX_MAX=1;
   else
@@ -18164,10 +18822,10 @@ $as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; }
 
   if test $APPLE_UNIVERSAL_BUILD = 0; then
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5
-$as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5
+printf %s "checking whether UINT64_MAX == ULONG_MAX... " >&6; }
 if ${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -18205,8 +18863,8 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5
-$as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5
+printf "%s\n" "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
   if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then
     UINT64_MAX_EQ_ULONG_MAX=1;
   else
@@ -18225,12 +18883,6 @@ $as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
 
 
 
-  :
-
-
-
-
-
   ac_fn_c_check_decl "$LINENO" "iswblank" "ac_cv_have_decl_iswblank" "
 /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
    <wchar.h>.
@@ -18268,10 +18920,10 @@ _ACEOF
   fi
 
 
-if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then
-  :
-else
-  if test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; then
+  if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then
+    :
+  else
+    if test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; then
 
 
 
@@ -18282,8 +18934,8 @@ else
 
   gl_LIBOBJS="$gl_LIBOBJS iswblank.$ac_objext"
 
+    fi
   fi
-fi
 
 
 
@@ -18295,9 +18947,7 @@ fi
 
 
 
-$as_echo "#define GNULIB_TEST_ISWBLANK 1" >>confdefs.h
-
-
+printf "%s\n" "#define GNULIB_TEST_ISWBLANK 1" >>confdefs.h
 
 
 
@@ -18310,10 +18960,6 @@ $as_echo "#define GNULIB_TEST_ISWBLANK 1" >>confdefs.h
 
 
 
-  :
-
-
-
 
 
 
@@ -18322,10 +18968,10 @@ $as_echo "#define GNULIB_TEST_ISWBLANK 1" >>confdefs.h
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_langinfo_h='<'langinfo.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <langinfo.h>" >&5
-$as_echo_n "checking absolute name of <langinfo.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <langinfo.h>" >&5
+printf %s "checking absolute name of <langinfo.h>... " >&6; }
 if ${gl_cv_next_langinfo_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
              if test $ac_cv_header_langinfo_h = yes; then
@@ -18340,21 +18986,35 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'langinfo.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_langinfo_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/langinfo.h#{
-                    s#.*"\(.*/langinfo.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
           else
                gl_cv_next_langinfo_h='<'langinfo.h'>'
              fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_langinfo_h" >&5
-$as_echo "$gl_cv_next_langinfo_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_langinfo_h" >&5
+printf "%s\n" "$gl_cv_next_langinfo_h" >&6; }
      fi
      NEXT_LANGINFO_H=$gl_cv_next_langinfo_h
 
@@ -18376,18 +19036,12 @@ $as_echo "$gl_cv_next_langinfo_h" >&6; }
   HAVE_LANGINFO_ERA=0
   HAVE_LANGINFO_YESEXPR=0
 
-  :
-
-
-
-
-
   if test $ac_cv_header_langinfo_h = yes; then
     HAVE_LANGINFO_H=1
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines CODESET" >&5
-$as_echo_n "checking whether langinfo.h defines CODESET... " >&6; }
+            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines CODESET" >&5
+printf %s "checking whether langinfo.h defines CODESET... " >&6; }
 if ${gl_cv_header_langinfo_codeset+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_codeset" >&5
-$as_echo "$gl_cv_header_langinfo_codeset" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_codeset" >&5
+printf "%s\n" "$gl_cv_header_langinfo_codeset" >&6; }
     if test $gl_cv_header_langinfo_codeset = yes; then
       HAVE_LANGINFO_CODESET=1
     fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines T_FMT_AMPM" >&5
-$as_echo_n "checking whether langinfo.h defines T_FMT_AMPM... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines T_FMT_AMPM" >&5
+printf %s "checking whether langinfo.h defines T_FMT_AMPM... " >&6; }
 if ${gl_cv_header_langinfo_t_fmt_ampm+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_t_fmt_ampm" >&5
-$as_echo "$gl_cv_header_langinfo_t_fmt_ampm" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_t_fmt_ampm" >&5
+printf "%s\n" "$gl_cv_header_langinfo_t_fmt_ampm" >&6; }
     if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then
       HAVE_LANGINFO_T_FMT_AMPM=1
     fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines ERA" >&5
-$as_echo_n "checking whether langinfo.h defines ERA... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines ERA" >&5
+printf %s "checking whether langinfo.h defines ERA... " >&6; }
 if ${gl_cv_header_langinfo_era+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_era" >&5
-$as_echo "$gl_cv_header_langinfo_era" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_era" >&5
+printf "%s\n" "$gl_cv_header_langinfo_era" >&6; }
     if test $gl_cv_header_langinfo_era = yes; then
       HAVE_LANGINFO_ERA=1
     fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines YESEXPR" >&5
-$as_echo_n "checking whether langinfo.h defines YESEXPR... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines YESEXPR" >&5
+printf %s "checking whether langinfo.h defines YESEXPR... " >&6; }
 if ${gl_cv_header_langinfo_yesexpr+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -18503,8 +19157,8 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_yesexpr" >&5
-$as_echo "$gl_cv_header_langinfo_yesexpr" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_langinfo_yesexpr" >&5
+printf "%s\n" "$gl_cv_header_langinfo_yesexpr" >&6; }
     if test $gl_cv_header_langinfo_yesexpr = yes; then
       HAVE_LANGINFO_YESEXPR=1
     fi
@@ -18519,11 +19173,11 @@ $as_echo "$gl_cv_header_langinfo_yesexpr" >&6; }
 
 
     for gl_func in nl_langinfo; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
 if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
 
                      eval ac_cv_have_decl_$gl_func=yes
@@ -18572,6 +19226,7 @@ fi
 
 
 
+
     use_additional=yes
 
   acl_save_prefix="$prefix"
 
 
 
-        ac_save_CPPFLAGS="$CPPFLAGS"
+        ac_save_CPPFLAGS="$CPPFLAGS"
+
+  for element in $INCSIGSEGV; do
+    haveit=
+    for x in $CPPFLAGS; do
+
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  eval x=\"$x\"
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+    fi
+  done
+
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libsigsegv" >&5
+printf %s "checking for libsigsegv... " >&6; }
+if ${ac_cv_libsigsegv+:} false; then :
+  printf %s "(cached) " >&6
+else
+
+    ac_save_LIBS="$LIBS"
+                                case " $LIBSIGSEGV" in
+      *" -l"*) LIBS="$LIBS $LIBSIGSEGV" ;;
+      *)       LIBS="$LIBSIGSEGV $LIBS" ;;
+    esac
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sigsegv.h>
+int
+main ()
+{
+sigsegv_deinstall_handler();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_libsigsegv=yes
+else
+  ac_cv_libsigsegv='no, consider installing GNU libsigsegv'
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LIBS="$ac_save_LIBS"
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libsigsegv" >&5
+printf "%s\n" "$ac_cv_libsigsegv" >&6; }
+  if test "$ac_cv_libsigsegv" = yes; then
+    HAVE_LIBSIGSEGV=yes
+
+printf "%s\n" "#define HAVE_LIBSIGSEGV 1" >>confdefs.h
+
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libsigsegv" >&5
+printf %s "checking how to link with libsigsegv... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBSIGSEGV" >&5
+printf "%s\n" "$LIBSIGSEGV" >&6; }
+  else
+    HAVE_LIBSIGSEGV=no
+            CPPFLAGS="$ac_save_CPPFLAGS"
+    LIBSIGSEGV=
+    LTLIBSIGSEGV=
+    LIBSIGSEGV_PREFIX=
+  fi
+
+
+
+
+
+
+
+    gl_cv_lib_sigsegv="$ac_cv_libsigsegv"
+
+
+
+
+
+
+
+
+
+  LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\""
+
+
+
+
+
+
+
+
+
+  case "$host_os" in
+    solaris*)
+
+printf "%s\n" "#define _LCONV_C99 1" >>confdefs.h
+
+      ;;
+  esac
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether locale.h conforms to POSIX:2001" >&5
+printf %s "checking whether locale.h conforms to POSIX:2001... " >&6; }
+if ${gl_cv_header_locale_h_posix2001+:} false; then :
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <locale.h>
+            int x = LC_MESSAGES;
+            int y = sizeof (((struct lconv *) 0)->decimal_point);
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_locale_h_posix2001=yes
+else
+  gl_cv_header_locale_h_posix2001=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_h_posix2001" >&5
+printf "%s\n" "$gl_cv_header_locale_h_posix2001" >&6; }
+
+
+  if test $ac_cv_header_xlocale_h = yes; then
+    HAVE_XLOCALE_H=1
+                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether locale.h defines locale_t" >&5
+printf %s "checking whether locale.h defines locale_t... " >&6; }
+if ${gl_cv_header_locale_has_locale_t+:} false; then :
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <locale.h>
+              locale_t x;
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_locale_has_locale_t=yes
+else
+  gl_cv_header_locale_has_locale_t=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_has_locale_t" >&5
+printf "%s\n" "$gl_cv_header_locale_has_locale_t" >&6; }
+    if test $gl_cv_header_locale_has_locale_t = yes; then
+      gl_cv_header_locale_h_needs_xlocale_h=no
+    else
+      gl_cv_header_locale_h_needs_xlocale_h=yes
+    fi
+  else
+    HAVE_XLOCALE_H=0
+    gl_cv_header_locale_h_needs_xlocale_h=no
+  fi
+
+
+          { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether struct lconv is properly defined" >&5
+printf %s "checking whether struct lconv is properly defined... " >&6; }
+if ${gl_cv_sys_struct_lconv_ok+:} false; then :
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <locale.h>
+            struct lconv l;
+            int x = sizeof (l.decimal_point);
+            int y = sizeof (l.int_p_cs_precedes);
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_sys_struct_lconv_ok=yes
+else
+  gl_cv_sys_struct_lconv_ok=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_lconv_ok" >&5
+printf "%s\n" "$gl_cv_sys_struct_lconv_ok" >&6; }
+  if test $gl_cv_sys_struct_lconv_ok = no; then
+    REPLACE_STRUCT_LCONV=1
+  fi
+
+
+
+
+
+
+
 
-  for element in $INCSIGSEGV; do
-    haveit=
-    for x in $CPPFLAGS; do
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_locale_h='<'locale.h'>'
+     else
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <locale.h>" >&5
+printf %s "checking absolute name of <locale.h>... " >&6; }
+if ${gl_cv_next_locale_h+:} false; then :
+  printf %s "(cached) " >&6
+else
 
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
-    fi
-  done
+               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <locale.h>
+
+_ACEOF
+                                                                                                                        case "$host_os" in
+                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
+                 *)    gl_absname_cpp="$ac_cpp" ;;
+               esac
 
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'locale.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
+                                                            gl_cv_next_locale_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+                      sed -n "$gl_absolute_header_sed"`'"'
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libsigsegv" >&5
-$as_echo_n "checking for libsigsegv... " >&6; }
-if ${ac_cv_libsigsegv+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-    ac_save_LIBS="$LIBS"
-                                case " $LIBSIGSEGV" in
-      *" -l"*) LIBS="$LIBS $LIBSIGSEGV" ;;
-      *)       LIBS="$LIBSIGSEGV $LIBS" ;;
-    esac
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_locale_h" >&5
+printf "%s\n" "$gl_cv_next_locale_h" >&6; }
+     fi
+     NEXT_LOCALE_H=$gl_cv_next_locale_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'locale.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_locale_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_LOCALE_H=$gl_next_as_first_directive
+
+
+
+
+
+
+    for gl_func in setlocale duplocale; do
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
+if eval \${$as_gl_Symbol+:} false; then :
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <sigsegv.h>
+#include <locale.h>
+/* Some systems provide declarations in a non-standard header.  */
+#if HAVE_XLOCALE_H
+# include <xlocale.h>
+#endif
+
 int
 main ()
 {
-sigsegv_deinstall_handler();
+#undef $gl_func
+  (void) $gl_func;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_libsigsegv=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_gl_Symbol=yes"
 else
-  ac_cv_libsigsegv='no, consider installing GNU libsigsegv'
+  eval "$as_gl_Symbol=no"
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LIBS="$ac_save_LIBS"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_gl_Symbol
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
 
+                     eval ac_cv_have_decl_$gl_func=yes
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libsigsegv" >&5
-$as_echo "$ac_cv_libsigsegv" >&6; }
-  if test "$ac_cv_libsigsegv" = yes; then
-    HAVE_LIBSIGSEGV=yes
+      done
 
-$as_echo "#define HAVE_LIBSIGSEGV 1" >>confdefs.h
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libsigsegv" >&5
-$as_echo_n "checking how to link with libsigsegv... " >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBSIGSEGV" >&5
-$as_echo "$LIBSIGSEGV" >&6; }
-  else
-    HAVE_LIBSIGSEGV=no
-            CPPFLAGS="$ac_save_CPPFLAGS"
-    LIBSIGSEGV=
-    LTLIBSIGSEGV=
-    LIBSIGSEGV_PREFIX=
+
+
+
+
+  if test $REPLACE_STRUCT_LCONV = 1; then
+    REPLACE_LOCALECONV=1
   fi
 
+  if test $REPLACE_LOCALECONV = 1; then
 
 
 
 
 
 
-    gl_cv_lib_sigsegv="$ac_cv_libsigsegv"
 
 
+  gl_LIBOBJS="$gl_LIBOBJS localeconv.$ac_objext"
 
 
+  ac_fn_c_check_member "$LINENO" "struct lconv" "decimal_point" "ac_cv_member_struct_lconv_decimal_point" "#include <locale.h>
+"
+if test "x$ac_cv_member_struct_lconv_decimal_point" = xyes; then :
 
-  :
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_LCONV_DECIMAL_POINT 1
+_ACEOF
 
 
+fi
 
 
+  fi
 
 
 
 
 
-LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\""
+          GNULIB_LOCALECONV=1
 
 
 
 
-  :
+
+printf "%s\n" "#define GNULIB_TEST_LOCALECONV 1" >>confdefs.h
+
 
 
 
@@ -19138,14 +20060,16 @@ LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_ba
 
   if test $ac_cv_func_lstat = yes; then
 
-    if test $gl_cv_func_lstat_dereferences_slashed_symlink = no; then
-      REPLACE_LSTAT=1
-    fi
+    case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
+      *no)
+        REPLACE_LSTAT=1
+        ;;
+    esac
   else
     HAVE_LSTAT=0
   fi
 
-if test $REPLACE_LSTAT = 1; then
+  if test $REPLACE_LSTAT = 1; then
 
 
 
@@ -19156,11 +20080,8 @@ if test $REPLACE_LSTAT = 1; then
 
   gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext"
 
-
-
-  :
-
-fi
+    :
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_LSTAT 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_LSTAT 1" >>confdefs.h
 
 
 
 
 
 
-    for ac_header in stdlib.h
+
+      for ac_header in stdlib.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
 if test "x$ac_cv_header_stdlib_h" = xyes; then :
 
 done
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
-$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
+printf %s "checking for GNU libc compatible malloc... " >&6; }
 if ${ac_cv_func_malloc_0_nonnull+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
-  ac_cv_func_malloc_0_nonnull=no
+  case "$host_os" in
+          # Guess yes on platforms where we know the result.
+          *-gnu* | freebsd* | netbsd* | openbsd* \
+          | hpux* | solaris* | cygwin* | mingw*)
+            ac_cv_func_malloc_0_nonnull=yes ;;
+          # If we don't know, assume the worst.
+          *) ac_cv_func_malloc_0_nonnull=no ;;
+        esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #if defined STDC_HEADERS || defined HAVE_STDLIB_H
-# include <stdlib.h>
-#else
-char *malloc ();
-#endif
+            # include <stdlib.h>
+            #else
+            char *malloc ();
+            #endif
 
 int
 main ()
@@ -19214,6 +20144,7 @@ return ! malloc (0);
   ;
   return 0;
 }
+
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
   ac_cv_func_malloc_0_nonnull=yes
@@ -19224,22 +20155,23 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
-$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
-if test $ac_cv_func_malloc_0_nonnull = yes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
+printf "%s\n" "$ac_cv_func_malloc_0_nonnull" >&6; }
+  if test $ac_cv_func_malloc_0_nonnull = yes; then :
 
-$as_echo "#define HAVE_MALLOC_GNU 1" >>confdefs.h
+printf "%s\n" "#define HAVE_MALLOC_GNU 1" >>confdefs.h
 
 else
-  $as_echo "#define HAVE_MALLOC_GNU 0" >>confdefs.h
+  printf "%s\n" "#define HAVE_MALLOC_GNU 0" >>confdefs.h
 
      REPLACE_MALLOC=1
 
 fi
 
 
-if test $REPLACE_MALLOC = 1; then
+  if test $REPLACE_MALLOC = 1; then
 
 
 
@@ -19250,7 +20182,7 @@ if test $REPLACE_MALLOC = 1; then
 
   gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext"
 
-fi
+  fi
 
 
 cat >>confdefs.h <<_ACEOF
@@ -19263,13 +20195,13 @@ _ACEOF
 
   if test $gl_cv_func_malloc_posix = yes; then
 
-$as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h
+printf "%s\n" "#define HAVE_MALLOC_POSIX 1" >>confdefs.h
 
   else
     REPLACE_MALLOC=1
   fi
 
-if test $REPLACE_MALLOC = 1; then
+  if test $REPLACE_MALLOC = 1; then
 
 
 
@@ -19280,7 +20212,7 @@ if test $REPLACE_MALLOC = 1; then
 
   gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext"
 
-fi
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h
-
-
-
-
+printf "%s\n" "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h
 
 
 
@@ -19307,15 +20235,6 @@ $as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h
 
 
 
-  :
-
-
-
-
-
-
-
-
 
 
   :
@@ -19325,7 +20244,6 @@ $as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h
 
 
 
-  :
 
 
 
@@ -19335,10 +20253,10 @@ $as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
-$as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
+printf %s "checking whether mbrtowc handles incomplete characters... " >&6; }
 if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                   case "$host_os" in
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5
-$as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5
+printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; }
 
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
-$as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
+printf %s "checking whether mbrtowc works as well as mbtowc... " >&6; }
 if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                   case "$host_os" in
@@ -19459,8 +20377,8 @@ fi
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5
-$as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5
+printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
 
     REPLACE_MBSTATE_T=0
     case "$gl_cv_func_mbrtowc_incomplete_state" in
@@ -19477,12 +20395,6 @@ $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
 
 
 
-  :
-
-
-
-
-
   if test $ac_cv_func_mbrtowc = no; then
     HAVE_MBRTOWC=0
     ac_fn_c_check_decl "$LINENO" "mbrtowc" "ac_cv_have_decl_mbrtowc" "
@@ -19516,10 +20428,10 @@ _ACEOF
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL pwc argument" >&5
-$as_echo_n "checking whether mbrtowc handles a NULL pwc argument... " >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL pwc argument" >&5
+printf %s "checking whether mbrtowc handles a NULL pwc argument... " >&6; }
 if ${gl_cv_func_mbrtowc_null_arg1+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                   case "$host_os" in
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg1" >&5
-$as_echo "$gl_cv_func_mbrtowc_null_arg1" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg1" >&5
+printf "%s\n" "$gl_cv_func_mbrtowc_null_arg1" >&6; }
 
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL string argument" >&5
-$as_echo_n "checking whether mbrtowc handles a NULL string argument... " >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles a NULL string argument" >&5
+printf %s "checking whether mbrtowc handles a NULL string argument... " >&6; }
 if ${gl_cv_func_mbrtowc_null_arg2+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                   case "$host_os" in
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg2" >&5
-$as_echo "$gl_cv_func_mbrtowc_null_arg2" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_null_arg2" >&5
+printf "%s\n" "$gl_cv_func_mbrtowc_null_arg2" >&6; }
 
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc has a correct return value" >&5
-$as_echo_n "checking whether mbrtowc has a correct return value... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc has a correct return value" >&5
+printf %s "checking whether mbrtowc has a correct return value... " >&6; }
 if ${gl_cv_func_mbrtowc_retval+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                   case "$host_os" in
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_retval" >&5
-$as_echo "$gl_cv_func_mbrtowc_retval" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_retval" >&5
+printf "%s\n" "$gl_cv_func_mbrtowc_retval" >&6; }
 
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc returns 0 when parsing a NUL character" >&5
-$as_echo_n "checking whether mbrtowc returns 0 when parsing a NUL character... " >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc returns 0 when parsing a NUL character" >&5
+printf %s "checking whether mbrtowc returns 0 when parsing a NUL character... " >&6; }
 if ${gl_cv_func_mbrtowc_nul_retval+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                   case "$host_os" in
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_nul_retval" >&5
-$as_echo "$gl_cv_func_mbrtowc_nul_retval" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_nul_retval" >&5
+printf "%s\n" "$gl_cv_func_mbrtowc_nul_retval" >&6; }
 
       case "$gl_cv_func_mbrtowc_null_arg1" in
         *yes) ;;
         *)
-$as_echo "#define MBRTOWC_NULL_ARG1_BUG 1" >>confdefs.h
+printf "%s\n" "#define MBRTOWC_NULL_ARG1_BUG 1" >>confdefs.h
 
            REPLACE_MBRTOWC=1
            ;;
@@ -19866,7 +20778,7 @@ $as_echo "#define MBRTOWC_NULL_ARG1_BUG 1" >>confdefs.h
       case "$gl_cv_func_mbrtowc_null_arg2" in
         *yes) ;;
         *)
-$as_echo "#define MBRTOWC_NULL_ARG2_BUG 1" >>confdefs.h
+printf "%s\n" "#define MBRTOWC_NULL_ARG2_BUG 1" >>confdefs.h
 
            REPLACE_MBRTOWC=1
            ;;
@@ -19874,7 +20786,7 @@ $as_echo "#define MBRTOWC_NULL_ARG2_BUG 1" >>confdefs.h
       case "$gl_cv_func_mbrtowc_retval" in
         *yes) ;;
         *)
-$as_echo "#define MBRTOWC_RETVAL_BUG 1" >>confdefs.h
+printf "%s\n" "#define MBRTOWC_RETVAL_BUG 1" >>confdefs.h
 
            REPLACE_MBRTOWC=1
            ;;
@@ -19882,7 +20794,7 @@ $as_echo "#define MBRTOWC_RETVAL_BUG 1" >>confdefs.h
       case "$gl_cv_func_mbrtowc_nul_retval" in
         *yes) ;;
         *)
-$as_echo "#define MBRTOWC_NUL_RETVAL_BUG 1" >>confdefs.h
+printf "%s\n" "#define MBRTOWC_NUL_RETVAL_BUG 1" >>confdefs.h
 
            REPLACE_MBRTOWC=1
            ;;
@@ -19890,7 +20802,7 @@ $as_echo "#define MBRTOWC_NUL_RETVAL_BUG 1" >>confdefs.h
     fi
   fi
 
-if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
+  if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
 
 
 
@@ -19904,7 +20816,7 @@ if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
 
   :
 
-fi
+  fi
 
 
 
@@ -19916,7 +20828,7 @@ fi
 
 
 
-$as_echo "#define GNULIB_TEST_MBRTOWC 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_MBRTOWC 1" >>confdefs.h
 
 
 
@@ -19931,13 +20843,7 @@ $as_echo "#define GNULIB_TEST_MBRTOWC 1" >>confdefs.h
 
 
 
-$as_echo "#define GNULIB_TEST_MBSCASECMP 1" >>confdefs.h
-
-
-
-
-
-
+printf "%s\n" "#define GNULIB_TEST_MBSCASECMP 1" >>confdefs.h
 
 
 
@@ -19945,15 +20851,9 @@ $as_echo "#define GNULIB_TEST_MBSCASECMP 1" >>confdefs.h
 
 
 
-  :
-
-
-
 
 
 
-  :
-
 
 
 
@@ -19962,10 +20862,10 @@ $as_echo "#define GNULIB_TEST_MBSCASECMP 1" >>confdefs.h
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
-$as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
+printf %s "checking whether mbrtowc handles incomplete characters... " >&6; }
 if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                   case "$host_os" in
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5
-$as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5
+printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; }
 
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
-$as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
+printf %s "checking whether mbrtowc works as well as mbtowc... " >&6; }
 if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                   case "$host_os" in
@@ -20086,8 +20986,8 @@ fi
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5
-$as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5
+printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
 
     REPLACE_MBSTATE_T=0
     case "$gl_cv_func_mbrtowc_incomplete_state" in
@@ -20104,12 +21004,6 @@ $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
 
 
 
-  :
-
-
-
-
-
   if test $ac_cv_func_mbsinit = no; then
     HAVE_MBSINIT=0
     ac_fn_c_check_decl "$LINENO" "mbsinit" "ac_cv_have_decl_mbsinit" "
@@ -20146,7 +21040,7 @@ _ACEOF
     fi
   fi
 
-if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then
+  if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then
 
 
 
@@ -20160,7 +21054,7 @@ if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then
 
   :
 
-fi
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_MBSINIT 1" >>confdefs.h
-
-
+printf "%s\n" "#define GNULIB_TEST_MBSINIT 1" >>confdefs.h
 
 
 
 
-  :
-
-
-
 
 
   if test $ac_cv_func_mbslen = yes; then
@@ -20202,11 +21090,7 @@ $as_echo "#define GNULIB_TEST_MBSINIT 1" >>confdefs.h
 
 
 
-$as_echo "#define GNULIB_TEST_MBSLEN 1" >>confdefs.h
-
-
-
-
+printf "%s\n" "#define GNULIB_TEST_MBSLEN 1" >>confdefs.h
 
 
 
@@ -20215,14 +21099,6 @@ $as_echo "#define GNULIB_TEST_MBSLEN 1" >>confdefs.h
 
 
 
-  :
-
-
-
-
-
-
-  :
 
 
 
@@ -20232,10 +21108,10 @@ $as_echo "#define GNULIB_TEST_MBSLEN 1" >>confdefs.h
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
-$as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
+printf %s "checking whether mbrtowc handles incomplete characters... " >&6; }
 if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                   case "$host_os" in
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5
-$as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5
+printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; }
 
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
-$as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
+printf %s "checking whether mbrtowc works as well as mbtowc... " >&6; }
 if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                   case "$host_os" in
@@ -20356,8 +21232,8 @@ fi
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5
-$as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5
+printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
 
     REPLACE_MBSTATE_T=0
     case "$gl_cv_func_mbrtowc_incomplete_state" in
@@ -20374,12 +21250,6 @@ $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
 
 
 
-  :
-
-
-
-
-
   if test $ac_cv_func_mbsrtowcs = no; then
     HAVE_MBSRTOWCS=0
     ac_fn_c_check_decl "$LINENO" "mbsrtowcs" "ac_cv_have_decl_mbsrtowcs" "
@@ -20416,10 +21286,10 @@ _ACEOF
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbsrtowcs works" >&5
-$as_echo_n "checking whether mbsrtowcs works... " >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbsrtowcs works" >&5
+printf %s "checking whether mbsrtowcs works... " >&6; }
 if ${gl_cv_func_mbsrtowcs_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                   case "$host_os" in
@@ -20520,8 +21390,8 @@ fi
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbsrtowcs_works" >&5
-$as_echo "$gl_cv_func_mbsrtowcs_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbsrtowcs_works" >&5
+printf "%s\n" "$gl_cv_func_mbsrtowcs_works" >&6; }
 
       case "$gl_cv_func_mbsrtowcs_works" in
         *yes) ;;
@@ -20530,7 +21400,7 @@ $as_echo "$gl_cv_func_mbsrtowcs_works" >&6; }
     fi
   fi
 
-if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then
+  if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then
 
 
 
@@ -20554,7 +21424,7 @@ if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then
 
   :
 
-fi
+  fi
 
 
 
@@ -20566,7 +21436,7 @@ fi
 
 
 
-$as_echo "#define GNULIB_TEST_MBSRTOWCS 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_MBSRTOWCS 1" >>confdefs.h
 
 
 
@@ -20581,7 +21451,7 @@ $as_echo "#define GNULIB_TEST_MBSRTOWCS 1" >>confdefs.h
 
 
 
-$as_echo "#define GNULIB_TEST_MBSSTR 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_MBSSTR 1" >>confdefs.h
 
 
 
@@ -20592,7 +21462,7 @@ $as_echo "#define GNULIB_TEST_MBSSTR 1" >>confdefs.h
     REPLACE_MBTOWC=1
   fi
 
-if test $REPLACE_MBTOWC = 1; then
+  if test $REPLACE_MBTOWC = 1; then
 
 
 
@@ -20606,7 +21476,7 @@ if test $REPLACE_MBTOWC = 1; then
 
   :
 
-fi
+  fi
 
 
 
@@ -20618,8 +21488,7 @@ fi
 
 
 
-$as_echo "#define GNULIB_TEST_MBTOWC 1" >>confdefs.h
-
+printf "%s\n" "#define GNULIB_TEST_MBTOWC 1" >>confdefs.h
 
 
 
@@ -20628,7 +21497,7 @@ $as_echo "#define GNULIB_TEST_MBTOWC 1" >>confdefs.h
   :
 
 
-if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then
+  if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then
 
 
 
@@ -20653,7 +21522,7 @@ fi
 done
 
 
-fi
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_MEMCHR 1" >>confdefs.h
-
-
-
+printf "%s\n" "#define GNULIB_TEST_MEMCHR 1" >>confdefs.h
 
 
 
 
-  :
-
-
 
 
 
   if test $ac_cv_func_mkstemp = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mkstemp" >&5
-$as_echo_n "checking for working mkstemp... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working mkstemp" >&5
+printf %s "checking for working mkstemp... " >&6; }
 if ${gl_cv_func_working_mkstemp+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
         mkdir conftest.mkstemp
         if test "$cross_compiling" = yes; then :
-  gl_cv_func_working_mkstemp="guessing no"
+  case "$host_os" in
+                     # Guess yes on glibc systems.
+             *-gnu*) gl_cv_func_working_mkstemp="guessing yes" ;;
+                     # If we don't know, assume the worst.
+             *)      gl_cv_func_working_mkstemp="guessing no" ;;
+           esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
         rm -rf conftest.mkstemp
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_mkstemp" >&5
-$as_echo "$gl_cv_func_working_mkstemp" >&6; }
-    if test "$gl_cv_func_working_mkstemp" != yes; then
-      REPLACE_MKSTEMP=1
-    fi
-  else
-    HAVE_MKSTEMP=0
-  fi
-
-if test $HAVE_MKSTEMP = 0 || test $REPLACE_MKSTEMP = 1; then
-
-
-
-
-
-
-
-
-  gl_LIBOBJS="$gl_LIBOBJS mkstemp.$ac_objext"
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_mkstemp" >&5
+printf "%s\n" "$gl_cv_func_working_mkstemp" >&6; }
+    case "$gl_cv_func_working_mkstemp" in
+      *yes) ;;
+      *)
+        REPLACE_MKSTEMP=1
+        ;;
+    esac
+  else
+    HAVE_MKSTEMP=0
+  fi
 
+  if test $HAVE_MKSTEMP = 0 || test $REPLACE_MKSTEMP = 1; then
 
-fi
 
 
 
 
 
-          GNULIB_MKSTEMP=1
 
 
+  gl_LIBOBJS="$gl_LIBOBJS mkstemp.$ac_objext"
 
 
 
-$as_echo "#define GNULIB_TEST_MKSTEMP 1" >>confdefs.h
+  fi
 
 
 
 
 
+          GNULIB_MKSTEMP=1
 
 
-  :
 
 
 
+printf "%s\n" "#define GNULIB_TEST_MKSTEMP 1" >>confdefs.h
 
 
 
-  :
 
 
 
@@ -20796,15 +21656,15 @@ $as_echo "#define GNULIB_TEST_MKSTEMP 1" >>confdefs.h
 
 
   if test $APPLE_UNIVERSAL_BUILD = 1; then
-    # A universal build on Apple MacOS X platforms.
+    # A universal build on Apple Mac OS X platforms.
     # The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode.
     # But we need a configuration result that is valid in both modes.
     gl_cv_func_working_mktime=no
   fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mktime" >&5
-$as_echo_n "checking for working mktime... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working mktime" >&5
+printf %s "checking for working mktime... " >&6; }
 if ${gl_cv_func_working_mktime+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
   gl_cv_func_working_mktime=no
@@ -20820,8 +21680,8 @@ else
 # include <unistd.h>
 #endif
 
-#ifndef HAVE_ALARM
-# define alarm(X) /* empty */
+#if HAVE_DECL_ALARM
+# include <signal.h>
 #endif
 
 /* Work around redefinition to rpl_putenv by other config tests.  */
@@ -20957,10 +21817,13 @@ main ()
   int time_t_signed_magnitude = (time_t) ~ (time_t) 0 < (time_t) -1;
   int time_t_signed = ! ((time_t) 0 < (time_t) -1);
 
+#if HAVE_DECL_ALARM
   /* This test makes some buggy mktime implementations loop.
      Give up after 60 seconds; a mktime slower than that
      isn't worth using anyway.  */
+  signal (SIGALRM, SIG_DFL);
   alarm (60);
+#endif
 
   time_t_max = (! time_t_signed
                 ? (time_t) -1
@@ -20978,20 +21841,23 @@ main ()
       if (tz_strings[i])
         putenv (tz_strings[i]);
 
-      for (t = 0; t <= time_t_max - delta; t += delta)
+      for (t = 0; t <= time_t_max - delta && (result & 1) == 0; t += delta)
         if (! mktime_test (t))
           result |= 1;
-      if (! (mktime_test ((time_t) 1)
-             && mktime_test ((time_t) (60 * 60))
-             && mktime_test ((time_t) (60 * 60 * 24))))
+      if ((result & 2) == 0
+          && ! (mktime_test ((time_t) 1)
+                && mktime_test ((time_t) (60 * 60))
+                && mktime_test ((time_t) (60 * 60 * 24))))
         result |= 2;
 
-      for (j = 1; ; j <<= 1)
-        if (! bigtime_test (j))
-          result |= 4;
-        else if (INT_MAX / 2 < j)
-          break;
-      if (! bigtime_test (INT_MAX))
+      for (j = 1; (result & 4) == 0; j <<= 1)
+        {
+          if (! bigtime_test (j))
+            result |= 4;
+          if (INT_MAX / 2 < j)
+            break;
+        }
+      if ((result & 8) == 0 && ! bigtime_test (INT_MAX))
         result |= 8;
     }
   if (! irix_6_4_bug ())
@@ -21014,8 +21880,8 @@ fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_mktime" >&5
-$as_echo "$gl_cv_func_working_mktime" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_mktime" >&5
+printf "%s\n" "$gl_cv_func_working_mktime" >&6; }
 
   if test $gl_cv_func_working_mktime = no; then
     REPLACE_MKTIME=1
@@ -21023,7 +21889,7 @@ $as_echo "$gl_cv_func_working_mktime" >&6; }
     REPLACE_MKTIME=0
   fi
 
-if test $REPLACE_MKTIME = 1; then
+  if test $REPLACE_MKTIME = 1; then
 
 
 
@@ -21034,31 +21900,62 @@ if test $REPLACE_MKTIME = 1; then
 
   gl_LIBOBJS="$gl_LIBOBJS mktime.$ac_objext"
 
+    :
+  fi
 
 
 
-fi
 
 
+          GNULIB_MKTIME=1
 
 
 
-          GNULIB_MKTIME=1
 
 
+printf "%s\n" "#define GNULIB_TEST_MKTIME 1" >>confdefs.h
 
 
 
-$as_echo "#define GNULIB_TEST_MKTIME 1" >>confdefs.h
 
 
+  if test $ac_cv_func__set_invalid_parameter_handler = yes; then
+    HAVE_MSVC_INVALID_PARAMETER_HANDLER=1
 
+printf "%s\n" "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h
 
+  else
+    HAVE_MSVC_INVALID_PARAMETER_HANDLER=0
+  fi
 
 
+  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
 
 
-  :
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS msvc-inval.$ac_objext"
+
+  fi
+
+
+
+  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS msvc-nothrow.$ac_objext"
+
+  fi
 
 
 
@@ -21066,10 +21963,10 @@ $as_echo "#define GNULIB_TEST_MKTIME 1" >>confdefs.h
 
      if test $ac_cv_func_nl_langinfo = yes; then
     # On Irix 6.5, YESEXPR is defined, but nl_langinfo(YESEXPR) is broken.
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether YESEXPR works" >&5
-$as_echo_n "checking whether YESEXPR works... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether YESEXPR works" >&5
+printf %s "checking whether YESEXPR works... " >&6; }
 if ${gl_cv_func_nl_langinfo_yesexpr_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
 
@@ -21105,8 +22002,8 @@ fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_nl_langinfo_yesexpr_works" >&5
-$as_echo "$gl_cv_func_nl_langinfo_yesexpr_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_nl_langinfo_yesexpr_works" >&5
+printf "%s\n" "$gl_cv_func_nl_langinfo_yesexpr_works" >&6; }
     case $gl_cv_func_nl_langinfo_yesexpr_works in
       *yes) FUNC_NL_LANGINFO_YESEXPR_WORKS=1 ;;
       *)    FUNC_NL_LANGINFO_YESEXPR_WORKS=0 ;;
@@ -21122,14 +22019,14 @@ _ACEOF
     else
       REPLACE_NL_LANGINFO=1
 
-$as_echo "#define REPLACE_NL_LANGINFO 1" >>confdefs.h
+printf "%s\n" "#define REPLACE_NL_LANGINFO 1" >>confdefs.h
 
     fi
   else
     HAVE_NL_LANGINFO=0
   fi
 
-if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then
+  if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then
 
 
 
@@ -21140,7 +22037,7 @@ if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then
 
   gl_LIBOBJS="$gl_LIBOBJS nl_langinfo.$ac_objext"
 
-fi
+  fi
 
 
 
@@ -21152,7 +22049,7 @@ fi
 
 
 
-$as_echo "#define GNULIB_TEST_NL_LANGINFO 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_NL_LANGINFO 1" >>confdefs.h
 
 
 
@@ -21164,16 +22061,10 @@ $as_echo "#define GNULIB_TEST_NL_LANGINFO 1" >>confdefs.h
       ;;
     *)
 
-  :
-
-
-
-
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether open recognizes a trailing slash" >&5
-$as_echo_n "checking whether open recognizes a trailing slash... " >&6; }
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether open recognizes a trailing slash" >&5
+printf %s "checking whether open recognizes a trailing slash... " >&6; }
 if ${gl_cv_func_open_slash+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   # Assume that if we have lstat, we can also check symlinks.
           if test $ac_cv_func_lstat = yes; then
           rm -f conftest.sl conftest.tmp conftest.lnk
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_open_slash" >&5
-$as_echo "$gl_cv_func_open_slash" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_open_slash" >&5
+printf "%s\n" "$gl_cv_func_open_slash" >&6; }
       case "$gl_cv_func_open_slash" in
         *no)
 
-$as_echo "#define OPEN_TRAILING_SLASH_BUG 1" >>confdefs.h
+printf "%s\n" "#define OPEN_TRAILING_SLASH_BUG 1" >>confdefs.h
 
           REPLACE_OPEN=1
           ;;
@@ -21236,7 +22127,7 @@ $as_echo "#define OPEN_TRAILING_SLASH_BUG 1" >>confdefs.h
 
 
 
-if test $REPLACE_OPEN = 1; then
+  if test $REPLACE_OPEN = 1; then
 
 
 
@@ -21249,10 +22140,9 @@ if test $REPLACE_OPEN = 1; then
 
 
 
-
   :
 
-fi
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_OPEN 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_OPEN 1" >>confdefs.h
 
 
 
-ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include <errno.h>
+
+
+
+  ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include <errno.h>
 "
 if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then :
   ac_have_decl=1
@@ -21280,7 +22173,7 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl
 _ACEOF
 
-ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include <errno.h>
+  ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include <errno.h>
 "
 if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then :
   ac_have_decl=1
@@ -21308,6 +22201,197 @@ _ACEOF
 
 
 
+
+
+  for ac_func in raise
+do :
+  ac_fn_c_check_func "$LINENO" "raise" "ac_cv_func_raise"
+if test "x$ac_cv_func_raise" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_RAISE 1
+_ACEOF
+
+fi
+done
+
+  if test $ac_cv_func_raise = no; then
+    HAVE_RAISE=0
+  else
+    if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+      REPLACE_RAISE=1
+    fi
+
+
+
+
+  if test $gl_cv_type_sigset_t = yes; then
+    ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask"
+if test "x$ac_cv_func_sigprocmask" = xyes; then :
+  gl_cv_func_sigprocmask=1
+fi
+
+  fi
+  if test -z "$gl_cv_func_sigprocmask"; then
+    HAVE_POSIX_SIGNALBLOCKING=0
+  fi
+
+      if test $HAVE_POSIX_SIGNALBLOCKING = 0; then
+        :
+      fi
+
+  fi
+
+  if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS raise.$ac_objext"
+
+    :
+  fi
+
+
+
+
+
+          GNULIB_RAISE=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_RAISE 1" >>confdefs.h
+
+
+
+
+
+
+  if test $ac_cv_func_readlink = no; then
+    HAVE_READLINK=0
+  else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether readlink signature is correct" >&5
+printf %s "checking whether readlink signature is correct... " >&6; }
+if ${gl_cv_decl_readlink_works+:} false; then :
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <unistd.h>
+      /* Cause compilation failure if original declaration has wrong type.  */
+      ssize_t readlink (const char *, char *, size_t);
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_decl_readlink_works=yes
+else
+  gl_cv_decl_readlink_works=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_readlink_works" >&5
+printf "%s\n" "$gl_cv_decl_readlink_works" >&6; }
+            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether readlink handles trailing slash correctly" >&5
+printf %s "checking whether readlink handles trailing slash correctly... " >&6; }
+if ${gl_cv_func_readlink_works+:} false; then :
+  printf %s "(cached) " >&6
+else
+  # We have readlink, so assume ln -s works.
+       ln -s conftest.no-such conftest.link
+       ln -s conftest.link conftest.lnk2
+       if test "$cross_compiling" = yes; then :
+  case "$host_os" in
+                    # Guess yes on glibc systems.
+            *-gnu*) gl_cv_func_readlink_works="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_readlink_works="guessing no" ;;
+          esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <unistd.h>
+
+int
+main ()
+{
+char buf[20];
+      return readlink ("conftest.lnk2/", buf, sizeof buf) != -1;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_readlink_works=yes
+else
+  gl_cv_func_readlink_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+      rm -f conftest.link conftest.lnk2
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_readlink_works" >&5
+printf "%s\n" "$gl_cv_func_readlink_works" >&6; }
+    case "$gl_cv_func_readlink_works" in
+      *yes)
+        if test "$gl_cv_decl_readlink_works" != yes; then
+          REPLACE_READLINK=1
+        fi
+        ;;
+      *)
+
+printf "%s\n" "#define READLINK_TRAILING_SLASH_BUG 1" >>confdefs.h
+
+        REPLACE_READLINK=1
+        ;;
+    esac
+  fi
+
+  if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext"
+
+
+  :
+
+  fi
+
+
+
+
+
+          GNULIB_READLINK=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_READLINK 1" >>confdefs.h
+
+
+
+
+
 # Check whether --with-included-regex was given.
 if test "${with_included_regex+set}" = set; then :
   withval=$with_included_regex;
     # following run test, then default to *not* using the included regex.c.
     # If cross compiling, assume the test would fail and use the included
     # regex.c.
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working re_compile_pattern" >&5
-$as_echo_n "checking for working re_compile_pattern... " >&6; }
+
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working re_compile_pattern" >&5
+printf %s "checking for working re_compile_pattern... " >&6; }
 if ${gl_cv_func_re_compile_pattern_working+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
          gl_cv_func_re_compile_pattern_working=no
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
-           #include <locale.h>
-           #include <limits.h>
-           #include <regex.h>
+#include <regex.h>
+
+            #include <locale.h>
+            #include <limits.h>
+            #include <string.h>
+            #if HAVE_DECL_ALARM
+            # include <unistd.h>
+            # include <signal.h>
+            #endif
 
 int
 main ()
@@ -21347,26 +22437,54 @@ int result = 0;
             const char *s;
             struct re_registers regs;
 
-            /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html
-               This test needs valgrind to catch the bug on Debian
-               GNU/Linux 3.1 x86, but it might catch the bug better
-               on other platforms and it shouldn't hurt to try the
-               test here.  */
+#if HAVE_DECL_ALARM
+            /* Some builds of glibc go into an infinite loop on this test.  */
+            signal (SIGALRM, SIG_DFL);
+            alarm (2);
+#endif
             if (setlocale (LC_ALL, "en_US.UTF-8"))
               {
-                static char const pat[] = "insert into";
-                static char const data[] =
-                  "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK";
-                re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE
-                               | RE_ICASE);
-                memset (&regex, 0, sizeof regex);
-                s = re_compile_pattern (pat, sizeof pat - 1, &regex);
-                if (s)
-                  result |= 1;
-                else if (re_search (&regex, data, sizeof data - 1,
-                                    0, sizeof data - 1, &regs)
-                         != -1)
-                  result |= 1;
+                {
+                  /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html
+                     This test needs valgrind to catch the bug on Debian
+                     GNU/Linux 3.1 x86, but it might catch the bug better
+                     on other platforms and it shouldn't hurt to try the
+                     test here.  */
+                  static char const pat[] = "insert into";
+                  static char const data[] =
+                    "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK";
+                  re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE
+                                 | RE_ICASE);
+                  memset (&regex, 0, sizeof regex);
+                  s = re_compile_pattern (pat, sizeof pat - 1, &regex);
+                  if (s)
+                    result |= 1;
+                  else if (re_search (&regex, data, sizeof data - 1,
+                                      0, sizeof data - 1, &regs)
+                           != -1)
+                    result |= 1;
+                }
+
+                {
+                  /* This test is from glibc bug 15078.
+                     The test case is from Andreas Schwab in
+                     <http://www.sourceware.org/ml/libc-alpha/2013-01/msg00967.html>.
+                     */
+                  static char const pat[] = "[^x]x";
+                  static char const data[] =
+                    "\xe1\x80\x80\xe1\x80\xbb\xe1\x80\xbd\xe1\x80\x94\xe1\x80"
+                    "\xba\xe1\x80\xaf\xe1\x80\x95\xe1\x80\xbax";
+                  re_set_syntax (0);
+                  memset (&regex, 0, sizeof regex);
+                  s = re_compile_pattern (pat, sizeof pat - 1, &regex);
+                  if (s)
+                    result |= 1;
+                  else if (re_search (&regex, data, sizeof data - 1,
+                                      0, sizeof data - 1, 0)
+                           != 21)
+                    result |= 1;
+                }
+
                 if (! setlocale (LC_ALL, "C"))
                   return 1;
               }
@@ -21479,8 +22597,8 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_re_compile_pattern_working" >&5
-$as_echo "$gl_cv_func_re_compile_pattern_working" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_re_compile_pattern_working" >&5
+printf "%s\n" "$gl_cv_func_re_compile_pattern_working" >&6; }
     case $gl_cv_func_re_compile_pattern_working in #(
     yes) ac_use_included_regex=no;; #(
     no) ac_use_included_regex=yes;;
@@ -21492,56 +22610,59 @@ $as_echo "$gl_cv_func_re_compile_pattern_working" >&6; }
 
   if test $ac_use_included_regex = yes; then
 
-$as_echo "#define _REGEX_LARGE_OFFSETS 1" >>confdefs.h
+printf "%s\n" "#define _REGEX_INCLUDE_LIMITS_H 1" >>confdefs.h
+
+
+printf "%s\n" "#define _REGEX_LARGE_OFFSETS 1" >>confdefs.h
 
 
-$as_echo "#define re_syntax_options rpl_re_syntax_options" >>confdefs.h
+printf "%s\n" "#define re_syntax_options rpl_re_syntax_options" >>confdefs.h
 
 
-$as_echo "#define re_set_syntax rpl_re_set_syntax" >>confdefs.h
+printf "%s\n" "#define re_set_syntax rpl_re_set_syntax" >>confdefs.h
 
 
-$as_echo "#define re_compile_pattern rpl_re_compile_pattern" >>confdefs.h
+printf "%s\n" "#define re_compile_pattern rpl_re_compile_pattern" >>confdefs.h
 
 
-$as_echo "#define re_compile_fastmap rpl_re_compile_fastmap" >>confdefs.h
+printf "%s\n" "#define re_compile_fastmap rpl_re_compile_fastmap" >>confdefs.h
 
 
-$as_echo "#define re_search rpl_re_search" >>confdefs.h
+printf "%s\n" "#define re_search rpl_re_search" >>confdefs.h
 
 
-$as_echo "#define re_search_2 rpl_re_search_2" >>confdefs.h
+printf "%s\n" "#define re_search_2 rpl_re_search_2" >>confdefs.h
 
 
-$as_echo "#define re_match rpl_re_match" >>confdefs.h
+printf "%s\n" "#define re_match rpl_re_match" >>confdefs.h
 
 
-$as_echo "#define re_match_2 rpl_re_match_2" >>confdefs.h
+printf "%s\n" "#define re_match_2 rpl_re_match_2" >>confdefs.h
 
 
-$as_echo "#define re_set_registers rpl_re_set_registers" >>confdefs.h
+printf "%s\n" "#define re_set_registers rpl_re_set_registers" >>confdefs.h
 
 
-$as_echo "#define re_comp rpl_re_comp" >>confdefs.h
+printf "%s\n" "#define re_comp rpl_re_comp" >>confdefs.h
 
 
-$as_echo "#define re_exec rpl_re_exec" >>confdefs.h
+printf "%s\n" "#define re_exec rpl_re_exec" >>confdefs.h
 
 
-$as_echo "#define regcomp rpl_regcomp" >>confdefs.h
+printf "%s\n" "#define regcomp rpl_regcomp" >>confdefs.h
 
 
-$as_echo "#define regexec rpl_regexec" >>confdefs.h
+printf "%s\n" "#define regexec rpl_regexec" >>confdefs.h
 
 
-$as_echo "#define regerror rpl_regerror" >>confdefs.h
+printf "%s\n" "#define regerror rpl_regerror" >>confdefs.h
 
 
-$as_echo "#define regfree rpl_regfree" >>confdefs.h
+printf "%s\n" "#define regfree rpl_regfree" >>confdefs.h
 
   fi
 
-if test $ac_use_included_regex = yes; then
+  if test $ac_use_included_regex = yes; then
 
 
 
@@ -21557,6 +22678,7 @@ if test $ac_use_included_regex = yes; then
 
 
 
+
   for ac_header in libintl.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default"
 done
 
 
-  :
+  ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include <ctype.h>
+"
+if test "x$ac_cv_have_decl_isblank" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ISBLANK $ac_have_decl
+_ACEOF
+
+
+  fi
+
+
+
+
+
+  if test $ac_cv_func_secure_getenv = no; then
+    HAVE_SECURE_GETENV=0
+  fi
+
+  if test $HAVE_SECURE_GETENV = 0; then
 
 
 
@@ -21579,27 +22724,48 @@ done
 
 
 
+  gl_LIBOBJS="$gl_LIBOBJS secure_getenv.$ac_objext"
+
+
+  for ac_func in __secure_getenv
+do :
+  ac_fn_c_check_func "$LINENO" "__secure_getenv" "ac_cv_func___secure_getenv"
+if test "x$ac_cv_func___secure_getenv" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE___SECURE_GETENV 1
+_ACEOF
+
+fi
+done
+
+  if test $ac_cv_func___secure_getenv = no; then
+    for ac_func in issetugid
+do :
+  ac_fn_c_check_func "$LINENO" "issetugid" "ac_cv_func_issetugid"
+if test "x$ac_cv_func_issetugid" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_ISSETUGID 1
+_ACEOF
+
+fi
+done
+
+  fi
+
+  fi
+
+
 
 
 
-  ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include <ctype.h>
-"
-if test "x$ac_cv_have_decl_isblank" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
+          GNULIB_SECURE_GETENV=1
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_ISBLANK $ac_have_decl
-_ACEOF
 
 
-fi
 
 
+printf "%s\n" "#define GNULIB_TEST_SECURE_GETENV 1" >>confdefs.h
 
-  :
 
 
 
@@ -21624,7 +22790,7 @@ fi
     HAVE_SIGACTION=0
   fi
 
-if test $HAVE_SIGACTION = 0; then
+  if test $HAVE_SIGACTION = 0; then
 
 
 
@@ -21641,15 +22807,6 @@ if test $HAVE_SIGACTION = 0; then
 
 
 
-  :
-
-
-
-
-
-
-
-
   ac_fn_c_check_type "$LINENO" "siginfo_t" "ac_cv_type_siginfo_t" "
 #include <signal.h>
 
@@ -21667,7 +22824,7 @@ fi
     HAVE_SIGINFO_T=0
   fi
 
-fi
+  fi
 
 
 
@@ -21679,7 +22836,7 @@ fi
 
 
 
-$as_echo "#define GNULIB_TEST_SIGACTION 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_SIGACTION 1" >>confdefs.h
 
 
 
@@ -21697,10 +22854,10 @@ $as_echo "#define GNULIB_TEST_SIGACTION 1" >>confdefs.h
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_signal_h='<'signal.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <signal.h>" >&5
-$as_echo_n "checking absolute name of <signal.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <signal.h>" >&5
+printf %s "checking absolute name of <signal.h>... " >&6; }
 if ${gl_cv_next_signal_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -21712,18 +22869,32 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'signal.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_signal_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/signal.h#{
-                    s#.*"\(.*/signal.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_signal_h" >&5
-$as_echo "$gl_cv_next_signal_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_signal_h" >&5
+printf "%s\n" "$gl_cv_next_signal_h" >&6; }
      fi
      NEXT_SIGNAL_H=$gl_cv_next_signal_h
 
@@ -21756,6 +22927,8 @@ fi
 
 
 
+
+
   ac_fn_c_check_type "$LINENO" "sighandler_t" "ac_cv_type_sighandler_t" "
 #include <signal.h>
 
 
 
     for gl_func in pthread_sigmask sigaction     sigaddset sigdelset sigemptyset sigfillset sigismember     sigpending sigprocmask; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
 if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
 
                      eval ac_cv_have_decl_$gl_func=yes
@@ -21822,7 +22995,7 @@ fi
     HAVE_POSIX_SIGNALBLOCKING=0
   fi
 
-if test $HAVE_POSIX_SIGNALBLOCKING = 0; then
+  if test $HAVE_POSIX_SIGNALBLOCKING = 0; then
 
 
 
@@ -21833,8 +23006,8 @@ if test $HAVE_POSIX_SIGNALBLOCKING = 0; then
 
   gl_LIBOBJS="$gl_LIBOBJS sigprocmask.$ac_objext"
 
-  :
-fi
+    :
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_SIGPROCMASK 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_SIGPROCMASK 1" >>confdefs.h
+
+
+
+
+  for ac_header in stdint.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdint_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_STDINT_H 1
+_ACEOF
+
+fi
+
+done
+
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SIZE_MAX" >&5
+printf %s "checking for SIZE_MAX... " >&6; }
+if ${gl_cv_size_max+:} false; then :
+  printf %s "(cached) " >&6
+else
+
+    gl_cv_size_max=
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <limits.h>
+#if HAVE_STDINT_H
+#include <stdint.h>
+#endif
+#ifdef SIZE_MAX
+Found it
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "Found it" >/dev/null 2>&1; then :
+  gl_cv_size_max=yes
+fi
+rm -rf conftest*
+
+    if test -z "$gl_cv_size_max"; then
+                        if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) * CHAR_BIT - 1" "size_t_bits_minus_1"        "#include <stddef.h>
+#include <limits.h>"; then :
+
+else
+  size_t_bits_minus_1=
+fi
+
+      if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) <= sizeof (unsigned int)" "fits_in_uint"        "#include <stddef.h>"; then :
+
+else
+  fits_in_uint=
+fi
+
+      if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then
+        if test $fits_in_uint = 1; then
+                              cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stddef.h>
+                 extern size_t foo;
+                 extern unsigned long foo;
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  fits_in_uint=0
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+        fi
+                                if test $fits_in_uint = 1; then
+          gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)"
+        else
+          gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)"
+        fi
+      else
+                gl_cv_size_max='((size_t)~(size_t)0)'
+      fi
+    fi
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_max" >&5
+printf "%s\n" "$gl_cv_size_max" >&6; }
+  if test "$gl_cv_size_max" != yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define SIZE_MAX $gl_cv_size_max
+_ACEOF
 
+  fi
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
-$as_echo_n "checking for ssize_t... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
+printf %s "checking for ssize_t... " >&6; }
 if ${gt_cv_ssize_t+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -21875,27 +23143,21 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5
-$as_echo "$gt_cv_ssize_t" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5
+printf "%s\n" "$gt_cv_ssize_t" >&6; }
   if test $gt_cv_ssize_t = no; then
 
-$as_echo "#define ssize_t int" >>confdefs.h
+printf "%s\n" "#define ssize_t int" >>confdefs.h
 
   fi
 
 
 
 
-  :
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on directories" >&5
-$as_echo_n "checking whether stat handles trailing slashes on directories... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on directories" >&5
+printf %s "checking whether stat handles trailing slashes on directories... " >&6; }
 if ${gl_cv_func_stat_dir_slash+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
   case $host_os in
@@ -21925,12 +23187,12 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_dir_slash" >&5
-$as_echo "$gl_cv_func_stat_dir_slash" >&6; }
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on files" >&5
-$as_echo_n "checking whether stat handles trailing slashes on files... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_dir_slash" >&5
+printf "%s\n" "$gl_cv_func_stat_dir_slash" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on files" >&5
+printf %s "checking whether stat handles trailing slashes on files... " >&6; }
 if ${gl_cv_func_stat_file_slash+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   touch conftest.tmp
        # Assume that if we have lstat, we can also check symlinks.
@@ -21938,7 +23200,13 @@ else
          ln -s conftest.tmp conftest.lnk
        fi
        if test "$cross_compiling" = yes; then :
-  gl_cv_func_stat_file_slash="guessing no"
+  case "$host_os" in
+                    # Guess yes on glibc systems.
+            *-gnu*) gl_cv_func_stat_file_slash="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_stat_file_slash="guessing no" ;;
+          esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
        rm -f conftest.tmp conftest.lnk
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_file_slash" >&5
-$as_echo "$gl_cv_func_stat_file_slash" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_file_slash" >&5
+printf "%s\n" "$gl_cv_func_stat_file_slash" >&6; }
   case $gl_cv_func_stat_dir_slash in
     *no) REPLACE_STAT=1
 
-$as_echo "#define REPLACE_FUNC_STAT_DIR 1" >>confdefs.h
+printf "%s\n" "#define REPLACE_FUNC_STAT_DIR 1" >>confdefs.h
 ;;
   esac
   case $gl_cv_func_stat_file_slash in
     *no) REPLACE_STAT=1
 
-$as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h
+printf "%s\n" "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h
 ;;
   esac
 
-if test $REPLACE_STAT = 1; then
+  if test $REPLACE_STAT = 1; then
 
 
 
@@ -21998,11 +23266,8 @@ if test $REPLACE_STAT = 1; then
 
   gl_LIBOBJS="$gl_LIBOBJS stat.$ac_objext"
 
-
-
-  :
-
-fi
+    :
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_STAT 1" >>confdefs.h
-
-
+printf "%s\n" "#define GNULIB_TEST_STAT 1" >>confdefs.h
 
 
 
 
 
-  :
-
-
-
-
 
 
   ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.tv_nsec" "ac_cv_member_struct_stat_st_atim_tv_nsec" "#include <sys/types.h>
@@ -22038,10 +23296,10 @@ cat >>confdefs.h <<_ACEOF
 #define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1
 _ACEOF
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct stat.st_atim is of type struct timespec" >&5
-$as_echo_n "checking whether struct stat.st_atim is of type struct timespec... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether struct stat.st_atim is of type struct timespec" >&5
+printf %s "checking whether struct stat.st_atim is of type struct timespec... " >&6; }
 if ${ac_cv_typeof_struct_stat_st_atim_is_struct_timespec+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -22072,11 +23330,11 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&5
-$as_echo "$ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&5
+printf "%s\n" "$ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&6; }
      if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then
 
-$as_echo "#define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1" >>confdefs.h
+printf "%s\n" "#define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1" >>confdefs.h
 
      fi
 else
 
 
 
-
-  :
-
-
-
-
-
   ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimespec.tv_nsec" "ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" "#include <sys/types.h>
      #include <sys/stat.h>
 "
 
   STDARG_H=''
   NEXT_STDARG_H='<stdarg.h>'
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5
-$as_echo_n "checking for va_copy... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5
+printf %s "checking for va_copy... " >&6; }
   if ${gl_cv_func_va_copy+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -22202,8 +23453,8 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5
-$as_echo "$gl_cv_func_va_copy" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5
+printf "%s\n" "$gl_cv_func_va_copy" >&6; }
   if test $gl_cv_func_va_copy = no; then
                                     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -22218,7 +23469,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 else
   gl_aixcc=no
 fi
-rm -f conftest*
+rm -rf conftest*
 
     if test $gl_aixcc = yes; then
             STDARG_H=stdarg.h
@@ -22233,10 +23484,10 @@ rm -f conftest*
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_stdarg_h='<'stdarg.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdarg.h>" >&5
-$as_echo_n "checking absolute name of <stdarg.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdarg.h>" >&5
+printf %s "checking absolute name of <stdarg.h>... " >&6; }
 if ${gl_cv_next_stdarg_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -22248,18 +23499,32 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'stdarg.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_stdarg_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/stdarg.h#{
-                    s#.*"\(.*/stdarg.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdarg_h" >&5
-$as_echo "$gl_cv_next_stdarg_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdarg_h" >&5
+printf "%s\n" "$gl_cv_next_stdarg_h" >&6; }
      fi
      NEXT_STDARG_H=$gl_cv_next_stdarg_h
 
@@ -22284,7 +23549,7 @@ $as_echo "$gl_cv_next_stdarg_h" >&6; }
   saved_as_echo_n="$as_echo_n"
   as_echo_n=':'
   if ${gl_cv_func___va_copy+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 
       if test $gl_cv_func___va_copy = yes; then
 
-$as_echo "#define va_copy __va_copy" >>confdefs.h
+printf "%s\n" "#define va_copy __va_copy" >>confdefs.h
 
       else
 
 
-$as_echo "#define va_copy gl_va_copy" >>confdefs.h
+printf "%s\n" "#define va_copy gl_va_copy" >>confdefs.h
 
       fi
     fi
     HAVE_WCHAR_T=0
     STDDEF_H=stddef.h
   fi
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5
-$as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5
+printf %s "checking whether NULL can be used in arbitrary expressions... " >&6; }
 if ${gl_cv_decl_null_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -22395,8 +23660,8 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5
-$as_echo "$gl_cv_decl_null_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5
+printf "%s\n" "$gl_cv_decl_null_works" >&6; }
   if test $gl_cv_decl_null_works = no; then
     REPLACE_NULL=1
     STDDEF_H=stddef.h
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_stddef_h='<'stddef.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stddef.h>" >&5
-$as_echo_n "checking absolute name of <stddef.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <stddef.h>" >&5
+printf %s "checking absolute name of <stddef.h>... " >&6; }
 if ${gl_cv_next_stddef_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -22437,18 +23702,32 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'stddef.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/stddef.h#{
-                    s#.*"\(.*/stddef.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5
-$as_echo "$gl_cv_next_stddef_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5
+printf "%s\n" "$gl_cv_next_stddef_h" >&6; }
      fi
      NEXT_STDDEF_H=$gl_cv_next_stddef_h
 
@@ -22477,14 +23756,13 @@ $as_echo "$gl_cv_next_stddef_h" >&6; }
 
 
 
-
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_stdio_h='<'stdio.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdio.h>" >&5
-$as_echo_n "checking absolute name of <stdio.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdio.h>" >&5
+printf %s "checking absolute name of <stdio.h>... " >&6; }
 if ${gl_cv_next_stdio_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -22496,18 +23774,32 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'stdio.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_stdio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/stdio.h#{
-                    s#.*"\(.*/stdio.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5
-$as_echo "$gl_cv_next_stdio_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5
+printf "%s\n" "$gl_cv_next_stdio_h" >&6; }
      fi
      NEXT_STDIO_H=$gl_cv_next_stdio_h
 
@@ -22525,12 +23817,25 @@ $as_echo "$gl_cv_next_stdio_h" >&6; }
 
 
       GNULIB_FSCANF=1
+
+
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_FSCANF 1
+_ACEOF
+
+
   GNULIB_SCANF=1
+
+
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_SCANF 1
+_ACEOF
+
+
   GNULIB_FGETC=1
   GNULIB_GETC=1
   GNULIB_GETCHAR=1
   GNULIB_FGETS=1
-  GNULIB_GETS=1
   GNULIB_FREAD=1
 
 
@@ -22548,12 +23853,12 @@ $as_echo "$gl_cv_next_stdio_h" >&6; }
 
 
 
-    for gl_func in dprintf fpurge fseeko ftello getdelim getline popen renameat     snprintf tmpfile vdprintf vsnprintf; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+    for gl_func in dprintf fpurge fseeko ftello getdelim getline gets pclose popen     renameat snprintf tmpfile vdprintf vsnprintf; do
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
 if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
 
                      eval ac_cv_have_decl_$gl_func=yes
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_stdlib_h='<'stdlib.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdlib.h>" >&5
-$as_echo_n "checking absolute name of <stdlib.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdlib.h>" >&5
+printf %s "checking absolute name of <stdlib.h>... " >&6; }
 if ${gl_cv_next_stdlib_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -22616,18 +23921,32 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'stdlib.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/stdlib.h#{
-                    s#.*"\(.*/stdlib.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5
-$as_echo "$gl_cv_next_stdlib_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5
+printf "%s\n" "$gl_cv_next_stdlib_h" >&6; }
      fi
      NEXT_STDLIB_H=$gl_cv_next_stdlib_h
 
@@ -22645,12 +23964,12 @@ $as_echo "$gl_cv_next_stdlib_h" >&6; }
 
 
 
-    for gl_func in _Exit atoll canonicalize_file_name getloadavg getsubopt grantpt mkdtemp     mkostemp mkostemps mkstemp mkstemps ptsname random_r initstat_r srandom_r     setstate_r realpath rpmatch setenv strtod strtoll strtoull unlockpt     unsetenv; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+    for gl_func in _Exit atoll canonicalize_file_name getloadavg getsubopt grantpt     initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps     posix_openpt ptsname ptsname_r random random_r realpath rpmatch     secure_getenv setenv setstate setstate_r srandom srandom_r     strtod strtoll strtoull unlockpt unsetenv; do
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
 if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
 
                      eval ac_cv_have_decl_$gl_func=yes
@@ -22743,7 +24062,7 @@ _ACEOF
   fi
 
 
-if test $HAVE_STRCASECMP = 0; then
+  if test $HAVE_STRCASECMP = 0; then
 
 
 
@@ -22757,8 +24076,8 @@ if test $HAVE_STRCASECMP = 0; then
 
   :
 
-fi
-if test $HAVE_STRNCASECMP = 0; then
+  fi
+  if test $HAVE_STRNCASECMP = 0; then
 
 
 
@@ -22772,22 +24091,26 @@ if test $HAVE_STRNCASECMP = 0; then
 
   :
 
-fi
-
-
+  fi
 
 
 
 
 
   if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5
-$as_echo_n "checking for working strerror function... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5
+printf %s "checking for working strerror function... " >&6; }
 if ${gl_cv_func_working_strerror+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
-           gl_cv_func_working_strerror="guessing no"
+  case "$host_os" in
+                   # Guess yes on glibc systems.
+           *-gnu*) gl_cv_func_working_strerror="guessing yes" ;;
+                   # If we don't know, assume the worst.
+           *)      gl_cv_func_working_strerror="guessing no" ;;
+         esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_strerror" >&5
-$as_echo "$gl_cv_func_working_strerror" >&6; }
-    if test "$gl_cv_func_working_strerror" != yes; then
-                  REPLACE_STRERROR=1
-    fi
-
-                  case "$gl_cv_func_strerror_r_works" in
-        *no) REPLACE_STRERROR=1 ;;
-      esac
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_strerror" >&5
+printf "%s\n" "$gl_cv_func_working_strerror" >&6; }
+    case "$gl_cv_func_working_strerror" in
+      *yes) ;;
+      *)
+                        REPLACE_STRERROR=1
+        ;;
+    esac
 
   else
             REPLACE_STRERROR=1
   fi
 
-if test $REPLACE_STRERROR = 1; then
+  if test $REPLACE_STRERROR = 1; then
 
 
 
@@ -22837,7 +24159,7 @@ if test $REPLACE_STRERROR = 1; then
 
   gl_LIBOBJS="$gl_LIBOBJS strerror.$ac_objext"
 
-fi
+  fi
 
 
 cat >>confdefs.h <<_ACEOF
@@ -22856,13 +24178,13 @@ _ACEOF
 
 
 
-$as_echo "#define GNULIB_TEST_STRERROR 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_STRERROR 1" >>confdefs.h
 
 
 
 
 
-if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then
+  if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then
 
 
 
@@ -22877,12 +24199,6 @@ if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then
 
 
 
-  :
-
-
-
-
-
   if test $ac_cv_header_sys_socket_h != yes; then
                     for ac_header in winsock2.h
 do :
@@ -22906,7 +24222,7 @@ done
   fi
 
 
-fi
+  fi
 
 
  # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE.
 
 
 
-  :
-
-
-
-
-
-
-
-$as_echo "#define my_strftime nstrftime" >>confdefs.h
-
-
-
-if test $gl_cond_libtool = false; then
-  gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
-  gl_libdeps="$gl_libdeps $LIBICONV"
-fi
-
-
-
-
-
 
 
+printf "%s\n" "#define my_strftime nstrftime" >>confdefs.h
 
 
 
+  if test $gl_cond_libtool = false; then
+    gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
+    gl_libdeps="$gl_libdeps $LIBICONV"
+  fi
 
-  :
 
 
 
 
 
 
-  :
 
 
 
   if test $ac_cv_func_strndup = yes; then
     HAVE_STRNDUP=1
     # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'.
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strndup" >&5
-$as_echo_n "checking for working strndup... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working strndup" >&5
+printf %s "checking for working strndup... " >&6; }
 if ${gl_cv_func_strndup_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
 
@@ -22984,7 +24282,7 @@ int
 main ()
 {
 
-#ifndef HAVE_DECL_STRNDUP
+#if !HAVE_DECL_STRNDUP
   extern
   #ifdef __cplusplus
   "C"
@@ -23010,8 +24308,8 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strndup_works" >&5
-$as_echo "$gl_cv_func_strndup_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strndup_works" >&5
+printf "%s\n" "$gl_cv_func_strndup_works" >&6; }
     case $gl_cv_func_strndup_works in
       *no) REPLACE_STRNDUP=1 ;;
     esac
@@ -23019,7 +24317,7 @@ $as_echo "$gl_cv_func_strndup_works" >&6; }
     HAVE_STRNDUP=0
   fi
 
-if test $HAVE_STRNDUP = 0 || test $REPLACE_STRNDUP = 1; then
+  if test $HAVE_STRNDUP = 0 || test $REPLACE_STRNDUP = 1; then
 
 
 
@@ -23030,7 +24328,7 @@ if test $HAVE_STRNDUP = 0 || test $REPLACE_STRNDUP = 1; then
 
   gl_LIBOBJS="$gl_LIBOBJS strndup.$ac_objext"
 
-fi
+  fi
 
 
 
@@ -23042,9 +24340,7 @@ fi
 
 
 
-$as_echo "#define GNULIB_TEST_STRNDUP 1" >>confdefs.h
-
-
+printf "%s\n" "#define GNULIB_TEST_STRNDUP 1" >>confdefs.h
 
 
 
@@ -23052,20 +24348,16 @@ $as_echo "#define GNULIB_TEST_STRNDUP 1" >>confdefs.h
 
 
 
-  :
-
-
-
 
 
   if test $ac_cv_have_decl_strnlen = no; then
     HAVE_DECL_STRNLEN=0
   else
 
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnlen" >&5
-$as_echo_n "checking for working strnlen... " >&6; }
+         { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working strnlen" >&5
+printf %s "checking for working strnlen... " >&6; }
 if ${ac_cv_func_strnlen_working+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
   # Guess no on AIX systems, yes otherwise.
@@ -23110,8 +24402,8 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strnlen_working" >&5
-$as_echo "$ac_cv_func_strnlen_working" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strnlen_working" >&5
+printf "%s\n" "$ac_cv_func_strnlen_working" >&6; }
 test $ac_cv_func_strnlen_working = no && :
 
 
@@ -23120,7 +24412,7 @@ test $ac_cv_func_strnlen_working = no && :
     fi
   fi
 
-if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then
+  if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then
 
 
 
@@ -23131,8 +24423,8 @@ if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then
 
   gl_LIBOBJS="$gl_LIBOBJS strnlen.$ac_objext"
 
-  :
-fi
+    :
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_STRNLEN 1" >>confdefs.h
-
-
-
-
+printf "%s\n" "#define GNULIB_TEST_STRNLEN 1" >>confdefs.h
 
 
 
-  :
-
 
 
 
@@ -23162,7 +24448,7 @@ $as_echo "#define GNULIB_TEST_STRNLEN 1" >>confdefs.h
     HAVE_STRPTIME=0
   fi
 
-if test $HAVE_STRPTIME = 0; then
+  if test $HAVE_STRPTIME = 0; then
 
 
 
@@ -23177,7 +24463,7 @@ if test $HAVE_STRPTIME = 0; then
 
   :
 
-fi
+  fi
 
 
 
@@ -23189,7 +24475,7 @@ fi
 
 
 
-$as_echo "#define GNULIB_TEST_STRPTIME 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_STRPTIME 1" >>confdefs.h
 
 
 
@@ -23211,50 +24497,38 @@ done
     if test $ac_cv_func_strtoull = no; then
       HAVE_STRTOULL=0
     fi
-  fi
-
-if test $HAVE_STRTOULL = 0; then
-
-
-
-
-
-
-
-
-  gl_LIBOBJS="$gl_LIBOBJS strtoull.$ac_objext"
-
+  fi
 
-  :
+  if test $HAVE_STRTOULL = 0; then
 
-fi
 
 
 
 
 
-          GNULIB_STRTOULL=1
 
 
+  gl_LIBOBJS="$gl_LIBOBJS strtoull.$ac_objext"
 
 
+  :
 
-$as_echo "#define GNULIB_TEST_STRTOULL 1" >>confdefs.h
+  fi
 
 
 
 
 
+          GNULIB_STRTOULL=1
 
 
-  :
 
 
 
+printf "%s\n" "#define GNULIB_TEST_STRTOULL 1" >>confdefs.h
 
 
 
-  :
 
 
 
@@ -23264,7 +24538,7 @@ $as_echo "#define GNULIB_TEST_STRTOULL 1" >>confdefs.h
     HAVE_DECL_STRTOUMAX=0
   fi
 
-if test $ac_cv_func_strtoumax = no; then
+  if test $ac_cv_func_strtoumax = no; then
 
 
 
@@ -23289,7 +24563,7 @@ _ACEOF
 
 
 
-fi
+  fi
 
 
 
 
 
 
-  :
-
-
-
-
-
-
-
 
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_sys_stat_h='<'sys/stat.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/stat.h>" >&5
-$as_echo_n "checking absolute name of <sys/stat.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/stat.h>" >&5
+printf %s "checking absolute name of <sys/stat.h>... " >&6; }
 if ${gl_cv_next_sys_stat_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
              if test $ac_cv_header_sys_stat_h = yes; then
@@ -23343,21 +24609,35 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'sys/stat.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/sys/stat.h#{
-                    s#.*"\(.*/sys/stat.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
           else
                gl_cv_next_sys_stat_h='<'sys/stat.h'>'
              fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5
-$as_echo "$gl_cv_next_sys_stat_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5
+printf "%s\n" "$gl_cv_next_sys_stat_h" >&6; }
      fi
      NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h
 
@@ -23374,6 +24654,18 @@ $as_echo "$gl_cv_next_sys_stat_h" >&6; }
 
 
 
+
+
+
+
+
+
+  if test $WINDOWS_64_BIT_ST_SIZE = 1; then
+
+printf "%s\n" "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h
+
+  fi
+
       ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include <sys/types.h>
      #include <sys/stat.h>
 "
@@ -23381,18 +24673,18 @@ if test "x$ac_cv_type_nlink_t" = xyes; then :
 
 else
 
-$as_echo "#define nlink_t int" >>confdefs.h
+printf "%s\n" "#define nlink_t int" >>confdefs.h
 
 fi
 
 
 
-    for gl_func in fchmodat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat     mknod mknodat stat utimensat; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+    for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat     mknod mknodat stat utimensat; do
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
 if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
 
                      eval ac_cv_have_decl_$gl_func=yes
 
 
 
-  :
-
-
-
 
 
 
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_sys_wait_h='<'sys/wait.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/wait.h>" >&5
-$as_echo_n "checking absolute name of <sys/wait.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/wait.h>" >&5
+printf %s "checking absolute name of <sys/wait.h>... " >&6; }
 if ${gl_cv_next_sys_wait_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
              if test $ac_cv_header_sys_wait_h = yes; then
@@ -23471,21 +24759,35 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'sys/wait.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_sys_wait_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/sys/wait.h#{
-                    s#.*"\(.*/sys/wait.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
           else
                gl_cv_next_sys_wait_h='<'sys/wait.h'>'
              fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_wait_h" >&5
-$as_echo "$gl_cv_next_sys_wait_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_wait_h" >&5
+printf "%s\n" "$gl_cv_next_sys_wait_h" >&6; }
      fi
      NEXT_SYS_WAIT_H=$gl_cv_next_sys_wait_h
 
@@ -23503,12 +24805,14 @@ $as_echo "$gl_cv_next_sys_wait_h" >&6; }
 
 
 
+
+
     for gl_func in waitpid; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
 if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
 
                      eval ac_cv_have_decl_$gl_func=yes
 
 
 
+      ac_fn_c_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" "#include <time.h>
+"
+if test "x$ac_cv_have_decl_localtime_r" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
-  :
-
-
-
-
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_LOCALTIME_R $ac_have_decl
+_ACEOF
 
   if test $ac_cv_have_decl_localtime_r = no; then
     HAVE_DECL_LOCALTIME_R=0
   fi
 
 
-  :
-
-
-
-
-
   if test $ac_cv_func_localtime_r = yes; then
     HAVE_LOCALTIME_R=1
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether localtime_r is compatible with its POSIX signature" >&5
-$as_echo_n "checking whether localtime_r is compatible with its POSIX signature... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether localtime_r is compatible with its POSIX signature" >&5
+printf %s "checking whether localtime_r is compatible with its POSIX signature... " >&6; }
 if ${gl_cv_time_r_posix+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -23609,8 +24912,8 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_time_r_posix" >&5
-$as_echo "$gl_cv_time_r_posix" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_time_r_posix" >&5
+printf "%s\n" "$gl_cv_time_r_posix" >&6; }
     if test $gl_cv_time_r_posix = yes; then
       REPLACE_LOCALTIME_R=0
     else
@@ -23620,7 +24923,7 @@ $as_echo "$gl_cv_time_r_posix" >&6; }
     HAVE_LOCALTIME_R=0
   fi
 
-if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then
+  if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then
 
 
 
@@ -23634,7 +24937,7 @@ if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then
 
   :
 
-fi
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_TIME_R 1" >>confdefs.h
-
-
-
-
-
-
-
-
-
+printf "%s\n" "#define GNULIB_TEST_TIME_R 1" >>confdefs.h
 
 
 
+  :
 
 
 
 
-  :
 
 
 
@@ -23675,10 +24969,10 @@ $as_echo "#define GNULIB_TEST_TIME_R 1" >>confdefs.h
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_unistd_h='<'unistd.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <unistd.h>" >&5
-$as_echo_n "checking absolute name of <unistd.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <unistd.h>" >&5
+printf %s "checking absolute name of <unistd.h>... " >&6; }
 if ${gl_cv_next_unistd_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
              if test $ac_cv_header_unistd_h = yes; then
@@ -23693,21 +24987,35 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'unistd.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/unistd.h#{
-                    s#.*"\(.*/unistd.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
           else
                gl_cv_next_unistd_h='<'unistd.h'>'
              fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5
-$as_echo "$gl_cv_next_unistd_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5
+printf "%s\n" "$gl_cv_next_unistd_h" >&6; }
      fi
      NEXT_UNISTD_H=$gl_cv_next_unistd_h
 
@@ -23731,16 +25039,23 @@ $as_echo "$gl_cv_next_unistd_h" >&6; }
 
 
 
-    for gl_func in chown dup2 dup3 environ euidaccess faccessat fchdir fchownat     fsync ftruncate getcwd getdomainname getdtablesize getgroups     gethostname getlogin getlogin_r getpagesize getusershell setusershell     endusershell group_member lchown link linkat lseek pipe pipe2 pread pwrite     readlink readlinkat rmdir sleep symlink symlinkat ttyname_r unlink unlinkat     usleep; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+
+
+
+
+    for gl_func in chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat     fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups     gethostname getlogin getlogin_r getpagesize     getusershell setusershell endusershell     group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite     readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r     unlink unlinkat usleep; do
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
 if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <unistd.h>
+
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
 /* Some systems declare various items in the wrong headers.  */
 #if !(defined __GLIBC__ && !defined __UCLIBC__)
 # include <fcntl.h>
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
 
                      eval ac_cv_have_decl_$gl_func=yes
 
 
 
-$as_echo "#define USE_UNLOCKED_IO 1" >>confdefs.h
+printf "%s\n" "#define USE_UNLOCKED_IO 1" >>confdefs.h
 
 
 
 
 
-  :
 
 
 
 
 
 
-  :
 
 
 
 
 
 
-  :
 
 
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for variable-length arrays" >&5
+printf %s "checking for variable-length arrays... " >&6; }
+if ${ac_cv_c_vararrays+:} false; then :
+  printf %s "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+static int x; char a[++x]; a[sizeof a - 1] = 0; return a[0];
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_vararrays=yes
+else
+  ac_cv_c_vararrays=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_vararrays" >&5
+printf "%s\n" "$ac_cv_c_vararrays" >&6; }
+  if test $ac_cv_c_vararrays = yes; then
+
+printf "%s\n" "#define HAVE_C_VARARRAYS 1" >>confdefs.h
+
+  fi
 
 
 
+  if test $ac_cv_func_vasnprintf = no; then
 
-  :
 
 
 
 
 
 
-  :
 
 
 
+  gl_LIBOBJS="$gl_LIBOBJS vasnprintf.$ac_objext"
 
 
 
-  :
 
 
 
 
 
 
-  :
+  gl_LIBOBJS="$gl_LIBOBJS printf-args.$ac_objext"
 
 
 
 
 
 
-  :
 
 
 
+  gl_LIBOBJS="$gl_LIBOBJS printf-parse.$ac_objext"
 
 
 
-  :
 
 
 
 
 
 
-  :
+  gl_LIBOBJS="$gl_LIBOBJS asnprintf.$ac_objext"
 
+  if test $ac_cv_func_vasnprintf = yes; then
 
+printf "%s\n" "#define REPLACE_VASNPRINTF 1" >>confdefs.h
 
+  fi
 
 
 
-  :
 
 
 
 
 
 
-  :
 
 
+  ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default"
+if test "x$ac_cv_type_ptrdiff_t" = xyes; then :
 
+else
 
+printf "%s\n" "#define ptrdiff_t long" >>confdefs.h
 
 
-  :
+fi
 
 
 
@@ -24062,6 +25407,82 @@ $as_echo "#define USE_UNLOCKED_IO 1" >>confdefs.h
 
 
 
+  fi
+
+
+  for ac_func in vasprintf
+do :
+  ac_fn_c_check_func "$LINENO" "vasprintf" "ac_cv_func_vasprintf"
+if test "x$ac_cv_func_vasprintf" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_VASPRINTF 1
+_ACEOF
+
+fi
+done
+
+  if test $ac_cv_func_vasprintf = no; then
+
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS vasprintf.$ac_objext"
+
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS asprintf.$ac_objext"
+
+
+  if test $ac_cv_func_vasprintf = yes; then
+    REPLACE_VASPRINTF=1
+  else
+    HAVE_VASPRINTF=0
+  fi
+
+
+
+
+
+
+
+
+  fi
+
+
+
+
+
+
+          GNULIB_VASPRINTF=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_VASPRINTF 1" >>confdefs.h
+
+
+
+
+
+  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=asprintf:2:c-format"
+
+
+
+  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=vasprintf:2:c-format"
+
+
 # Check whether --with-packager was given.
 if test "${with_packager+set}" = set; then :
   withval=$with_packager;       case $withval in
 
 
 
-  :
-
-
-
-
-
-
 
 
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_wchar_h='<'wchar.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <wchar.h>" >&5
-$as_echo_n "checking absolute name of <wchar.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <wchar.h>" >&5
+printf %s "checking absolute name of <wchar.h>... " >&6; }
 if ${gl_cv_next_wchar_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
              if test $ac_cv_header_wchar_h = yes; then
@@ -24152,21 +25566,35 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'wchar.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_wchar_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/wchar.h#{
-                    s#.*"\(.*/wchar.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
           else
                gl_cv_next_wchar_h='<'wchar.h'>'
              fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5
-$as_echo "$gl_cv_next_wchar_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5
+printf "%s\n" "$gl_cv_next_wchar_h" >&6; }
      fi
      NEXT_WCHAR_H=$gl_cv_next_wchar_h
 
@@ -24201,11 +25629,11 @@ $as_echo "$gl_cv_next_wchar_h" >&6; }
 
 
     for gl_func in btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb      wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset      wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp      wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr      wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth     ; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
 if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
     if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
 _ACEOF
 
                      eval ac_cv_have_decl_$gl_func=yes
 
 
 
-  :
-
-
-
-
-
-
-  :
-
-
-
-
 
   if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
-$as_echo_n "checking whether mbrtowc handles incomplete characters... " >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5
+printf %s "checking whether mbrtowc handles incomplete characters... " >&6; }
 if ${gl_cv_func_mbrtowc_incomplete_state+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                   case "$host_os" in
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5
-$as_echo "$gl_cv_func_mbrtowc_incomplete_state" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5
+printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; }
 
 
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
-$as_echo_n "checking whether mbrtowc works as well as mbtowc... " >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5
+printf %s "checking whether mbrtowc works as well as mbtowc... " >&6; }
 if ${gl_cv_func_mbrtowc_sanitycheck+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                   case "$host_os" in
@@ -24400,8 +25816,8 @@ fi
       fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5
-$as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5
+printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
 
     REPLACE_MBSTATE_T=0
     case "$gl_cv_func_mbrtowc_incomplete_state" in
@@ -24418,12 +25834,6 @@ $as_echo "$gl_cv_func_mbrtowc_sanitycheck" >&6; }
 
 
 
-  :
-
-
-
-
-
   if test $ac_cv_func_wcrtomb = no; then
     HAVE_WCRTOMB=0
     ac_fn_c_check_decl "$LINENO" "wcrtomb" "ac_cv_have_decl_wcrtomb" "
@@ -24459,10 +25869,10 @@ _ACEOF
 
 
 
-             { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wcrtomb return value is correct" >&5
-$as_echo_n "checking whether wcrtomb return value is correct... " >&6; }
+             { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether wcrtomb return value is correct" >&5
+printf %s "checking whether wcrtomb return value is correct... " >&6; }
 if ${gl_cv_func_wcrtomb_retval+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                               case "$host_os" in
@@ -24526,8 +25936,8 @@ fi
           fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcrtomb_retval" >&5
-$as_echo "$gl_cv_func_wcrtomb_retval" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcrtomb_retval" >&5
+printf "%s\n" "$gl_cv_func_wcrtomb_retval" >&6; }
       case "$gl_cv_func_wcrtomb_retval" in
         *yes) ;;
         *) REPLACE_WCRTOMB=1 ;;
@@ -24535,7 +25945,7 @@ $as_echo "$gl_cv_func_wcrtomb_retval" >&6; }
     fi
   fi
 
-if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then
+  if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then
 
 
 
@@ -24549,7 +25959,7 @@ if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then
 
   :
 
-fi
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_WCRTOMB 1" >>confdefs.h
-
-
-
-
-
+printf "%s\n" "#define GNULIB_TEST_WCRTOMB 1" >>confdefs.h
 
 
 
-  :
 
 
 
@@ -24584,8 +25988,6 @@ $as_echo "#define GNULIB_TEST_WCRTOMB 1" >>confdefs.h
 
 
 
-
-
   if test $gt_cv_c_wint_t = yes; then
     HAVE_WINT_T=1
   else
@@ -24599,22 +26001,16 @@ $as_echo "#define GNULIB_TEST_WCRTOMB 1" >>confdefs.h
 
 
 
-  :
-
-
-
-
-
 
 
 
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_wctype_h='<'wctype.h'>'
      else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <wctype.h>" >&5
-$as_echo_n "checking absolute name of <wctype.h>... " >&6; }
+       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of <wctype.h>" >&5
+printf %s "checking absolute name of <wctype.h>... " >&6; }
 if ${gl_cv_next_wctype_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
              if test $ac_cv_header_wctype_h = yes; then
@@ -24629,21 +26025,35 @@ _ACEOF
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+
+               case "$host_os" in
+                 mingw*)
+                                                                                                                                     gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+                                             gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+               gl_header_literal_regex=`echo 'wctype.h' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+                   s|^/[^/]|//&|
+                   p
+                   q
+                 }'
                                                             gl_cv_next_wctype_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/wctype.h#{
-                    s#.*"\(.*/wctype.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+                      sed -n "$gl_absolute_header_sed"`'"'
           else
                gl_cv_next_wctype_h='<'wctype.h'>'
              fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wctype_h" >&5
-$as_echo "$gl_cv_next_wctype_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wctype_h" >&5
+printf "%s\n" "$gl_cv_next_wctype_h" >&6; }
      fi
      NEXT_WCTYPE_H=$gl_cv_next_wctype_h
 
@@ -24661,10 +26071,10 @@ $as_echo "$gl_cv_next_wctype_h" >&6; }
 
   if test $ac_cv_header_wctype_h = yes; then
     if test $ac_cv_func_iswcntrl = yes; then
-                  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether iswcntrl works" >&5
-$as_echo_n "checking whether iswcntrl works... " >&6; }
+                  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether iswcntrl works" >&5
+printf %s "checking whether iswcntrl works... " >&6; }
 if ${gl_cv_func_iswcntrl_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
           if test "$cross_compiling" = yes; then :
@@ -24683,9 +26093,9 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_func_iswcntrl_works=yes
+  gl_cv_func_iswcntrl_works="guessing yes"
 else
-  gl_cv_func_iswcntrl_works=no
+  gl_cv_func_iswcntrl_works="guessing no"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
@@ -24716,8 +26126,8 @@ fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_iswcntrl_works" >&5
-$as_echo "$gl_cv_func_iswcntrl_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_iswcntrl_works" >&5
+printf "%s\n" "$gl_cv_func_iswcntrl_works" >&6; }
     fi
     HAVE_WCTYPE_H=1
   else
@@ -24725,11 +26135,10 @@ $as_echo "$gl_cv_func_iswcntrl_works" >&6; }
   fi
 
 
-  if test "$gl_cv_func_iswcntrl_works" = no; then
-    REPLACE_ISWCNTRL=1
-  else
-    REPLACE_ISWCNTRL=0
-  fi
+  case "$gl_cv_func_iswcntrl_works" in
+    *yes) REPLACE_ISWCNTRL=0 ;;
+    *)    REPLACE_ISWCNTRL=1 ;;
+  esac
 
 
   if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then
@@ -24789,10 +26198,10 @@ _ACEOF
         :
   fi
 
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctype_t" >&5
-$as_echo_n "checking for wctype_t... " >&6; }
+          { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wctype_t" >&5
+printf %s "checking for wctype_t... " >&6; }
 if ${gl_cv_type_wctype_t+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctype_t" >&5
-$as_echo "$gl_cv_type_wctype_t" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctype_t" >&5
+printf "%s\n" "$gl_cv_type_wctype_t" >&6; }
   if test $gl_cv_type_wctype_t = no; then
     HAVE_WCTYPE_T=0
   fi
 
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wctrans_t" >&5
-$as_echo_n "checking for wctrans_t... " >&6; }
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wctrans_t" >&5
+printf %s "checking for wctrans_t... " >&6; }
 if ${gl_cv_type_wctrans_t+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctrans_t" >&5
-$as_echo "$gl_cv_type_wctrans_t" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wctrans_t" >&5
+printf "%s\n" "$gl_cv_type_wctrans_t" >&6; }
   if test $gl_cv_type_wctrans_t = no; then
     HAVE_WCTRANS_T=0
   fi
 
 
     for gl_func in wctype iswctype wctrans towctrans     ; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+    as_gl_Symbol=`printf "%s\n" "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+printf %s "checking whether $gl_func is declared without a macro... " >&6; }
 if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
-
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
-
-
-
-
-
-
-
-
-
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `printf "%s\n" "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
 
+                     eval ac_cv_have_decl_$gl_func=yes
+fi
+      done
 
-  :
 
 
 
 
 
 
-  :
 
 
 
@@ -24975,10 +26372,10 @@ _ACEOF
 
   if test $ac_cv_func_wcwidth = yes; then
     HAVE_WCWIDTH=1
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wcwidth works reasonably in UTF-8 locales" >&5
-$as_echo_n "checking whether wcwidth works reasonably in UTF-8 locales... " >&6; }
+                    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether wcwidth works reasonably in UTF-8 locales" >&5
+printf %s "checking whether wcwidth works reasonably in UTF-8 locales... " >&6; }
 if ${gl_cv_func_wcwidth_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
         if test "$cross_compiling" = yes; then :
@@ -25018,8 +26415,10 @@ int main ()
     {
       if (wcwidth (0x0301) > 0)
         result |= 1;
-      if (wcwidth (0x200B) > 0)
+      if (wcwidth (0x05B0) > 0)
         result |= 2;
+      if (wcwidth (0x200B) > 0)
+        result |= 4;
     }
   return result;
 }
@@ -25035,8 +26434,8 @@ fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcwidth_works" >&5
-$as_echo "$gl_cv_func_wcwidth_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcwidth_works" >&5
+printf "%s\n" "$gl_cv_func_wcwidth_works" >&6; }
     case "$gl_cv_func_wcwidth_works" in
       *yes) ;;
       *no) REPLACE_WCWIDTH=1 ;;
@@ -25045,7 +26444,7 @@ $as_echo "$gl_cv_func_wcwidth_works" >&6; }
     HAVE_WCWIDTH=0
   fi
 
-if test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1; then
+  if test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1; then
 
 
 
@@ -25056,7 +26455,7 @@ if test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1; then
 
   gl_LIBOBJS="$gl_LIBOBJS wcwidth.$ac_objext"
 
-fi
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_WCWIDTH 1" >>confdefs.h
-
+printf "%s\n" "#define GNULIB_TEST_WCWIDTH 1" >>confdefs.h
 
 
 
+  :
 
 
-  :
+  for ac_header in stdint.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdint_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_STDINT_H 1
+_ACEOF
 
+fi
 
-  :
+done
 
 
 
@@ -25089,6 +26495,11 @@ $as_echo "#define GNULIB_TEST_WCWIDTH 1" >>confdefs.h
 
   :
 
+  :
+
+
+  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=xasprintf:1:c-format"
+
   # End of code from modules
 
 
@@ -25118,10 +26529,10 @@ $as_echo "#define GNULIB_TEST_WCWIDTH 1" >>confdefs.h
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-$as_echo_n "checking for a traditional french locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
+printf %s "checking for a traditional french locale... " >&6; }
 if ${gt_cv_locale_fr+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -25139,9 +26550,9 @@ char buf[16];
 int main () {
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -25150,7 +26561,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -25176,10 +26587,12 @@ int main () {
      one byte long. This excludes the UTF-8 encoding.  */
   t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
   if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -25187,7 +26600,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -25197,7 +26610,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the native Win32 locale name.
+          # Test for the native Windows locale name.
           if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr=French_France.1252
           else
@@ -25207,7 +26620,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -25243,17 +26656,17 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-$as_echo "$gt_cv_locale_fr" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
+printf "%s\n" "$gt_cv_locale_fr" >&6; }
   LOCALE_FR=$gt_cv_locale_fr
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-$as_echo_n "checking for a french Unicode locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
+printf %s "checking for a french Unicode locale... " >&6; }
 if ${gt_cv_locale_fr_utf8+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -25275,9 +26688,9 @@ int main () {
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
 # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -25286,7 +26699,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 # endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -25312,10 +26725,12 @@ int main () {
       || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
     return 1;
 #endif
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -25323,7 +26738,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -25333,7 +26748,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr_utf8=French_France.65001
           else
@@ -25343,7 +26758,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -25369,18 +26784,18 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-$as_echo "$gt_cv_locale_fr_utf8" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
+printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
   LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-$as_echo_n "checking for a traditional french locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
+printf %s "checking for a traditional french locale... " >&6; }
 if ${gt_cv_locale_fr+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -25398,9 +26813,9 @@ char buf[16];
 int main () {
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -25409,7 +26824,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -25435,10 +26850,12 @@ int main () {
      one byte long. This excludes the UTF-8 encoding.  */
   t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
   if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -25446,7 +26863,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -25456,7 +26873,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the native Win32 locale name.
+          # Test for the native Windows locale name.
           if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr=French_France.1252
           else
@@ -25466,7 +26883,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -25502,18 +26919,18 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-$as_echo "$gt_cv_locale_fr" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
+printf "%s\n" "$gt_cv_locale_fr" >&6; }
   LOCALE_FR=$gt_cv_locale_fr
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a turkish Unicode locale" >&5
-$as_echo_n "checking for a turkish Unicode locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a turkish Unicode locale" >&5
+printf %s "checking for a turkish Unicode locale... " >&6; }
 if ${gt_cv_locale_tr_utf8+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -25536,9 +26953,9 @@ int main () {
      program return 1 on BeOS.  */
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -25547,7 +26964,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -25584,7 +27001,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -25594,7 +27011,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=Turkish_Turkey.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_tr_utf8=Turkish_Turkey.65001
           else
@@ -25604,7 +27021,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -25632,8 +27049,8 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_tr_utf8" >&5
-$as_echo "$gt_cv_locale_tr_utf8" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_tr_utf8" >&5
+printf "%s\n" "$gt_cv_locale_tr_utf8" >&6; }
   LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8
 
 
@@ -25655,131 +27072,99 @@ $as_echo "$gt_cv_locale_tr_utf8" >&6; }
 
 
 
-$as_echo "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h
 
 
 
 
 
 
-  FLOAT_H=
-  REPLACE_FLOAT_LDBL=0
+  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+    REPLACE_FDOPEN=1
+  else
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether fdopen sets errno" >&5
+printf %s "checking whether fdopen sets errno... " >&6; }
+if ${gl_cv_func_fdopen_works+:} false; then :
+  printf %s "(cached) " >&6
+else
+
+        if test "$cross_compiling" = yes; then :
   case "$host_os" in
-    aix* | beos* | openbsd* | mirbsd* | irix*)
-      FLOAT_H=float.h
-      ;;
-    freebsd*)
-      case "$host_cpu" in
-        i[34567]86 )
-          FLOAT_H=float.h
-          ;;
-        x86_64 )
-          # On x86_64 systems, the C compiler may still be generating
-          # 32-bit code.
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+             mingw*) gl_cv_func_fdopen_works="guessing no" ;;
+             *)      gl_cv_func_fdopen_works="guessing yes" ;;
+           esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#if defined __LP64__ || defined __x86_64__ || defined __amd64__
-             yes
-             #endif
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "yes" >/dev/null 2>&1; then :
 
+#include <stdio.h>
+#include <errno.h>
+int
+main (void)
+{
+  FILE *fp;
+  errno = 0;
+  fp = fdopen (-1, "r");
+  if (fp == NULL && errno == 0)
+    return 1;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_fdopen_works=yes
 else
-  FLOAT_H=float.h
+  gl_cv_func_fdopen_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f conftest*
 
-          ;;
-      esac
-      ;;
-  esac
-  case "$host_os" in
-    aix* | freebsd*)
-      if test -n "$FLOAT_H"; then
-        REPLACE_FLOAT_LDBL=1
-      fi
-      ;;
-  esac
-  if test -n "$FLOAT_H"; then
 
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fdopen_works" >&5
+printf "%s\n" "$gl_cv_func_fdopen_works" >&6; }
+    case "$gl_cv_func_fdopen_works" in
+      *no) REPLACE_FDOPEN=1 ;;
+    esac
+  fi
 
+  if test $REPLACE_FDOPEN = 1; then
 
 
 
 
 
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_float_h='<'float.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <float.h>" >&5
-$as_echo_n "checking absolute name of <float.h>... " >&6; }
-if ${gl_cv_next_float_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <float.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
-                                                            gl_cv_next_float_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/float.h#{
-                    s#.*"\(.*/float.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
+  gltests_LIBOBJS="$gltests_LIBOBJS fdopen.$ac_objext"
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_float_h" >&5
-$as_echo "$gl_cv_next_float_h" >&6; }
-     fi
-     NEXT_FLOAT_H=$gl_cv_next_float_h
+  fi
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'float.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_float_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_FLOAT_H=$gl_next_as_first_directive
 
 
 
 
+    if test "$GNULIB_FDOPEN" != 1; then
+        if test "$GNULIB_FDOPEN" = 0; then
+      GNULIB_FDOPEN=$gl_module_indicator_condition
+    else
+      GNULIB_FDOPEN="($GNULIB_FDOPEN || $gl_module_indicator_condition)"
+    fi
   fi
 
-   if test -n "$FLOAT_H"; then
-  GL_GENERATE_FLOAT_H_TRUE=
-  GL_GENERATE_FLOAT_H_FALSE='#'
-else
-  GL_GENERATE_FLOAT_H_TRUE='#'
-  GL_GENERATE_FLOAT_H_FALSE=
-fi
-
 
-if test $REPLACE_FLOAT_LDBL = 1; then
 
 
 
+printf "%s\n" "#define GNULIB_TEST_FDOPEN 1" >>confdefs.h
 
 
 
 
 
-  gltests_LIBOBJS="$gltests_LIBOBJS float.$ac_objext"
-
-fi
-
-
 
 
 
@@ -25790,7 +27175,7 @@ fi
     ;;
   esac
 
-if test $REPLACE_GETCWD = 1; then
+  if test $REPLACE_GETCWD = 1; then
 
 
 
@@ -25801,7 +27186,7 @@ if test $REPLACE_GETCWD = 1; then
 
   gltests_LIBOBJS="$gltests_LIBOBJS getcwd-lgpl.$ac_objext"
 
-fi
+  fi
 
 
 
@@ -25819,7 +27204,7 @@ fi
 
 
 
-$as_echo "#define GNULIB_TEST_GETCWD 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_GETCWD 1" >>confdefs.h
 
 
 
@@ -25859,246 +27244,60 @@ do :
   ac_fn_c_check_header_mongrel "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default"
 if test "x$ac_cv_header_sys_param_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_PARAM_H 1
-_ACEOF
-
-fi
-
-done
-
-    if test $ac_cv_header_sys_param_h = yes; then
-      HAVE_SYS_PARAM_H=1
-    fi
-  fi
-  case "$host_os" in
-    mingw*)
-      REPLACE_GETPAGESIZE=1
-      ;;
-  esac
-      ac_fn_c_check_decl "$LINENO" "getpagesize" "ac_cv_have_decl_getpagesize" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getpagesize" = xyes; then :
-
-else
-  HAVE_DECL_GETPAGESIZE=0
-fi
-
-
-if test $REPLACE_GETPAGESIZE = 1; then
-
-
-
-
-
-
-
-
-  gltests_LIBOBJS="$gltests_LIBOBJS getpagesize.$ac_objext"
-
-fi
-
-
-
-
-
-    if test "$GNULIB_GETPAGESIZE" != 1; then
-        if test "$GNULIB_GETPAGESIZE" = 0; then
-      GNULIB_GETPAGESIZE=$gl_module_indicator_condition
-    else
-      GNULIB_GETPAGESIZE="($GNULIB_GETPAGESIZE || $gl_module_indicator_condition)"
-    fi
-  fi
-
-
-
-
-
-$as_echo "#define GNULIB_TEST_GETPAGESIZE 1" >>confdefs.h
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h conforms to POSIX:2001" >&5
-$as_echo_n "checking whether locale.h conforms to POSIX:2001... " >&6; }
-if ${gl_cv_header_locale_h_posix2001+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <locale.h>
-            int x = LC_MESSAGES;
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_header_locale_h_posix2001=yes
-else
-  gl_cv_header_locale_h_posix2001=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_h_posix2001" >&5
-$as_echo "$gl_cv_header_locale_h_posix2001" >&6; }
-
-
-  :
-
-
-
-
-
-  if test $ac_cv_header_xlocale_h = yes; then
-    HAVE_XLOCALE_H=1
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h defines locale_t" >&5
-$as_echo_n "checking whether locale.h defines locale_t... " >&6; }
-if ${gl_cv_header_locale_has_locale_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <locale.h>
-              locale_t x;
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_header_locale_has_locale_t=yes
-else
-  gl_cv_header_locale_has_locale_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_has_locale_t" >&5
-$as_echo "$gl_cv_header_locale_has_locale_t" >&6; }
-    if test $gl_cv_header_locale_has_locale_t = yes; then
-      gl_cv_header_locale_h_needs_xlocale_h=no
-    else
-      gl_cv_header_locale_h_needs_xlocale_h=yes
-    fi
-  else
-    HAVE_XLOCALE_H=0
-    gl_cv_header_locale_h_needs_xlocale_h=no
-  fi
-
-
+#define HAVE_SYS_PARAM_H 1
+_ACEOF
 
+fi
 
+done
 
+    if test $ac_cv_header_sys_param_h = yes; then
+      HAVE_SYS_PARAM_H=1
+    fi
+  fi
+  case "$host_os" in
+    mingw*)
+      REPLACE_GETPAGESIZE=1
+      ;;
+  esac
+      ac_fn_c_check_decl "$LINENO" "getpagesize" "ac_cv_have_decl_getpagesize" "$ac_includes_default"
+if test "x$ac_cv_have_decl_getpagesize" = xyes; then :
 
+else
+  HAVE_DECL_GETPAGESIZE=0
+fi
 
 
+  if test $REPLACE_GETPAGESIZE = 1; then
 
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_locale_h='<'locale.h'>'
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <locale.h>" >&5
-$as_echo_n "checking absolute name of <locale.h>... " >&6; }
-if ${gl_cv_next_locale_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
 
-               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <locale.h>
 
-_ACEOF
-                                                                                                                        case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
-                                                            gl_cv_next_locale_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-                  sed -n '\#/locale.h#{
-                    s#.*"\(.*/locale.h\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'
 
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_locale_h" >&5
-$as_echo "$gl_cv_next_locale_h" >&6; }
-     fi
-     NEXT_LOCALE_H=$gl_cv_next_locale_h
 
-     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-       gl_next_as_first_directive='<'locale.h'>'
-     else
-       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-       gl_next_as_first_directive=$gl_cv_next_locale_h
-     fi
-     NEXT_AS_FIRST_DIRECTIVE_LOCALE_H=$gl_next_as_first_directive
 
+  gltests_LIBOBJS="$gltests_LIBOBJS getpagesize.$ac_objext"
 
+  fi
 
 
 
 
-    for gl_func in setlocale duplocale; do
-    as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <locale.h>
-/* Some systems provide declarations in a non-standard header.  */
-#if HAVE_XLOCALE_H
-# include <xlocale.h>
-#endif
 
-int
-main ()
-{
-#undef $gl_func
-  (void) $gl_func;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_gl_Symbol=yes"
-else
-  eval "$as_gl_Symbol=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_gl_Symbol
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-    if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
+    if test "$GNULIB_GETPAGESIZE" != 1; then
+        if test "$GNULIB_GETPAGESIZE" = 0; then
+      GNULIB_GETPAGESIZE=$gl_module_indicator_condition
+    else
+      GNULIB_GETPAGESIZE="($GNULIB_GETPAGESIZE || $gl_module_indicator_condition)"
+    fi
+  fi
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
 
-  :
 
+printf "%s\n" "#define GNULIB_TEST_GETPAGESIZE 1" >>confdefs.h
 
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-$as_echo_n "checking for a traditional french locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
+printf %s "checking for a traditional french locale... " >&6; }
 if ${gt_cv_locale_fr+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -26127,9 +27326,9 @@ char buf[16];
 int main () {
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -26138,7 +27337,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -26164,10 +27363,12 @@ int main () {
      one byte long. This excludes the UTF-8 encoding.  */
   t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
   if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -26175,7 +27376,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -26185,7 +27386,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the native Win32 locale name.
+          # Test for the native Windows locale name.
           if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr=French_France.1252
           else
@@ -26195,7 +27396,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -26231,17 +27432,17 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-$as_echo "$gt_cv_locale_fr" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
+printf "%s\n" "$gt_cv_locale_fr" >&6; }
   LOCALE_FR=$gt_cv_locale_fr
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-$as_echo_n "checking for a french Unicode locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
+printf %s "checking for a french Unicode locale... " >&6; }
 if ${gt_cv_locale_fr_utf8+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -26263,9 +27464,9 @@ int main () {
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
 # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -26274,7 +27475,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 # endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -26300,10 +27501,12 @@ int main () {
       || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
     return 1;
 #endif
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -26311,7 +27514,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -26321,7 +27524,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr_utf8=French_France.65001
           else
@@ -26331,7 +27534,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -26357,18 +27560,18 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-$as_echo "$gt_cv_locale_fr_utf8" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
+printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
   LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
-$as_echo_n "checking for a traditional japanese locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
+printf %s "checking for a traditional japanese locale... " >&6; }
 if ${gt_cv_locale_ja+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -26388,9 +27591,9 @@ int main ()
   const char *p;
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -26399,7 +27602,7 @@ int main ()
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -26438,7 +27641,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -26448,13 +27651,14 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Note that on native Win32, the Japanese locale is Japanese_Japan.932,
-          # and CP932 is very different from EUC-JP, so we cannot use it here.
+          # Note that on native Windows, the Japanese locale is
+          # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
+          # cannot use it here.
           gt_cv_locale_ja=none
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the AIX locale name.
@@ -26495,18 +27699,18 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
-$as_echo "$gt_cv_locale_ja" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
+printf "%s\n" "$gt_cv_locale_ja" >&6; }
   LOCALE_JA=$gt_cv_locale_ja
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
-$as_echo_n "checking for a transitional chinese locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
+printf %s "checking for a transitional chinese locale... " >&6; }
 if ${gt_cv_locale_zh_CN+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -26527,9 +27731,9 @@ int main ()
   const char *p;
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -26538,7 +27742,7 @@ int main ()
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -26577,7 +27781,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -26587,7 +27791,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_zh_CN=Chinese_China.54936
           else
@@ -26603,7 +27807,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the locale name without encoding suffix.
@@ -26628,18 +27832,18 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
-$as_echo "$gt_cv_locale_zh_CN" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
+printf "%s\n" "$gt_cv_locale_zh_CN" >&6; }
   LOCALE_ZH_CN=$gt_cv_locale_zh_CN
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a turkish Unicode locale" >&5
-$as_echo_n "checking for a turkish Unicode locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a turkish Unicode locale" >&5
+printf %s "checking for a turkish Unicode locale... " >&6; }
 if ${gt_cv_locale_tr_utf8+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -26662,9 +27866,9 @@ int main () {
      program return 1 on BeOS.  */
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -26673,7 +27877,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -26710,7 +27914,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -26720,7 +27924,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=Turkish_Turkey.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_tr_utf8=Turkish_Turkey.65001
           else
@@ -26730,7 +27934,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -26758,17 +27962,17 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_tr_utf8" >&5
-$as_echo "$gt_cv_locale_tr_utf8" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_tr_utf8" >&5
+printf "%s\n" "$gt_cv_locale_tr_utf8" >&6; }
   LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-$as_echo_n "checking for a french Unicode locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
+printf %s "checking for a french Unicode locale... " >&6; }
 if ${gt_cv_locale_fr_utf8+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -26790,9 +27994,9 @@ int main () {
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
 # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -26801,7 +28005,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 # endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -26827,10 +28031,12 @@ int main () {
       || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
     return 1;
 #endif
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -26838,7 +28044,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -26848,7 +28054,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr_utf8=French_France.65001
           else
@@ -26858,7 +28064,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -26884,18 +28090,18 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-$as_echo "$gt_cv_locale_fr_utf8" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
+printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
   LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-$as_echo_n "checking for a traditional french locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
+printf %s "checking for a traditional french locale... " >&6; }
 if ${gt_cv_locale_fr+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -26913,9 +28119,9 @@ char buf[16];
 int main () {
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -26924,7 +28130,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -26950,10 +28156,12 @@ int main () {
      one byte long. This excludes the UTF-8 encoding.  */
   t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
   if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -26961,7 +28169,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -26971,7 +28179,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the native Win32 locale name.
+          # Test for the native Windows locale name.
           if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr=French_France.1252
           else
@@ -26981,7 +28189,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -27017,17 +28225,17 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-$as_echo "$gt_cv_locale_fr" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
+printf "%s\n" "$gt_cv_locale_fr" >&6; }
   LOCALE_FR=$gt_cv_locale_fr
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-$as_echo_n "checking for a french Unicode locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
+printf %s "checking for a french Unicode locale... " >&6; }
 if ${gt_cv_locale_fr_utf8+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -27049,9 +28257,9 @@ int main () {
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
 # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -27060,7 +28268,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 # endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -27086,10 +28294,12 @@ int main () {
       || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
     return 1;
 #endif
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -27097,7 +28307,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -27107,7 +28317,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr_utf8=French_France.65001
           else
@@ -27117,7 +28327,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -27143,18 +28353,18 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-$as_echo "$gt_cv_locale_fr_utf8" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
+printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
   LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
-$as_echo_n "checking for a traditional japanese locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
+printf %s "checking for a traditional japanese locale... " >&6; }
 if ${gt_cv_locale_ja+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -27174,9 +28384,9 @@ int main ()
   const char *p;
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -27185,7 +28395,7 @@ int main ()
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -27224,7 +28434,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -27234,13 +28444,14 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Note that on native Win32, the Japanese locale is Japanese_Japan.932,
-          # and CP932 is very different from EUC-JP, so we cannot use it here.
+          # Note that on native Windows, the Japanese locale is
+          # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
+          # cannot use it here.
           gt_cv_locale_ja=none
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the AIX locale name.
@@ -27281,18 +28492,18 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
-$as_echo "$gt_cv_locale_ja" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
+printf "%s\n" "$gt_cv_locale_ja" >&6; }
   LOCALE_JA=$gt_cv_locale_ja
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
-$as_echo_n "checking for a transitional chinese locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
+printf %s "checking for a transitional chinese locale... " >&6; }
 if ${gt_cv_locale_zh_CN+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -27313,9 +28524,9 @@ int main ()
   const char *p;
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -27324,7 +28535,7 @@ int main ()
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -27363,7 +28574,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -27373,7 +28584,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_zh_CN=Chinese_China.54936
           else
@@ -27389,7 +28600,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the locale name without encoding suffix.
@@ -27414,17 +28625,17 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
-$as_echo "$gt_cv_locale_zh_CN" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
+printf "%s\n" "$gt_cv_locale_zh_CN" >&6; }
   LOCALE_ZH_CN=$gt_cv_locale_zh_CN
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-$as_echo_n "checking for a french Unicode locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
+printf %s "checking for a french Unicode locale... " >&6; }
 if ${gt_cv_locale_fr_utf8+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -27446,9 +28657,9 @@ int main () {
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
 # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -27457,7 +28668,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 # endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -27483,10 +28694,12 @@ int main () {
       || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
     return 1;
 #endif
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -27494,7 +28707,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -27504,7 +28717,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr_utf8=French_France.65001
           else
@@ -27514,7 +28727,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -27540,18 +28753,18 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-$as_echo "$gt_cv_locale_fr_utf8" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
+printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
   LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
-$as_echo_n "checking for a transitional chinese locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
+printf %s "checking for a transitional chinese locale... " >&6; }
 if ${gt_cv_locale_zh_CN+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -27572,9 +28785,9 @@ int main ()
   const char *p;
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -27583,7 +28796,7 @@ int main ()
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -27622,7 +28835,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -27632,7 +28845,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_zh_CN=Chinese_China.54936
           else
@@ -27648,7 +28861,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the locale name without encoding suffix.
@@ -27673,8 +28886,8 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
-$as_echo "$gt_cv_locale_zh_CN" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
+printf "%s\n" "$gt_cv_locale_zh_CN" >&6; }
   LOCALE_ZH_CN=$gt_cv_locale_zh_CN
 
 
   # Try to allow MAP_ANONYMOUS.
   gl_have_mmap_anonymous=no
   if test $gl_have_mmap = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5
-$as_echo_n "checking for MAP_ANONYMOUS... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5
+printf %s "checking for MAP_ANONYMOUS... " >&6; }
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #include <sys/mman.h>
 #ifdef MAP_ANONYMOUS
-    I cant identify this map
+    I cannot identify this map
 #endif
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "I cant identify this map" >/dev/null 2>&1; then :
+  $EGREP "I cannot identify this map" >/dev/null 2>&1; then :
   gl_have_mmap_anonymous=yes
 fi
-rm -f conftest*
+rm -rf conftest*
 
     if test $gl_have_mmap_anonymous != yes; then
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -27718,50 +28931,38 @@ rm -f conftest*
 
 #include <sys/mman.h>
 #ifdef MAP_ANON
-    I cant identify this map
+    I cannot identify this map
 #endif
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "I cant identify this map" >/dev/null 2>&1; then :
+  $EGREP "I cannot identify this map" >/dev/null 2>&1; then :
 
-$as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h
+printf "%s\n" "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h
 
          gl_have_mmap_anonymous=yes
 fi
-rm -f conftest*
+rm -rf conftest*
 
     fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5
-$as_echo "$gl_have_mmap_anonymous" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5
+printf "%s\n" "$gl_have_mmap_anonymous" >&6; }
     if test $gl_have_mmap_anonymous = yes; then
 
-$as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h
+printf "%s\n" "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h
 
     fi
   fi
 
 
-  :
-
-
-
-
-
-
-  :
-
-
 
 
 
 
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-$as_echo_n "checking for a traditional french locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
+printf %s "checking for a traditional french locale... " >&6; }
 if ${gt_cv_locale_fr+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -27779,9 +28980,9 @@ char buf[16];
 int main () {
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -27790,7 +28991,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -27816,10 +29017,12 @@ int main () {
      one byte long. This excludes the UTF-8 encoding.  */
   t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
   if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -27827,7 +29030,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -27837,7 +29040,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the native Win32 locale name.
+          # Test for the native Windows locale name.
           if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr=French_France.1252
           else
@@ -27847,7 +29050,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -27883,17 +29086,17 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-$as_echo "$gt_cv_locale_fr" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
+printf "%s\n" "$gt_cv_locale_fr" >&6; }
   LOCALE_FR=$gt_cv_locale_fr
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-$as_echo_n "checking for a french Unicode locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
+printf %s "checking for a french Unicode locale... " >&6; }
 if ${gt_cv_locale_fr_utf8+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -27915,9 +29118,9 @@ int main () {
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
 # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -27926,7 +29129,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 # endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -27952,10 +29155,12 @@ int main () {
       || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
     return 1;
 #endif
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -27963,7 +29168,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -27973,7 +29178,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr_utf8=French_France.65001
           else
@@ -27983,7 +29188,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -28009,20 +29214,26 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-$as_echo "$gt_cv_locale_fr_utf8" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
+printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
   LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for putenv compatible with GNU and SVID" >&5
-$as_echo_n "checking for putenv compatible with GNU and SVID... " >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for putenv compatible with GNU and SVID" >&5
+printf %s "checking for putenv compatible with GNU and SVID... " >&6; }
 if ${gl_cv_func_svid_putenv+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
-               gl_cv_func_svid_putenv=no
+               case "$host_os" in
+                        # Guess yes on glibc systems.
+                *-gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
+                        # If we don't know, assume the worst.
+                *)      gl_cv_func_svid_putenv="guessing no" ;;
+              esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_svid_putenv" >&5
-$as_echo "$gl_cv_func_svid_putenv" >&6; }
-  if test $gl_cv_func_svid_putenv = no; then
-    REPLACE_PUTENV=1
-  fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_svid_putenv" >&5
+printf "%s\n" "$gl_cv_func_svid_putenv" >&6; }
+  case "$gl_cv_func_svid_putenv" in
+    *yes) ;;
+    *)
+      REPLACE_PUTENV=1
+      ;;
+  esac
 
-if test $REPLACE_PUTENV = 1; then
+  if test $REPLACE_PUTENV = 1; then
 
 
 
@@ -28077,8 +29291,21 @@ if test $REPLACE_PUTENV = 1; then
 
   gltests_LIBOBJS="$gltests_LIBOBJS putenv.$ac_objext"
 
+
+  ac_fn_c_check_decl "$LINENO" "_putenv" "ac_cv_have_decl__putenv" "$ac_includes_default"
+if test "x$ac_cv_have_decl__putenv" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
 fi
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL__PUTENV $ac_have_decl
+_ACEOF
+
+
+  fi
+
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_PUTENV 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_PUTENV 1" >>confdefs.h
 
 
 
 
 
-  if test $ac_cv_func_setenv = no; then
+     if test $ac_cv_func_setenv = no; then
     HAVE_SETENV=0
   else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setenv validates arguments" >&5
-$as_echo_n "checking whether setenv validates arguments... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether setenv validates arguments" >&5
+printf %s "checking whether setenv validates arguments... " >&6; }
 if ${gl_cv_func_setenv_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
-  gl_cv_func_setenv_works="guessing no"
+  case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_setenv_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_setenv_works="guessing no" ;;
+       esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -28152,14 +29385,17 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setenv_works" >&5
-$as_echo "$gl_cv_func_setenv_works" >&6; }
-    if test "$gl_cv_func_setenv_works" != yes; then
-      REPLACE_SETENV=1
-    fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setenv_works" >&5
+printf "%s\n" "$gl_cv_func_setenv_works" >&6; }
+    case "$gl_cv_func_setenv_works" in
+      *yes) ;;
+      *)
+        REPLACE_SETENV=1
+        ;;
+    esac
   fi
 
-if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
+  if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
 
 
 
@@ -28170,7 +29406,7 @@ if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
 
   gltests_LIBOBJS="$gltests_LIBOBJS setenv.$ac_objext"
 
-fi
+  fi
 
 
 
@@ -28188,7 +29424,7 @@ fi
 
 
 
-$as_echo "#define GNULIB_TEST_SETENV 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_SETENV 1" >>confdefs.h
 
 
 
@@ -28204,7 +29440,7 @@ $as_echo "#define GNULIB_TEST_SETENV 1" >>confdefs.h
       ;;
   esac
 
-if test $REPLACE_SETLOCALE = 1; then
+  if test $REPLACE_SETLOCALE = 1; then
 
 
 
@@ -28218,7 +29454,7 @@ if test $REPLACE_SETLOCALE = 1; then
 
   :
 
-fi
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_SETLOCALE 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_SETLOCALE 1" >>confdefs.h
 
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-$as_echo_n "checking for a traditional french locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
+printf %s "checking for a traditional french locale... " >&6; }
 if ${gt_cv_locale_fr+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -28264,9 +29500,9 @@ char buf[16];
 int main () {
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -28275,7 +29511,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -28301,10 +29537,12 @@ int main () {
      one byte long. This excludes the UTF-8 encoding.  */
   t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
   if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -28312,7 +29550,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -28322,7 +29560,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the native Win32 locale name.
+          # Test for the native Windows locale name.
           if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr=French_France.1252
           else
@@ -28332,7 +29570,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -28368,17 +29606,17 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-$as_echo "$gt_cv_locale_fr" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
+printf "%s\n" "$gt_cv_locale_fr" >&6; }
   LOCALE_FR=$gt_cv_locale_fr
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-$as_echo_n "checking for a french Unicode locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
+printf %s "checking for a french Unicode locale... " >&6; }
 if ${gt_cv_locale_fr_utf8+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -28400,9 +29638,9 @@ int main () {
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
 # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -28411,7 +29649,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 # endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -28437,10 +29675,12 @@ int main () {
       || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
     return 1;
 #endif
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -28448,7 +29688,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -28458,7 +29698,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr_utf8=French_France.65001
           else
@@ -28468,7 +29708,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -28494,18 +29734,18 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-$as_echo "$gt_cv_locale_fr_utf8" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
+printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
   LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
-$as_echo_n "checking for a traditional japanese locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
+printf %s "checking for a traditional japanese locale... " >&6; }
 if ${gt_cv_locale_ja+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -28525,9 +29765,9 @@ int main ()
   const char *p;
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -28536,7 +29776,7 @@ int main ()
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -28575,7 +29815,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -28585,13 +29825,14 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Note that on native Win32, the Japanese locale is Japanese_Japan.932,
-          # and CP932 is very different from EUC-JP, so we cannot use it here.
+          # Note that on native Windows, the Japanese locale is
+          # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
+          # cannot use it here.
           gt_cv_locale_ja=none
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the AIX locale name.
@@ -28632,18 +29873,18 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
-$as_echo "$gt_cv_locale_ja" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
+printf "%s\n" "$gt_cv_locale_ja" >&6; }
   LOCALE_JA=$gt_cv_locale_ja
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
-$as_echo_n "checking for a transitional chinese locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
+printf %s "checking for a transitional chinese locale... " >&6; }
 if ${gt_cv_locale_zh_CN+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -28664,9 +29905,9 @@ int main ()
   const char *p;
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -28675,7 +29916,7 @@ int main ()
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -28714,7 +29955,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -28724,7 +29965,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_zh_CN=Chinese_China.54936
           else
@@ -28740,7 +29981,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the locale name without encoding suffix.
@@ -28765,109 +30006,14 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
-$as_echo "$gt_cv_locale_zh_CN" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
+printf "%s\n" "$gt_cv_locale_zh_CN" >&6; }
   LOCALE_ZH_CN=$gt_cv_locale_zh_CN
 
 
 
-  for ac_header in stdint.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdint_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STDINT_H 1
-_ACEOF
-
-fi
-
-done
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SIZE_MAX" >&5
-$as_echo_n "checking for SIZE_MAX... " >&6; }
-if ${gl_cv_size_max+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    gl_cv_size_max=
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <limits.h>
-#if HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#ifdef SIZE_MAX
-Found it
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "Found it" >/dev/null 2>&1; then :
-  gl_cv_size_max=yes
-fi
-rm -f conftest*
-
-    if test -z "$gl_cv_size_max"; then
-                        if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) * CHAR_BIT - 1" "size_t_bits_minus_1"        "#include <stddef.h>
-#include <limits.h>"; then :
-
-else
-  size_t_bits_minus_1=
-fi
-
-      if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) <= sizeof (unsigned int)" "fits_in_uint"        "#include <stddef.h>"; then :
-
-else
-  fits_in_uint=
-fi
-
-      if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then
-        if test $fits_in_uint = 1; then
-                              cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stddef.h>
-                 extern size_t foo;
-                 extern unsigned long foo;
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  fits_in_uint=0
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-        fi
-                                if test $fits_in_uint = 1; then
-          gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)"
-        else
-          gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)"
-        fi
-      else
-                gl_cv_size_max='((size_t)~(size_t)0)'
-      fi
-    fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_max" >&5
-$as_echo "$gl_cv_size_max" >&6; }
-  if test "$gl_cv_size_max" != yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define SIZE_MAX $gl_cv_size_max
-_ACEOF
-
-  fi
-
-
-
 
-            ac_fn_c_check_decl "$LINENO" "sleep" "ac_cv_have_decl_sleep" "#include <unistd.h>
+               ac_fn_c_check_decl "$LINENO" "sleep" "ac_cv_have_decl_sleep" "#include <unistd.h>
 "
 if test "x$ac_cv_have_decl_sleep" = xyes; then :
   ac_have_decl=1
@@ -28880,22 +30026,22 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
-  :
-
-
-
-
-
   if test $ac_cv_have_decl_sleep != yes; then
     HAVE_SLEEP=0
   else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working sleep" >&5
-$as_echo_n "checking for working sleep... " >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working sleep" >&5
+printf %s "checking for working sleep... " >&6; }
 if ${gl_cv_func_sleep_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
-  gl_cv_func_sleep_works="guessing no"
+  case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_sleep_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_sleep_works="guessing no" ;;
+       esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -28941,14 +30087,17 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_sleep_works" >&5
-$as_echo "$gl_cv_func_sleep_works" >&6; }
-    if test "$gl_cv_func_sleep_works" != yes; then
-      REPLACE_SLEEP=1
-    fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_sleep_works" >&5
+printf "%s\n" "$gl_cv_func_sleep_works" >&6; }
+    case "$gl_cv_func_sleep_works" in
+      *yes) ;;
+      *)
+        REPLACE_SLEEP=1
+        ;;
+    esac
   fi
 
-if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then
+  if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then
 
 
 
@@ -28959,7 +30108,7 @@ if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then
 
   gltests_LIBOBJS="$gltests_LIBOBJS sleep.$ac_objext"
 
-fi
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_SLEEP 1" >>confdefs.h
-
-
-
-
-  :
-
+printf "%s\n" "#define GNULIB_TEST_SLEEP 1" >>confdefs.h
 
 
 
@@ -29005,10 +30148,11 @@ done
   if test $ac_cv_func_snprintf = yes; then
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf respects a size of 1" >&5
-$as_echo_n "checking whether snprintf respects a size of 1... " >&6; }
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether snprintf respects a size of 1" >&5
+printf %s "checking whether snprintf respects a size of 1... " >&6; }
 if ${gl_cv_func_snprintf_size1+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
       if test "$cross_compiling" = yes; then :
@@ -29018,10 +30162,24 @@ else
 /* end confdefs.h.  */
 
 #include <stdio.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+static int my_snprintf (char *buf, int size, const char *format, ...)
+{
+  va_list args;
+  int ret;
+  va_start (args, format);
+  ret = vsnprintf (buf, size, format, args);
+  va_end (args);
+  return ret;
+}
+#endif
 int main()
 {
   static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' };
-  snprintf (buf, 1, "%d", 12345);
+  my_snprintf (buf, 1, "%d", 12345);
   return buf[1] != 'E';
 }
 _ACEOF
@@ -29036,8 +30194,8 @@ fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_size1" >&5
-$as_echo "$gl_cv_func_snprintf_size1" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_size1" >&5
+printf "%s\n" "$gl_cv_func_snprintf_size1" >&6; }
 
     case "$gl_cv_func_snprintf_size1" in
       *yes)
@@ -29046,10 +30204,10 @@ $as_echo "$gl_cv_func_snprintf_size1" >&6; }
           *yes)
 
 
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports POSIX/XSI format strings with positions" >&5
-$as_echo_n "checking whether printf supports POSIX/XSI format strings with positions... " >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether printf supports POSIX/XSI format strings with positions" >&5
+printf %s "checking whether printf supports POSIX/XSI format strings with positions... " >&6; }
 if ${gl_cv_func_printf_positions+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
       if test "$cross_compiling" = yes; then :
@@ -29089,8 +30247,8 @@ fi
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_positions" >&5
-$as_echo "$gl_cv_func_printf_positions" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_positions" >&5
+printf "%s\n" "$gl_cv_func_printf_positions" >&6; }
 
             case "$gl_cv_func_printf_positions" in
               *yes)
@@ -29122,12 +30280,6 @@ $as_echo "$gl_cv_func_printf_positions" >&6; }
 
   fi
 
-  :
-
-
-
-
-
   if test $ac_cv_have_decl_snprintf = no; then
     HAVE_DECL_SNPRINTF=0
   fi
@@ -29149,7 +30301,7 @@ $as_echo "$gl_cv_func_printf_positions" >&6; }
 
 
 
-$as_echo "#define GNULIB_TEST_SNPRINTF 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_SNPRINTF 1" >>confdefs.h
 
 
 
@@ -29161,78 +30313,6 @@ _ACEOF
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5
-$as_echo_n "checking for wchar_t... " >&6; }
-if ${gt_cv_c_wchar_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stddef.h>
-            wchar_t foo = (wchar_t)'\0';
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_c_wchar_t=yes
-else
-  gt_cv_c_wchar_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5
-$as_echo "$gt_cv_c_wchar_t" >&6; }
-  if test $gt_cv_c_wchar_t = yes; then
-
-$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h
-
-  fi
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
-$as_echo_n "checking for wint_t... " >&6; }
-if ${gt_cv_c_wint_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-   <wchar.h>.
-   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
-   before <wchar.h>.  */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-#include <wchar.h>
-            wint_t foo = (wchar_t)'\0';
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gt_cv_c_wint_t=yes
-else
-  gt_cv_c_wint_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5
-$as_echo "$gt_cv_c_wint_t" >&6; }
-  if test $gt_cv_c_wint_t = yes; then
-
-$as_echo "#define HAVE_WINT_T 1" >>confdefs.h
-
-  fi
 
 
 
   # Try to allow MAP_ANONYMOUS.
   gl_have_mmap_anonymous=no
   if test $gl_have_mmap = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5
-$as_echo_n "checking for MAP_ANONYMOUS... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5
+printf %s "checking for MAP_ANONYMOUS... " >&6; }
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #include <sys/mman.h>
 #ifdef MAP_ANONYMOUS
-    I cant identify this map
+    I cannot identify this map
 #endif
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "I cant identify this map" >/dev/null 2>&1; then :
+  $EGREP "I cannot identify this map" >/dev/null 2>&1; then :
   gl_have_mmap_anonymous=yes
 fi
-rm -f conftest*
+rm -rf conftest*
 
     if test $gl_have_mmap_anonymous != yes; then
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -29274,48 +30354,30 @@ rm -f conftest*
 
 #include <sys/mman.h>
 #ifdef MAP_ANON
-    I cant identify this map
+    I cannot identify this map
 #endif
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "I cant identify this map" >/dev/null 2>&1; then :
+  $EGREP "I cannot identify this map" >/dev/null 2>&1; then :
 
-$as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h
+printf "%s\n" "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h
 
          gl_have_mmap_anonymous=yes
 fi
-rm -f conftest*
+rm -rf conftest*
 
     fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5
-$as_echo "$gl_have_mmap_anonymous" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5
+printf "%s\n" "$gl_have_mmap_anonymous" >&6; }
     if test $gl_have_mmap_anonymous = yes; then
 
-$as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h
+printf "%s\n" "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h
 
     fi
   fi
 
 
-  :
-
-
-
-
-
-
-  :
-
-
-
-
-
-
-
-
-  :
-
 
 
 
@@ -29323,13 +30385,19 @@ $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h
         if test $ac_cv_func_symlink = no; then
     HAVE_SYMLINK=0
   else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symlink handles trailing slash correctly" >&5
-$as_echo_n "checking whether symlink handles trailing slash correctly... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether symlink handles trailing slash correctly" >&5
+printf %s "checking whether symlink handles trailing slash correctly... " >&6; }
 if ${gl_cv_func_symlink_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
-  gl_cv_func_symlink_works="guessing no"
+  case "$host_os" in
+                    # Guess yes on glibc systems.
+            *-gnu*) gl_cv_func_symlink_works="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_symlink_works="guessing no" ;;
+          esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
       rm -f conftest.f conftest.link conftest.lnk2
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlink_works" >&5
-$as_echo "$gl_cv_func_symlink_works" >&6; }
-    if test "$gl_cv_func_symlink_works" != yes; then
-      REPLACE_SYMLINK=1
-    fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlink_works" >&5
+printf "%s\n" "$gl_cv_func_symlink_works" >&6; }
+    case "$gl_cv_func_symlink_works" in
+      *yes) ;;
+      *)
+        REPLACE_SYMLINK=1
+        ;;
+    esac
   fi
 
-if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then
+  if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then
 
 
 
@@ -29380,7 +30451,7 @@ if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then
 
   gltests_LIBOBJS="$gltests_LIBOBJS symlink.$ac_objext"
 
-fi
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h
-
-
-
+printf "%s\n" "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h
 
 
 
-  :
-
-
 
 
 
@@ -29429,10 +30494,10 @@ done
     HAVE_UNSETENV=0
   else
     HAVE_UNSETENV=1
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsetenv() return type" >&5
-$as_echo_n "checking for unsetenv() return type... " >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for unsetenv() return type" >&5
+printf %s "checking for unsetenv() return type... " >&6; }
 if ${gt_cv_func_unsetenv_ret+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -29444,11 +30509,7 @@ extern
 #ifdef __cplusplus
 "C"
 #endif
-#if defined(__STDC__) || defined(__cplusplus)
 int unsetenv (const char *name);
-#else
-int unsetenv();
-#endif
 
 int
 main ()
@@ -29465,22 +30526,28 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_unsetenv_ret" >&5
-$as_echo "$gt_cv_func_unsetenv_ret" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_unsetenv_ret" >&5
+printf "%s\n" "$gt_cv_func_unsetenv_ret" >&6; }
     if test $gt_cv_func_unsetenv_ret = 'void'; then
 
-$as_echo "#define VOID_UNSETENV 1" >>confdefs.h
+printf "%s\n" "#define VOID_UNSETENV 1" >>confdefs.h
 
       REPLACE_UNSETENV=1
     fi
 
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unsetenv obeys POSIX" >&5
-$as_echo_n "checking whether unsetenv obeys POSIX... " >&6; }
+                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether unsetenv obeys POSIX" >&5
+printf %s "checking whether unsetenv obeys POSIX... " >&6; }
 if ${gl_cv_func_unsetenv_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
-  gl_cv_func_unsetenv_works="guessing no"
+  case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_unsetenv_works="guessing no" ;;
+       esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -29523,14 +30590,17 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unsetenv_works" >&5
-$as_echo "$gl_cv_func_unsetenv_works" >&6; }
-    if test "$gl_cv_func_unsetenv_works" != yes; then
-      REPLACE_UNSETENV=1
-    fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unsetenv_works" >&5
+printf "%s\n" "$gl_cv_func_unsetenv_works" >&6; }
+    case "$gl_cv_func_unsetenv_works" in
+      *yes) ;;
+      *)
+        REPLACE_UNSETENV=1
+        ;;
+    esac
   fi
 
-if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
+  if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
 
 
 
@@ -29544,14 +30614,8 @@ if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
 
 
 
-  :
-
-
-
-
-
 
-fi
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_UNSETENV 1" >>confdefs.h
-
-
+printf "%s\n" "#define GNULIB_TEST_UNSETENV 1" >>confdefs.h
 
-abs_aux_dir=`cd "$ac_aux_dir"; pwd`
 
 
-
-
-
-  :
+  abs_aux_dir=`cd "$ac_aux_dir"; pwd`
 
 
 
@@ -29590,20 +30648,26 @@ if test "x$ac_cv_type_useconds_t" = xyes; then :
 
 else
 
-$as_echo "#define useconds_t unsigned int" >>confdefs.h
+printf "%s\n" "#define useconds_t unsigned int" >>confdefs.h
 
 fi
 
   if test $ac_cv_func_usleep = no; then
     HAVE_USLEEP=0
   else
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether usleep allows large arguments" >&5
-$as_echo_n "checking whether usleep allows large arguments... " >&6; }
+            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether usleep allows large arguments" >&5
+printf %s "checking whether usleep allows large arguments... " >&6; }
 if ${gl_cv_func_usleep_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
-  gl_cv_func_usleep_works="guessing no"
+  case "$host_os" in
+                   # Guess yes on glibc systems.
+           *-gnu*) gl_cv_func_usleep_works="guessing yes" ;;
+                   # If we don't know, assume the worst.
+           *)      gl_cv_func_usleep_works="guessing no" ;;
+         esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -29628,14 +30692,17 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_usleep_works" >&5
-$as_echo "$gl_cv_func_usleep_works" >&6; }
-    if test "$gl_cv_func_usleep_works" != yes; then
-      REPLACE_USLEEP=1
-    fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_usleep_works" >&5
+printf "%s\n" "$gl_cv_func_usleep_works" >&6; }
+    case "$gl_cv_func_usleep_works" in
+      *yes) ;;
+      *)
+        REPLACE_USLEEP=1
+        ;;
+    esac
   fi
 
-if test $HAVE_USLEEP = 0 || test $REPLACE_USLEEP = 1; then
+  if test $HAVE_USLEEP = 0 || test $REPLACE_USLEEP = 1; then
 
 
 
@@ -29646,7 +30713,7 @@ if test $HAVE_USLEEP = 0 || test $REPLACE_USLEEP = 1; then
 
   gltests_LIBOBJS="$gltests_LIBOBJS usleep.$ac_objext"
 
-fi
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_USLEEP 1" >>confdefs.h
-
-
-
-
-
-  :
-
-
-
-
-
-  if test $ac_cv_func_vasnprintf = no; then
-
-
-  :
-
-
-
-
-
-
-
-
-
-
-
-
-
-  gltests_LIBOBJS="$gltests_LIBOBJS vasnprintf.$ac_objext"
-
-
-
-
-
-
-
-
-
-  gltests_LIBOBJS="$gltests_LIBOBJS printf-args.$ac_objext"
-
-
-
-
-
-
-
-
-
-  gltests_LIBOBJS="$gltests_LIBOBJS printf-parse.$ac_objext"
-
-
-
-
-
-
-
-
-
-  gltests_LIBOBJS="$gltests_LIBOBJS asnprintf.$ac_objext"
-
-  if test $ac_cv_func_vasnprintf = yes; then
-
-$as_echo "#define REPLACE_VASNPRINTF 1" >>confdefs.h
-
-  fi
-
-
-
-
-
-
-
-
-
-
+printf "%s\n" "#define GNULIB_TEST_USLEEP 1" >>confdefs.h
 
-  ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default"
-if test "x$ac_cv_type_ptrdiff_t" = xyes; then :
-
-else
-
-$as_echo "#define ptrdiff_t long" >>confdefs.h
-
-
-fi
 
 
+  abs_aux_dir=`cd "$ac_aux_dir"; pwd`
 
 
 
 
-
-  fi
-
-abs_aux_dir=`cd "$ac_aux_dir"; pwd`
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-$as_echo_n "checking for a traditional french locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
+printf %s "checking for a traditional french locale... " >&6; }
 if ${gt_cv_locale_fr+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -29785,9 +30761,9 @@ char buf[16];
 int main () {
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -29796,7 +30772,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -29822,10 +30798,12 @@ int main () {
      one byte long. This excludes the UTF-8 encoding.  */
   t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
   if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -29833,7 +30811,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -29843,7 +30821,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the native Win32 locale name.
+          # Test for the native Windows locale name.
           if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr=French_France.1252
           else
@@ -29853,7 +30831,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -29889,17 +30867,17 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-$as_echo "$gt_cv_locale_fr" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
+printf "%s\n" "$gt_cv_locale_fr" >&6; }
   LOCALE_FR=$gt_cv_locale_fr
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
-$as_echo_n "checking for a french Unicode locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
+printf %s "checking for a french Unicode locale... " >&6; }
 if ${gt_cv_locale_fr_utf8+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -29921,9 +30899,9 @@ int main () {
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
 # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -29932,7 +30910,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 # endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -29958,10 +30936,12 @@ int main () {
       || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
     return 1;
 #endif
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 
@@ -29969,7 +30949,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -29979,7 +30959,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr_utf8=French_France.65001
           else
@@ -29989,7 +30969,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -30015,18 +30995,18 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
-$as_echo "$gt_cv_locale_fr_utf8" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
+printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; }
   LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
-$as_echo_n "checking for a traditional japanese locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
+printf %s "checking for a traditional japanese locale... " >&6; }
 if ${gt_cv_locale_ja+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -30046,9 +31026,9 @@ int main ()
   const char *p;
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -30057,7 +31037,7 @@ int main ()
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -30096,7 +31076,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -30106,13 +31086,14 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Note that on native Win32, the Japanese locale is Japanese_Japan.932,
-          # and CP932 is very different from EUC-JP, so we cannot use it here.
+          # Note that on native Windows, the Japanese locale is
+          # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
+          # cannot use it here.
           gt_cv_locale_ja=none
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the AIX locale name.
@@ -30153,18 +31134,18 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
-$as_echo "$gt_cv_locale_ja" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
+printf "%s\n" "$gt_cv_locale_ja" >&6; }
   LOCALE_JA=$gt_cv_locale_ja
 
 
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
-$as_echo_n "checking for a transitional chinese locale... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
+printf %s "checking for a transitional chinese locale... " >&6; }
 if ${gt_cv_locale_zh_CN+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -30185,9 +31166,9 @@ int main ()
   const char *p;
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -30196,7 +31177,7 @@ int main ()
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -30235,7 +31216,7 @@ _ACEOF
     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s conftest$ac_exeext; then
       case "$host_os" in
         # Handle native Windows specially, because there setlocale() interprets
@@ -30245,7 +31226,7 @@ _ACEOF
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_zh_CN=Chinese_China.54936
           else
@@ -30261,7 +31242,7 @@ _ACEOF
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the locale name without encoding suffix.
@@ -30286,8 +31267,8 @@ _ACEOF
     rm -fr conftest*
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
-$as_echo "$gt_cv_locale_zh_CN" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
+printf "%s\n" "$gt_cv_locale_zh_CN" >&6; }
   LOCALE_ZH_CN=$gt_cv_locale_zh_CN
 
 
@@ -30295,12 +31276,6 @@ $as_echo "$gt_cv_locale_zh_CN" >&6; }
 
 
 
-  :
-
-
-
-
-
   if test $ac_cv_func_wctob = no; then
     HAVE_WCTOB=0
     HAVE_DECL_WCTOB=0
@@ -30309,10 +31284,10 @@ $as_echo "$gt_cv_locale_zh_CN" >&6; }
 
 
 
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wctob works" >&5
-$as_echo_n "checking whether wctob works... " >&6; }
+         { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether wctob works" >&5
+printf %s "checking whether wctob works... " >&6; }
 if ${gl_cv_func_wctob_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                         case "$host_os" in
@@ -30407,8 +31382,8 @@ fi
         fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wctob_works" >&5
-$as_echo "$gl_cv_func_wctob_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wctob_works" >&5
+printf "%s\n" "$gl_cv_func_wctob_works" >&6; }
     case "$gl_cv_func_wctob_works" in
       *yes) ;;
       *) REPLACE_WCTOB=1 ;;
@@ -30442,7 +31417,7 @@ _ACEOF
     fi
   fi
 
-if test $HAVE_WCTOB = 0 || test $REPLACE_WCTOB = 1; then
+  if test $HAVE_WCTOB = 0 || test $REPLACE_WCTOB = 1; then
 
 
 
@@ -30456,7 +31431,7 @@ if test $HAVE_WCTOB = 0 || test $REPLACE_WCTOB = 1; then
 
   :
 
-fi
+  fi
 
 
 
@@ -30474,7 +31449,7 @@ fi
 
 
 
-$as_echo "#define GNULIB_TEST_WCTOB 1" >>confdefs.h
+printf "%s\n" "#define GNULIB_TEST_WCTOB 1" >>confdefs.h
 
 
 
@@ -30485,7 +31460,7 @@ $as_echo "#define GNULIB_TEST_WCTOB 1" >>confdefs.h
     REPLACE_WCTOMB=1
   fi
 
-if test $REPLACE_WCTOMB = 1; then
+  if test $REPLACE_WCTOMB = 1; then
 
 
 
@@ -30499,7 +31474,7 @@ if test $REPLACE_WCTOMB = 1; then
 
   :
 
-fi
+  fi
 
 
 
 
 
 
-$as_echo "#define GNULIB_TEST_WCTOMB 1" >>confdefs.h
-
-
-
-
-
+printf "%s\n" "#define GNULIB_TEST_WCTOMB 1" >>confdefs.h
 
-  for ac_header in stdint.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdint_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STDINT_H 1
-_ACEOF
-
-fi
-
-done
 
 
 
@@ -30563,20 +31522,24 @@ if test "${enable_gcc_warnings+set}" = set; then :
    esac
    gl_gcc_warnings=$enableval
 else
-  gl_gcc_warnings=no
+  if test -d "$srcdir"/.git; then
+     gl_gcc_warnings=yes
+   else
+     gl_gcc_warnings=no
+   fi
 
 fi
 
 
 if test "$gl_gcc_warnings" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Werror" >&5
-$as_echo_n "checking whether compiler handles -Werror... " >&6; }
-if ${gl_cv_warn__Werror+:} false; then :
-  $as_echo_n "(cached) " >&6
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror" >&5
+printf %s "checking whether C compiler handles -Werror... " >&6; }
+if ${gl_cv_warn_c__Werror+:} false; then :
+  printf %s "(cached) " >&6
 else
 
-  gl_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="${CPPFLAGS} -Werror"
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " -Werror"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -30588,23 +31551,24 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  gl_cv_warn__Werror=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_warn_c__Werror=yes
 else
-  gl_cv_warn__Werror=no
+  gl_cv_warn_c__Werror=no
 fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-  CPPFLAGS="$gl_save_CPPFLAGS"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Werror" >&5
-$as_echo "$gl_cv_warn__Werror" >&6; }
-if test "x$gl_cv_warn__Werror" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Werror" >&5
+printf "%s\n" "$gl_cv_warn_c__Werror" >&6; }
+if test "x$gl_cv_warn_c__Werror" = xyes; then :
   as_fn_append WERROR_CFLAGS " -Werror"
 fi
 
 
 
+
   nw=
   # This, $nw, is the list of warnings we disable.
   nw="$nw -Wdeclaration-after-statement" # too useful to forbid
 
   if test -n "$GCC"; then
 
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is supported" >&5
-$as_echo_n "checking whether -Wno-missing-field-initializers is supported... " >&6; }
+            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is supported" >&5
+printf %s "checking whether -Wno-missing-field-initializers is supported... " >&6; }
     if ${gl_cv_cc_nomfi_supported+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
       gl_save_CFLAGS="$CFLAGS"
@@ -30669,14 +31633,14 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
       CFLAGS="$gl_save_CFLAGS"
 fi
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_supported" >&5
-$as_echo "$gl_cv_cc_nomfi_supported" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_supported" >&5
+printf "%s\n" "$gl_cv_cc_nomfi_supported" >&6; }
 
     if test "$gl_cv_cc_nomfi_supported" = yes; then
-                  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is needed" >&5
-$as_echo_n "checking whether -Wno-missing-field-initializers is needed... " >&6; }
+                  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is needed" >&5
+printf %s "checking whether -Wno-missing-field-initializers is needed... " >&6; }
       if ${gl_cv_cc_nomfi_needed+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
         gl_save_CFLAGS="$CFLAGS"
@@ -30707,86 +31671,171 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
 
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5
-$as_echo "$gl_cv_cc_nomfi_needed" >&6; }
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5
+printf "%s\n" "$gl_cv_cc_nomfi_needed" >&6; }
     fi
+
+                { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -Wuninitialized is supported" >&5
+printf %s "checking whether -Wuninitialized is supported... " >&6; }
+    if ${gl_cv_cc_uninitialized_supported+:} false; then :
+  printf %s "(cached) " >&6
+else
+
+      gl_save_CFLAGS="$CFLAGS"
+      CFLAGS="$CFLAGS -Werror -Wuninitialized"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_cc_uninitialized_supported=yes
+else
+  gl_cv_cc_uninitialized_supported=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+      CFLAGS="$gl_save_CFLAGS"
+fi
+
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_uninitialized_supported" >&5
+printf "%s\n" "$gl_cv_cc_uninitialized_supported" >&6; }
+
   fi
 
+  # List all gcc warning categories.
   gl_manywarn_set=
   for gl_manywarn_item in \
-    -Wall \
     -W \
-    -Wformat-y2k \
+    -Wabi \
+    -Waddress \
+    -Wall \
+    -Warray-bounds \
+    -Wattributes \
+    -Wbad-function-cast \
+    -Wbuiltin-macro-redefined \
+    -Wcast-align \
+    -Wchar-subscripts \
+    -Wclobbered \
+    -Wcomment \
+    -Wcomments \
+    -Wcoverage-mismatch \
+    -Wcpp \
+    -Wdeprecated \
+    -Wdeprecated-declarations \
+    -Wdisabled-optimization \
+    -Wdiv-by-zero \
+    -Wdouble-promotion \
+    -Wempty-body \
+    -Wendif-labels \
+    -Wenum-compare \
+    -Wextra \
+    -Wformat-contains-nul \
+    -Wformat-extra-args \
     -Wformat-nonliteral \
     -Wformat-security \
+    -Wformat-y2k \
+    -Wformat-zero-length \
+    -Wformat=2 \
+    -Wfree-nonheap-object \
+    -Wignored-qualifiers \
+    -Wimplicit \
+    -Wimplicit-function-declaration \
+    -Wimplicit-int \
     -Winit-self \
-    -Wmissing-include-dirs \
-    -Wswitch-default \
-    -Wswitch-enum \
-    -Wunused \
-    -Wunknown-pragmas \
-    -Wstrict-aliasing \
-    -Wstrict-overflow \
-    -Wsystem-headers \
-    -Wfloat-equal \
-    -Wtraditional \
-    -Wtraditional-conversion \
-    -Wdeclaration-after-statement \
-    -Wundef \
-    -Wshadow \
-    -Wunsafe-loop-optimizations \
-    -Wpointer-arith \
-    -Wbad-function-cast \
-    -Wc++-compat \
-    -Wcast-qual \
-    -Wcast-align \
-    -Wwrite-strings \
-    -Wconversion \
-    -Wsign-conversion \
+    -Winline \
+    -Wint-to-pointer-cast \
+    -Winvalid-memory-model \
+    -Winvalid-pch \
+    -Wjump-misses-init \
     -Wlogical-op \
-    -Waggregate-return \
-    -Wstrict-prototypes \
-    -Wold-style-definition \
-    -Wmissing-prototypes \
+    -Wmain \
+    -Wmaybe-uninitialized \
+    -Wmissing-braces \
     -Wmissing-declarations \
-    -Wmissing-noreturn \
+    -Wmissing-field-initializers \
     -Wmissing-format-attribute \
-    -Wpacked \
-    -Wpadded \
-    -Wredundant-decls \
+    -Wmissing-include-dirs \
+    -Wmissing-noreturn \
+    -Wmissing-parameter-type \
+    -Wmissing-prototypes \
+    -Wmudflap \
+    -Wmultichar \
+    -Wnarrowing \
     -Wnested-externs \
-    -Wunreachable-code \
-    -Winline \
-    -Winvalid-pch \
-    -Wlong-long \
-    -Wvla \
-    -Wvolatile-register-var \
-    -Wdisabled-optimization \
-    -Wstack-protector \
+    -Wnonnull \
+    -Wnormalized=nfc \
+    -Wold-style-declaration \
+    -Wold-style-definition \
+    -Woverflow \
     -Woverlength-strings \
-    -Wbuiltin-macro-redefined \
-    -Wmudflap \
+    -Woverride-init \
+    -Wpacked \
     -Wpacked-bitfield-compat \
+    -Wparentheses \
+    -Wpointer-arith \
+    -Wpointer-sign \
+    -Wpointer-to-int-cast \
+    -Wpragmas \
+    -Wreturn-type \
+    -Wsequence-point \
+    -Wshadow \
+    -Wsizeof-pointer-memaccess \
+    -Wstack-protector \
+    -Wstrict-aliasing \
+    -Wstrict-overflow \
+    -Wstrict-prototypes \
+    -Wsuggest-attribute=const \
+    -Wsuggest-attribute=format \
+    -Wsuggest-attribute=noreturn \
+    -Wsuggest-attribute=pure \
+    -Wswitch \
+    -Wswitch-default \
     -Wsync-nand \
-    ; do
-    gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
-  done
-  # The following are not documented in the manual but are included in
-  # output from gcc --help=warnings.
-  for gl_manywarn_item in \
-    -Wattributes \
-    -Wcoverage-mismatch \
-    -Wmultichar \
+    -Wsystem-headers \
+    -Wtrampolines \
+    -Wtrigraphs \
+    -Wtype-limits \
+    -Wuninitialized \
+    -Wunknown-pragmas \
+    -Wunreachable-code \
+    -Wunsafe-loop-optimizations \
+    -Wunused \
+    -Wunused-but-set-parameter \
+    -Wunused-but-set-variable \
+    -Wunused-function \
+    -Wunused-label \
+    -Wunused-local-typedefs \
     -Wunused-macros \
+    -Wunused-parameter \
+    -Wunused-result \
+    -Wunused-value \
+    -Wunused-variable \
+    -Wvarargs \
+    -Wvariadic-macros \
+    -Wvector-operation-performance \
+    -Wvla \
+    -Wvolatile-register-var \
+    -Wwrite-strings \
+    \
     ; do
     gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
   done
 
-  # Disable the missing-field-initializers warning if needed
+  # Disable specific options as needed.
   if test "$gl_cv_cc_nomfi_needed" = yes; then
     gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers"
   fi
 
+  if test "$gl_cv_cc_uninitialized_supported" = no; then
+    gl_manywarn_set="$gl_manywarn_set -Wno-uninitialized"
+  fi
+
   ws=$gl_manywarn_set
 
 
@@ -30805,15 +31854,15 @@ $as_echo "$gl_cv_cc_nomfi_needed" >&6; }
   ws=$gl_warn_set
 
   for w in $ws; do
-    as_gl_Warn=`$as_echo "gl_cv_warn_$w" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles $w" >&5
-$as_echo_n "checking whether compiler handles $w... " >&6; }
+    as_gl_Warn=`printf "%s\n" "gl_cv_warn_c_$w" | $as_tr_sh`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles $w" >&5
+printf %s "checking whether C compiler handles $w... " >&6; }
 if eval \${$as_gl_Warn+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
-  gl_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="${CPPFLAGS} $w"
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " $w"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -30825,31 +31874,32 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"; then :
   eval "$as_gl_Warn=yes"
 else
   eval "$as_gl_Warn=no"
 fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-  CPPFLAGS="$gl_save_CPPFLAGS"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
 fi
 eval ac_res=\$$as_gl_Warn
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
 if eval test \"x\$"$as_gl_Warn"\" = x"yes"; then :
   as_fn_append WARN_CFLAGS " $w"
 fi
 
+
   done
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-missing-field-initializers" >&5
-$as_echo_n "checking whether compiler handles -Wno-missing-field-initializers... " >&6; }
-if ${gl_cv_warn__Wno_missing_field_initializers+:} false; then :
-  $as_echo_n "(cached) " >&6
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-missing-field-initializers" >&5
+printf %s "checking whether C compiler handles -Wno-missing-field-initializers... " >&6; }
+if ${gl_cv_warn_c__Wno_missing_field_initializers+:} false; then :
+  printf %s "(cached) " >&6
 else
 
-  gl_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="${CPPFLAGS} -Wno-missing-field-initializers"
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " -Wno-missing-field-initializers"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -30861,29 +31911,30 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  gl_cv_warn__Wno_missing_field_initializers=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_warn_c__Wno_missing_field_initializers=yes
 else
-  gl_cv_warn__Wno_missing_field_initializers=no
+  gl_cv_warn_c__Wno_missing_field_initializers=no
 fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-  CPPFLAGS="$gl_save_CPPFLAGS"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_missing_field_initializers" >&5
-$as_echo "$gl_cv_warn__Wno_missing_field_initializers" >&6; }
-if test "x$gl_cv_warn__Wno_missing_field_initializers" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_missing_field_initializers" >&5
+printf "%s\n" "$gl_cv_warn_c__Wno_missing_field_initializers" >&6; }
+if test "x$gl_cv_warn_c__Wno_missing_field_initializers" = xyes; then :
   as_fn_append WARN_CFLAGS " -Wno-missing-field-initializers"
 fi
+
  # We need this one
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-sign-compare" >&5
-$as_echo_n "checking whether compiler handles -Wno-sign-compare... " >&6; }
-if ${gl_cv_warn__Wno_sign_compare+:} false; then :
-  $as_echo_n "(cached) " >&6
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-sign-compare" >&5
+printf %s "checking whether C compiler handles -Wno-sign-compare... " >&6; }
+if ${gl_cv_warn_c__Wno_sign_compare+:} false; then :
+  printf %s "(cached) " >&6
 else
 
-  gl_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="${CPPFLAGS} -Wno-sign-compare"
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " -Wno-sign-compare"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -30895,29 +31946,30 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  gl_cv_warn__Wno_sign_compare=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_warn_c__Wno_sign_compare=yes
 else
-  gl_cv_warn__Wno_sign_compare=no
+  gl_cv_warn_c__Wno_sign_compare=no
 fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-  CPPFLAGS="$gl_save_CPPFLAGS"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_sign_compare" >&5
-$as_echo "$gl_cv_warn__Wno_sign_compare" >&6; }
-if test "x$gl_cv_warn__Wno_sign_compare" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_sign_compare" >&5
+printf "%s\n" "$gl_cv_warn_c__Wno_sign_compare" >&6; }
+if test "x$gl_cv_warn_c__Wno_sign_compare" = xyes; then :
   as_fn_append WARN_CFLAGS " -Wno-sign-compare"
 fi
+
      # Too many warnings for now
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-pointer-sign" >&5
-$as_echo_n "checking whether compiler handles -Wno-pointer-sign... " >&6; }
-if ${gl_cv_warn__Wno_pointer_sign+:} false; then :
-  $as_echo_n "(cached) " >&6
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-pointer-sign" >&5
+printf %s "checking whether C compiler handles -Wno-pointer-sign... " >&6; }
+if ${gl_cv_warn_c__Wno_pointer_sign+:} false; then :
+  printf %s "(cached) " >&6
 else
 
-  gl_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="${CPPFLAGS} -Wno-pointer-sign"
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " -Wno-pointer-sign"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -30929,29 +31981,30 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  gl_cv_warn__Wno_pointer_sign=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_warn_c__Wno_pointer_sign=yes
 else
-  gl_cv_warn__Wno_pointer_sign=no
+  gl_cv_warn_c__Wno_pointer_sign=no
 fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-  CPPFLAGS="$gl_save_CPPFLAGS"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_pointer_sign" >&5
-$as_echo "$gl_cv_warn__Wno_pointer_sign" >&6; }
-if test "x$gl_cv_warn__Wno_pointer_sign" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_pointer_sign" >&5
+printf "%s\n" "$gl_cv_warn_c__Wno_pointer_sign" >&6; }
+if test "x$gl_cv_warn_c__Wno_pointer_sign" = xyes; then :
   as_fn_append WARN_CFLAGS " -Wno-pointer-sign"
 fi
+
      # Too many warnings for now
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-unused-parameter" >&5
-$as_echo_n "checking whether compiler handles -Wno-unused-parameter... " >&6; }
-if ${gl_cv_warn__Wno_unused_parameter+:} false; then :
-  $as_echo_n "(cached) " >&6
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-parameter" >&5
+printf %s "checking whether C compiler handles -Wno-unused-parameter... " >&6; }
+if ${gl_cv_warn_c__Wno_unused_parameter+:} false; then :
+  printf %s "(cached) " >&6
 else
 
-  gl_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="${CPPFLAGS} -Wno-unused-parameter"
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " -Wno-unused-parameter"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -30963,32 +32016,68 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  gl_cv_warn__Wno_unused_parameter=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_warn_c__Wno_unused_parameter=yes
 else
-  gl_cv_warn__Wno_unused_parameter=no
+  gl_cv_warn_c__Wno_unused_parameter=no
 fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-  CPPFLAGS="$gl_save_CPPFLAGS"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_unused_parameter" >&5
-$as_echo "$gl_cv_warn__Wno_unused_parameter" >&6; }
-if test "x$gl_cv_warn__Wno_unused_parameter" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_unused_parameter" >&5
+printf "%s\n" "$gl_cv_warn_c__Wno_unused_parameter" >&6; }
+if test "x$gl_cv_warn_c__Wno_unused_parameter" = xyes; then :
   as_fn_append WARN_CFLAGS " -Wno-unused-parameter"
 fi
+
  # Too many warnings for now
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-format-nonliteral" >&5
+printf %s "checking whether C compiler handles -Wno-format-nonliteral... " >&6; }
+if ${gl_cv_warn_c__Wno_format_nonliteral+:} false; then :
+  printf %s "(cached) " >&6
+else
+
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " -Wno-format-nonliteral"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_warn_c__Wno_format_nonliteral=yes
+else
+  gl_cv_warn_c__Wno_format_nonliteral=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_format_nonliteral" >&5
+printf "%s\n" "$gl_cv_warn_c__Wno_format_nonliteral" >&6; }
+if test "x$gl_cv_warn_c__Wno_format_nonliteral" = xyes; then :
+  as_fn_append WARN_CFLAGS " -Wno-format-nonliteral"
+fi
+
+
 
   # In spite of excluding -Wlogical-op above, it is enabled, as of
   # gcc 4.5.0 20090517, and it provokes warnings in cat.c, dd.c, truncate.c
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-logical-op" >&5
-$as_echo_n "checking whether compiler handles -Wno-logical-op... " >&6; }
-if ${gl_cv_warn__Wno_logical_op+:} false; then :
-  $as_echo_n "(cached) " >&6
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-logical-op" >&5
+printf %s "checking whether C compiler handles -Wno-logical-op... " >&6; }
+if ${gl_cv_warn_c__Wno_logical_op+:} false; then :
+  printf %s "(cached) " >&6
 else
 
-  gl_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="${CPPFLAGS} -Wno-logical-op"
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " -Wno-logical-op"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -31000,30 +32089,31 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  gl_cv_warn__Wno_logical_op=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_warn_c__Wno_logical_op=yes
 else
-  gl_cv_warn__Wno_logical_op=no
+  gl_cv_warn_c__Wno_logical_op=no
 fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-  CPPFLAGS="$gl_save_CPPFLAGS"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_logical_op" >&5
-$as_echo "$gl_cv_warn__Wno_logical_op" >&6; }
-if test "x$gl_cv_warn__Wno_logical_op" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_logical_op" >&5
+printf "%s\n" "$gl_cv_warn_c__Wno_logical_op" >&6; }
+if test "x$gl_cv_warn_c__Wno_logical_op" = xyes; then :
   as_fn_append WARN_CFLAGS " -Wno-logical-op"
 fi
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -fdiagnostics-show-option" >&5
-$as_echo_n "checking whether compiler handles -fdiagnostics-show-option... " >&6; }
-if ${gl_cv_warn__fdiagnostics_show_option+:} false; then :
-  $as_echo_n "(cached) " >&6
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -fdiagnostics-show-option" >&5
+printf %s "checking whether C compiler handles -fdiagnostics-show-option... " >&6; }
+if ${gl_cv_warn_c__fdiagnostics_show_option+:} false; then :
+  printf %s "(cached) " >&6
 else
 
-  gl_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="${CPPFLAGS} -fdiagnostics-show-option"
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " -fdiagnostics-show-option"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -31035,29 +32125,30 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  gl_cv_warn__fdiagnostics_show_option=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_warn_c__fdiagnostics_show_option=yes
 else
-  gl_cv_warn__fdiagnostics_show_option=no
+  gl_cv_warn_c__fdiagnostics_show_option=no
 fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-  CPPFLAGS="$gl_save_CPPFLAGS"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__fdiagnostics_show_option" >&5
-$as_echo "$gl_cv_warn__fdiagnostics_show_option" >&6; }
-if test "x$gl_cv_warn__fdiagnostics_show_option" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__fdiagnostics_show_option" >&5
+printf "%s\n" "$gl_cv_warn_c__fdiagnostics_show_option" >&6; }
+if test "x$gl_cv_warn_c__fdiagnostics_show_option" = xyes; then :
   as_fn_append WARN_CFLAGS " -fdiagnostics-show-option"
 fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -funit-at-a-time" >&5
-$as_echo_n "checking whether compiler handles -funit-at-a-time... " >&6; }
-if ${gl_cv_warn__funit_at_a_time+:} false; then :
-  $as_echo_n "(cached) " >&6
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -funit-at-a-time" >&5
+printf %s "checking whether C compiler handles -funit-at-a-time... " >&6; }
+if ${gl_cv_warn_c__funit_at_a_time+:} false; then :
+  printf %s "(cached) " >&6
 else
 
-  gl_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="${CPPFLAGS} -funit-at-a-time"
+  gl_save_compiler_FLAGS="$CFLAGS"
+  as_fn_append CFLAGS " -funit-at-a-time"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -31069,18 +32160,18 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  gl_cv_warn__funit_at_a_time=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_warn_c__funit_at_a_time=yes
 else
-  gl_cv_warn__funit_at_a_time=no
+  gl_cv_warn_c__funit_at_a_time=no
 fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-  CPPFLAGS="$gl_save_CPPFLAGS"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS="$gl_save_compiler_FLAGS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__funit_at_a_time" >&5
-$as_echo "$gl_cv_warn__funit_at_a_time" >&6; }
-if test "x$gl_cv_warn__funit_at_a_time" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__funit_at_a_time" >&5
+printf "%s\n" "$gl_cv_warn_c__funit_at_a_time" >&6; }
+if test "x$gl_cv_warn_c__funit_at_a_time" = xyes; then :
   as_fn_append WARN_CFLAGS " -funit-at-a-time"
 fi
 
 
 
 
-$as_echo "#define lint 1" >>confdefs.h
 
+printf "%s\n" "#define lint 1" >>confdefs.h
 
-$as_echo "#define _FORTIFY_SOURCE 2" >>confdefs.h
 
+printf "%s\n" "#define _FORTIFY_SOURCE 2" >>confdefs.h
 
-$as_echo "#define GNULIB_PORTCHECK 1" >>confdefs.h
+
+printf "%s\n" "#define GNULIB_PORTCHECK 1" >>confdefs.h
 
 
   # We use a slightly smaller set of warning options for lib/.
@@ -31121,10 +32213,10 @@ $as_echo "#define GNULIB_PORTCHECK 1" >>confdefs.h
 
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
+printf %s "checking for inline... " >&6; }
 if ${ac_cv_c_inline+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
@@ -31145,8 +32237,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
+printf "%s\n" "$ac_cv_c_inline" >&6; }
 
 case $ac_cv_c_inline in
   inline | yes) ;;
@@ -31164,10 +32256,10 @@ _ACEOF
 esac
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for variable-length arrays" >&5
-$as_echo_n "checking for variable-length arrays... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for variable-length arrays" >&5
+printf %s "checking for variable-length arrays... " >&6; }
 if ${ac_cv_c_vararrays+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -31187,25 +32279,25 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_vararrays" >&5
-$as_echo "$ac_cv_c_vararrays" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_vararrays" >&5
+printf "%s\n" "$ac_cv_c_vararrays" >&6; }
   if test $ac_cv_c_vararrays = yes; then
 
-$as_echo "#define HAVE_C_VARARRAYS 1" >>confdefs.h
+printf "%s\n" "#define HAVE_C_VARARRAYS 1" >>confdefs.h
 
   fi
 
 
 
-$as_echo "#define DEFAULT_EDITOR_PROGRAM \"ed\"" >>confdefs.h
+printf "%s\n" "#define DEFAULT_EDITOR_PROGRAM \"ed\"" >>confdefs.h
 
 
 # Extract the first word of "pr", so it can be a program name with args.
 set dummy pr; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_path_PR_PROGRAM+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   case $PR_PROGRAM in
   [\\/]* | ?:[\\/]*)
@@ -31216,11 +32308,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PR_PROGRAM="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_PR_PROGRAM="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -31233,11 +32329,11 @@ esac
 fi
 PR_PROGRAM=$ac_cv_path_PR_PROGRAM
 if test -n "$PR_PROGRAM"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PR_PROGRAM" >&5
-$as_echo "$PR_PROGRAM" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PR_PROGRAM" >&5
+printf "%s\n" "$PR_PROGRAM" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 
 ac_header_dirent=no
 for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
-  as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
-$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
+  as_ac_Header=`printf "%s\n" "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
+printf %s "checking for $ac_hdr that defines DIR... " >&6; }
 if eval \${$as_ac_Header+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 eval ac_res=\$$as_ac_Header
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
 if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_$ac_hdr" | $as_tr_cpp` 1
 _ACEOF
 
 ac_header_dirent=$ac_hdr; break
 done
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-$as_echo_n "checking for library containing opendir... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
+printf %s "checking for library containing opendir... " >&6; }
 if ${ac_cv_search_opendir+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -31358,8 +32454,8 @@ fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
-$as_echo "$ac_cv_search_opendir" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
+printf "%s\n" "$ac_cv_search_opendir" >&6; }
 ac_res=$ac_cv_search_opendir
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
@@ -31367,10 +32463,10 @@ if test "$ac_res" != no; then :
 fi
 
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-$as_echo_n "checking for library containing opendir... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
+printf %s "checking for library containing opendir... " >&6; }
 if ${ac_cv_search_opendir+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -31415,8 +32511,8 @@ fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
-$as_echo "$ac_cv_search_opendir" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
+printf "%s\n" "$ac_cv_search_opendir" >&6; }
 ac_res=$ac_cv_search_opendir
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5
-$as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5
+printf %s "checking for sys/wait.h that is POSIX.1 compatible... " >&6; }
 if ${ac_cv_header_sys_wait_h+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -31458,11 +32554,11 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5
-$as_echo "$ac_cv_header_sys_wait_h" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5
+printf "%s\n" "$ac_cv_header_sys_wait_h" >&6; }
 if test $ac_cv_header_sys_wait_h = yes; then
 
-$as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h
+printf "%s\n" "#define HAVE_SYS_WAIT_H 1" >>confdefs.h
 
 fi
 
 
 
 
-
-
-
-
-
-
-
-
-
-  :
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 if test $ac_cv_func_sigprocmask = no; then
   for ac_func in sigblock
 do :
 done
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether closedir returns void" >&5
-$as_echo_n "checking whether closedir returns void... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether closedir returns void" >&5
+printf %s "checking whether closedir returns void... " >&6; }
 if ${ac_cv_func_closedir_void+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
   ac_cv_func_closedir_void=yes
@@ -31556,11 +32628,11 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_closedir_void" >&5
-$as_echo "$ac_cv_func_closedir_void" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_closedir_void" >&5
+printf "%s\n" "$ac_cv_func_closedir_void" >&6; }
 if test $ac_cv_func_closedir_void = yes; then
 
-$as_echo "#define CLOSEDIR_VOID 1" >>confdefs.h
+printf "%s\n" "#define CLOSEDIR_VOID 1" >>confdefs.h
 
 fi
 
@@ -31578,21 +32650,21 @@ done
 
 for ac_func in fork vfork
 do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+  as_ac_var=`printf "%s\n" "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
 if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define `printf "%s\n" "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
 
 fi
 done
 
 if test "x$ac_cv_func_fork" = xyes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5
-$as_echo_n "checking for working fork... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5
+printf %s "checking for working fork... " >&6; }
 if ${ac_cv_func_fork_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
   ac_cv_func_fork_works=cross
@@ -31621,8 +32693,8 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5
-$as_echo "$ac_cv_func_fork_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5
+printf "%s\n" "$ac_cv_func_fork_works" >&6; }
 
 else
   ac_cv_func_fork_works=$ac_cv_func_fork
@@ -31637,15 +32709,15 @@ if test "x$ac_cv_func_fork_works" = xcross; then
       ac_cv_func_fork_works=yes
       ;;
   esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
-$as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
+printf "%s\n" "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
 fi
 ac_cv_func_vfork_works=$ac_cv_func_vfork
 if test "x$ac_cv_func_vfork" = xyes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5
-$as_echo_n "checking for working vfork... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5
+printf %s "checking for working vfork... " >&6; }
 if ${ac_cv_func_vfork_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then :
   ac_cv_func_vfork_works=cross
@@ -31654,10 +32726,18 @@ else
 /* end confdefs.h.  */
 /* Thanks to Paul Eggert for this test.  */
 $ac_includes_default
+#include <signal.h>
 #include <sys/wait.h>
 #ifdef HAVE_VFORK_H
 # include <vfork.h>
 #endif
+
+static void
+do_nothing (int sig)
+{
+  (void) sig;
+}
+
 /* On some sparc systems, changes by the child to local and incoming
    argument registers are propagated back to the parent.  The compiler
    is told about this with #include <vfork.h>, but some compilers
@@ -31665,11 +32745,7 @@ $ac_includes_default
    static variable whose address is put into a register that is
    clobbered by the vfork.  */
 static void
-#ifdef __cplusplus
 sparc_address_test (int arg)
-# else
-sparc_address_test (arg) int arg;
-#endif
 {
   static pid_t child;
   if (!child) {
@@ -31694,6 +32770,11 @@ main ()
 
   sparc_address_test (0);
 
+  /* On Solaris 2.4, changes by the child to the signal handler
+     also munge signal handlers in the parent.  To detect this,
+     start by putting the parent's handler in a known state.  */
+  signal (SIGTERM, SIG_DFL);
+
   child = vfork ();
 
   if (child == 0) {
@@ -31715,6 +32796,10 @@ main ()
        || p != p5 || p != p6 || p != p7)
       _exit(1);
 
+    /* Alter the child's signal handler.  */
+    if (signal (SIGTERM, do_nothing) != SIG_DFL)
+      _exit(1);
+
     /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
        from child file descriptors.  If the child closes a descriptor
        before it execs or exits, this munges the parent's descriptor
@@ -31730,6 +32815,9 @@ main ()
         /* Was there some problem with vforking?  */
         child < 0
 
+        /* Did the child munge the parent's signal handler?  */
+        || signal (SIGTERM, SIG_DFL) != SIG_DFL
+
         /* Did the child fail?  (This shouldn't happen.)  */
         || status
 
@@ -31752,28 +32840,28 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5
-$as_echo "$ac_cv_func_vfork_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5
+printf "%s\n" "$ac_cv_func_vfork_works" >&6; }
 
 fi;
 if test "x$ac_cv_func_fork_works" = xcross; then
   ac_cv_func_vfork_works=$ac_cv_func_vfork
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
-$as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
+printf "%s\n" "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
 fi
 
 if test "x$ac_cv_func_vfork_works" = xyes; then
 
-$as_echo "#define HAVE_WORKING_VFORK 1" >>confdefs.h
+printf "%s\n" "#define HAVE_WORKING_VFORK 1" >>confdefs.h
 
 else
 
-$as_echo "#define vfork fork" >>confdefs.h
+printf "%s\n" "#define vfork fork" >>confdefs.h
 
 fi
 if test "x$ac_cv_func_fork_works" = xyes; then
 
-$as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h
+printf "%s\n" "#define HAVE_WORKING_FORK 1" >>confdefs.h
 
 fi
 
@@ -31792,8 +32880,8 @@ test -f $srcdir/.tarball-version \
   || SRC_VERSION_C=../src/version.c
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
-$as_echo_n "checking whether NLS is requested... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
+printf %s "checking whether NLS is requested... " >&6; }
     # Check whether --enable-nls was given.
 if test "${enable_nls+set}" = set; then :
   enableval=$enable_nls; USE_NLS=$enableval
@@ -31801,13 +32889,13 @@ else
   USE_NLS=yes
 fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+printf "%s\n" "$USE_NLS" >&6; }
 
 
 
 
-      GETTEXT_MACRO_VERSION=0.17
+      GETTEXT_MACRO_VERSION=0.18
 
 
 
@@ -31815,15 +32903,14 @@ $as_echo "$USE_NLS" >&6; }
 # Prepare PATH_SEPARATOR.
 # The user is always right.
 if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
 fi
 
 # Find out how to test for executable files. Don't use a zero-byte file,
@@ -31842,10 +32929,10 @@ rm -f conf$$.file
 
 # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_path_MSGFMT+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   case "$MSGFMT" in
   [\\/]* | ?:[\\/]*)
@@ -31874,19 +32961,19 @@ esac
 fi
 MSGFMT="$ac_cv_path_MSGFMT"
 if test "$MSGFMT" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
-$as_echo "$MSGFMT" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
+printf "%s\n" "$MSGFMT" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_path_GMSGFMT+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   case $GMSGFMT in
   [\\/]* | ?:[\\/]*)
@@ -31897,11 +32984,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_GMSGFMT="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -31914,11 +33005,11 @@ esac
 fi
 GMSGFMT=$ac_cv_path_GMSGFMT
 if test -n "$GMSGFMT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
-$as_echo "$GMSGFMT" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
+printf "%s\n" "$GMSGFMT" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 # Prepare PATH_SEPARATOR.
 # The user is always right.
 if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
 fi
 
 # Find out how to test for executable files. Don't use a zero-byte file,
@@ -31965,10 +33055,10 @@ rm -f conf$$.file
 
 # Extract the first word of "xgettext", so it can be a program name with args.
 set dummy xgettext; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_path_XGETTEXT+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   case "$XGETTEXT" in
   [\\/]* | ?:[\\/]*)
@@ -31997,11 +33087,11 @@ esac
 fi
 XGETTEXT="$ac_cv_path_XGETTEXT"
 if test "$XGETTEXT" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
-$as_echo "$XGETTEXT" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
+printf "%s\n" "$XGETTEXT" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
     rm -f messages.po
 # Prepare PATH_SEPARATOR.
 # The user is always right.
 if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
 fi
 
 # Find out how to test for executable files. Don't use a zero-byte file,
@@ -32043,10 +33132,10 @@ rm -f conf$$.file
 
 # Extract the first word of "msgmerge", so it can be a program name with args.
 set dummy msgmerge; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
 if ${ac_cv_path_MSGMERGE+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   case "$MSGMERGE" in
   [\\/]* | ?:[\\/]*)
@@ -32074,11 +33163,11 @@ esac
 fi
 MSGMERGE="$ac_cv_path_MSGMERGE"
 if test "$MSGMERGE" != ":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
-$as_echo "$MSGMERGE" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
+printf "%s\n" "$MSGMERGE" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 
 
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
-$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
+
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
+printf %s "checking for CFPreferencesCopyAppValue... " >&6; }
 if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   gt_save_LIBS="$LIBS"
      LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
@@ -32141,17 +33231,17 @@ rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
      LIBS="$gt_save_LIBS"
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
-$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
+printf "%s\n" "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
   if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
 
-$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
+printf "%s\n" "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
 
   fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5
-$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5
+printf %s "checking for CFLocaleCopyCurrent... " >&6; }
 if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   gt_save_LIBS="$LIBS"
      LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
@@ -32175,11 +33265,11 @@ rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
      LIBS="$gt_save_LIBS"
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
-$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
+printf "%s\n" "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
   if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
 
-$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
+printf "%s\n" "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
 
   fi
   INTL_MACOSX_LIBS=
@@ -32224,22 +33314,26 @@ typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
           gt_expression_test_code=
         fi
 
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
-$as_echo_n "checking for GNU gettext in libc... " >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
+printf %s "checking for GNU gettext in libc... " >&6; }
 if eval \${$gt_func_gnugettext_libc+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+
 #include <libintl.h>
 $gt_revision_test_code
 extern int _nl_msg_cat_cntr;
 extern int *_nl_domain_bindings;
+
 int
 main ()
 {
+
 bindtextdomain ("", "");
 return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
+
   ;
   return 0;
 }
@@ -32253,8 +33347,8 @@ rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 fi
 eval ac_res=\$$gt_func_gnugettext_libc
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
 
         if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
 
@@ -32287,10 +33381,10 @@ $as_echo "$ac_res" >&6; }
   done
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
-$as_echo_n "checking for iconv... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
+printf %s "checking for iconv... " >&6; }
 if ${am_cv_func_iconv+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
     am_cv_func_iconv="no, consider installing GNU libiconv"
@@ -32345,13 +33439,13 @@ rm -f core conftest.err conftest.$ac_objext \
     fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
-$as_echo "$am_cv_func_iconv" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
+printf "%s\n" "$am_cv_func_iconv" >&6; }
   if test "$am_cv_func_iconv" = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
-$as_echo_n "checking for working iconv... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
+printf %s "checking for working iconv... " >&6; }
 if ${am_cv_func_iconv_works+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
 
                   am_save_LIBS="$LIBS"
@@ -32480,8 +33574,8 @@ fi
       LIBS="$am_save_LIBS"
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
-$as_echo "$am_cv_func_iconv_works" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
+printf "%s\n" "$am_cv_func_iconv_works" >&6; }
     case "$am_cv_func_iconv_works" in
       *no) am_func_iconv=no am_cv_lib_iconv=no ;;
       *)   am_func_iconv=yes ;;
@@ -32491,14 +33585,14 @@ $as_echo "$am_cv_func_iconv_works" >&6; }
   fi
   if test "$am_func_iconv" = yes; then
 
-$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+printf "%s\n" "#define HAVE_ICONV 1" >>confdefs.h
 
   fi
   if test "$am_cv_lib_iconv" = yes; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
-$as_echo_n "checking how to link with libiconv... " >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
-$as_echo "$LIBICONV" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
+printf %s "checking how to link with libiconv... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
+printf "%s\n" "$LIBICONV" >&6; }
   else
             CPPFLAGS="$am_save_CPPFLAGS"
     LIBICONV=
 
 
 
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
-$as_echo_n "checking for GNU gettext in libintl... " >&6; }
+          { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
+printf %s "checking for GNU gettext in libintl... " >&6; }
 if eval \${$gt_func_gnugettext_libintl+:} false; then :
-  $as_echo_n "(cached) " >&6
+  printf %s "(cached) " >&6
 else
   gt_save_CPPFLAGS="$CPPFLAGS"
             CPPFLAGS="$CPPFLAGS $INCINTL"
@@ -32980,6 +34074,7 @@ else
             LIBS="$LIBS $LIBINTL"
                         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+
 #include <libintl.h>
 $gt_revision_test_code
 extern int _nl_msg_cat_cntr;
@@ -32988,11 +34083,14 @@ extern
 "C"
 #endif
 const char *_nl_expand_alias (const char *);
+
 int
 main ()
 {
+
 bindtextdomain ("", "");
 return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+
   ;
   return 0;
 }
@@ -33008,6 +34106,7 @@ rm -f core conftest.err conftest.$ac_objext \
               LIBS="$LIBS $LIBICONV"
               cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+
 #include <libintl.h>
 $gt_revision_test_code
 extern int _nl_msg_cat_cntr;
@@ -33016,19 +34115,22 @@ extern
 "C"
 #endif
 const char *_nl_expand_alias (const char *);
+
 int
 main ()
 {
+
 bindtextdomain ("", "");
 return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
   LIBINTL="$LIBINTL $LIBICONV"
-                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
-                eval "$gt_func_gnugettext_libintl=yes"
+                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+                 eval "$gt_func_gnugettext_libintl=yes"
 
 fi
 rm -f core conftest.err conftest.$ac_objext \
@@ -33038,8 +34140,8 @@ rm -f core conftest.err conftest.$ac_objext \
             LIBS="$gt_save_LIBS"
 fi
 eval ac_res=\$$gt_func_gnugettext_libintl
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
         fi
 
                                         if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
@@ -33066,20 +34168,20 @@ $as_echo "$ac_res" >&6; }
     if test "$gt_use_preinstalled_gnugettext" = "yes" \
        || test "$nls_cv_use_gnu_gettext" = "yes"; then
 
-$as_echo "#define ENABLE_NLS 1" >>confdefs.h
+printf "%s\n" "#define ENABLE_NLS 1" >>confdefs.h
 
     else
       USE_NLS=no
     fi
   fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
-$as_echo_n "checking whether to use NLS... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
+printf %s "checking whether to use NLS... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+printf "%s\n" "$USE_NLS" >&6; }
   if test "$USE_NLS" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
-$as_echo_n "checking where the gettext function comes from... " >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
+printf %s "checking where the gettext function comes from... " >&6; }
     if test "$gt_use_preinstalled_gnugettext" = "yes"; then
       if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
         gt_source="external libintl"
@@ -33089,18 +34191,18 @@ $as_echo_n "checking where the gettext function comes from... " >&6; }
     else
       gt_source="included intl directory"
     fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
-$as_echo "$gt_source" >&6; }
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
+printf "%s\n" "$gt_source" >&6; }
   fi
 
   if test "$USE_NLS" = "yes"; then
 
     if test "$gt_use_preinstalled_gnugettext" = "yes"; then
       if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
-$as_echo_n "checking how to link with libintl... " >&6; }
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
-$as_echo "$LIBINTL" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
+printf %s "checking how to link with libintl... " >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
+printf "%s\n" "$LIBINTL" >&6; }
 
   for element in $INCINTL; do
     haveit=
@@ -33127,10 +34229,10 @@ $as_echo "$LIBINTL" >&6; }
       fi
 
 
-$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
+printf "%s\n" "#define HAVE_GETTEXT 1" >>confdefs.h
 
 
-$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h
+printf "%s\n" "#define HAVE_DCGETTEXT 1" >>confdefs.h
 
     fi
 
@@ -33149,7 +34251,7 @@ $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h
 
 XGETTEXT="AWK='$AWK' \$(SHELL) \$(top_srcdir)/exgettext $XGETTEXT"
 
-ac_config_files="$ac_config_files Makefile doc/Makefile lib/Makefile src/Makefile tests/Makefile gnulib-tests/Makefile man/Makefile po/Makefile.in ms/Makefile"
+ac_config_files="$ac_config_files Makefile doc/Makefile lib/Makefile src/Makefile tests/Makefile gnulib-tests/Makefile man/Makefile po/Makefile.in"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -33178,8 +34280,8 @@ _ACEOF
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
@@ -33216,8 +34318,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
     if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+printf "%s\n" "$as_me: updating cache $cache_file" >&6;}
       if test ! -f "$cache_file" || test -h "$cache_file"; then
        cat confcache >"$cache_file"
       else
@@ -33231,8 +34333,8 @@ $as_echo "$as_me: updating cache $cache_file" >&6;}
       fi
     fi
   else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
@@ -33249,7 +34351,7 @@ U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"`
   # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
   #    will be set to the directory where LIBOBJS objects are built.
   as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
@@ -33260,14 +34362,14 @@ LIBOBJS=$ac_libobjs
 LTLIBOBJS=$ac_ltlibobjs
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
-$as_echo_n "checking that generated files are newer than configure... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+printf %s "checking that generated files are newer than configure... " >&6; }
    if test -n "$am_sleep_pid"; then
      # Hide warnings about reused PIDs.
      wait $am_sleep_pid 2>/dev/null
    fi
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
-$as_echo "done" >&6; }
+   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5
+printf "%s\n" "done" >&6; }
  if test -n "$EXEEXT"; then
   am__EXEEXT_TRUE=
   am__EXEEXT_FALSE='#'
@@ -33284,10 +34386,6 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
   as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then
   as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -33301,6 +34399,10 @@ if test -z "${GL_GENERATE_ERRNO_H_TRUE}" && test -z "${GL_GENERATE_ERRNO_H_FALSE
   as_fn_error $? "conditional \"GL_GENERATE_ERRNO_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${GL_GENERATE_FLOAT_H_TRUE}" && test -z "${GL_GENERATE_FLOAT_H_FALSE}"; then
+  as_fn_error $? "conditional \"GL_GENERATE_FLOAT_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${GL_GENERATE_FNMATCH_H_TRUE}" && test -z "${GL_GENERATE_FNMATCH_H_FALSE}"; then
   as_fn_error $? "conditional \"GL_GENERATE_FNMATCH_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -33325,6 +34427,10 @@ if test -z "${GL_GENERATE_STDINT_H_TRUE}" && test -z "${GL_GENERATE_STDINT_H_FAL
   as_fn_error $? "conditional \"GL_GENERATE_STDINT_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then
+  as_fn_error $? "conditional \"GL_GENERATE_STDDEF_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 CONFIG_INCLUDE=lib/config.h
 
 if test -z "${GL_GENERATE_STDARG_H_TRUE}" && test -z "${GL_GENERATE_STDARG_H_FALSE}"; then
@@ -33352,6 +34458,7 @@ if test -z "${LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE}" && test -z "${LIBUNISTR
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
+
     gl_libobjs=
     gl_ltlibobjs=
     if test -n "$gl_LIBOBJS"; then
     gl_LTLIBOBJS=$gl_ltlibobjs
 
 
-if test -z "${GL_GENERATE_FLOAT_H_TRUE}" && test -z "${GL_GENERATE_FLOAT_H_FALSE}"; then
-  as_fn_error $? "conditional \"GL_GENERATE_FLOAT_H\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 
     gltests_libobjs=
     gltests_ltlibobjs=
@@ -33392,8 +34495,8 @@ fi
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;}
 as_write_fail=0
 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
 #! $SHELL
@@ -33433,44 +34536,6 @@ esac
 fi
 
 
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
 # The user is always right.
 if test "${PATH_SEPARATOR+set}" != set; then
   PATH_SEPARATOR=:
@@ -33486,6 +34551,9 @@ fi
 # there to prevent editors from complaining about space-tab.
 # (If _AS_PATH_WALK were called with IFS unset, it would disable word
 # splitting by setting IFS to empty value.)
+as_nl='
+'
+export as_nl
 IFS=" ""       $as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
@@ -33496,8 +34564,12 @@ case $0 in #((
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    test -r "$as_dir$0" && as_myself=$as_dir$0 && break
   done
 IFS=$as_save_IFS
 
@@ -33509,7 +34581,7 @@ if test "x$as_myself" = x; then
   as_myself=$0
 fi
 if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
   exit 1
 fi
 
@@ -33545,9 +34617,9 @@ as_fn_error ()
   as_status=$1; test $as_status -eq 0 && as_status=1
   if test "$4"; then
     as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $2" >&2
+  printf "%s\n" "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -33637,7 +34709,7 @@ as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
         X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
+printf "%s\n" X/"$0" |
     sed '/^.*\/\([^/][^/]*\)\/*$/{
            s//\1/
            q
@@ -33685,16 +34757,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -33713,7 +34785,7 @@ as_fn_mkdir_p ()
     as_dirs=
     while :; do
       case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
       *) as_qdir=$as_dir;;
       esac
       as_dirs="'$as_qdir' $as_dirs"
@@ -33722,7 +34794,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$as_dir" : 'X\(//\)[^/]' \| \
         X"$as_dir" : 'X\(//\)$' \| \
         X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
+printf "%s\n" X"$as_dir" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -33754,28 +34826,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -33796,8 +34856,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GNU diffutils $as_me 3.2, which was
-generated by GNU Autoconf 2.68.79-5e017.  Invocation command line was
+This file was extended by GNU diffutils $as_me 3.3, which was
+generated by GNU Autoconf 2.69.79-0bdae.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -33866,13 +34926,13 @@ General help using GNU software: <http://www.gnu.org/gethelp/>."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_config="`printf "%s\n" "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-GNU diffutils config.status 3.2
-configured by $0, generated by GNU Autoconf 2.68.79-5e017,
+GNU diffutils config.status 3.3
+configured by $0, generated by GNU Autoconf 2.69.79-0bdae,
   with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2011 Free Software Foundation, Inc.
+Copyright (C)  Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
+    printf "%s\n" "$ac_cs_version"; exit ;;
   --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
+    printf "%s\n" "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
     '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
@@ -33928,7 +34988,7 @@ do
   --header | --heade | --head | --hea )
     $ac_shift
     case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     as_fn_append CONFIG_HEADERS " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -33937,7 +34997,7 @@ do
     as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
+    printf "%s\n" "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil | --si | --s)
     ac_cs_silent=: ;;
@@ -33965,7 +35025,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
   set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
   export CONFIG_SHELL
   exec "\$@"
@@ -33979,7 +35039,7 @@ exec 5>>config.log
   sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
 ## Running $as_me. ##
 _ASBOX
-  $as_echo "$ac_log"
+  printf "%s\n" "$ac_log"
 } >&5
 
 _ACEOF
@@ -34017,7 +35077,6 @@ do
     "gnulib-tests/Makefile") CONFIG_FILES="$CONFIG_FILES gnulib-tests/Makefile" ;;
     "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
     "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
-    "ms/Makefile") CONFIG_FILES="$CONFIG_FILES ms/Makefile" ;;
 
   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
@@ -34368,7 +35427,7 @@ do
           esac ||
           as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
     done
 
     # use $as_me), people would be surprised to read:
     #    /* config.h.  Generated by config.status.  */
     configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+         printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
        `' by configure.'
     if test x"$ac_file" != x-; then
       configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+printf "%s\n" "$as_me: creating $ac_file" >&6;}
     fi
     # Neutralize special characters interpreted by sed in replacement strings.
     case $configure_input in #(
     *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
+       ac_sed_conf_input=`printf "%s\n" "$configure_input" |
        sed 's/[\\\\&|]/\\\\&/g'`;; #(
     *) ac_sed_conf_input=$configure_input;;
     esac
@@ -34403,7 +35462,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$ac_file" : 'X\(//\)[^/]' \| \
         X"$ac_file" : 'X\(//\)$' \| \
         X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
+printf "%s\n" X"$ac_file" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -34427,9 +35486,9 @@ $as_echo X"$ac_file" |
 case "$ac_dir" in
 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
 *)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
   # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
   case $ac_top_builddir_sub in
   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -34491,8 +35550,8 @@ ac_sed_dataroot='
 case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
 *datarootdir*) ac_datarootdir_seen=yes;;
 *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   ac_datarootdir_hack='
@@ -34536,9 +35595,9 @@ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
   { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
   { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
       "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
 which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
 which seems to be undefined.  Please make sure it is defined" >&2;}
 
   rm -f "$ac_tmp/stdin"
@@ -34554,20 +35613,20 @@ which seems to be undefined.  Please make sure it is defined" >&2;}
   #
   if test x"$ac_file" != x-; then
     {
-      $as_echo "/* $configure_input  */" \
+      printf "%s\n" "/* $configure_input  */" \
       && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
     } >"$ac_tmp/config.h" \
       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
     if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+printf "%s\n" "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
       mv "$ac_tmp/config.h" "$ac_file" \
        || as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
-    $as_echo "/* $configure_input  */" \
+    printf "%s\n" "/* $configure_input  */" \
       && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
       || as_fn_error $? "could not create -" "$LINENO" 5
   fi
@@ -34587,7 +35646,7 @@ $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$_am_arg" : 'X\(//\)[^/]' \| \
         X"$_am_arg" : 'X\(//\)$' \| \
         X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
+printf "%s\n" X"$_am_arg" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -34619,8 +35678,8 @@ $as_echo X"$_am_arg" |
       ac_source=$srcdir/$ac_source
     fi
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
+printf "%s\n" "$as_me: linking $ac_source to $ac_file" >&6;}
 
     if test ! -r "$ac_source"; then
       as_fn_error $? "$ac_source: file not found" "$LINENO" 5
@@ -34638,15 +35697,15 @@ $as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
       as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
   fi
  ;;
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
+  :C)  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+printf "%s\n" "$as_me: executing $ac_file commands" >&6;}
  ;;
   esac
 
 
   case $ac_file$ac_mode in
     "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -34659,7 +35718,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -34671,7 +35730,7 @@ $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$mf" : 'X\(//\)[^/]' \| \
         X"$mf" : 'X\(//\)$' \| \
         X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
+printf "%s\n" X"$mf" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -34693,21 +35752,19 @@ $as_echo X"$mf" |
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
     test -z "am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`$as_dirname -- "$file" ||
@@ -34715,7 +35772,7 @@ $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$file" : 'X\(//\)[^/]' \| \
         X"$file" : 'X\(//\)$' \| \
         X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
+printf "%s\n" X"$file" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -34750,7 +35807,7 @@ $as_echo X"$file" |
       case "$ac_file" in */Makefile.in)
         # Adjust a relative srcdir.
         ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+        ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
         ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
         # In autoconf-2.13 it is called $ac_given_srcdir.
         # In autoconf-2.50 it is called $srcdir.
@@ -34766,7 +35823,8 @@ $as_echo X"$file" |
         if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
           rm -f "$ac_dir/POTFILES"
           test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[  ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+          gt_tab=`printf '\t'`
+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
           POMAKEFILEDEPS="POTFILES.in"
           # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
           # on $ac_dir but don't depend on user-specified configuration
@@ -34777,12 +35835,12 @@ $as_echo X"$file" |
               test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
             fi
             ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-            # Hide the ALL_LINGUAS assigment from automake < 1.5.
+            # Hide the ALL_LINGUAS assignment from automake < 1.5.
             eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
             POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
           else
             # The set of available languages was given in configure.in.
-            # Hide the ALL_LINGUAS assigment from automake < 1.5.
+            # Hide the ALL_LINGUAS assignment from automake < 1.5.
             eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
           fi
           # Compute POFILES
@@ -34887,7 +35945,7 @@ if test "$no_create" != yes; then
   $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
 fi
 
index a92d950..aea40fc 100644 (file)
@@ -1,6 +1,6 @@
 # Configure template for GNU Diffutils.
 
-# Copyright (C) 1994-1995, 1998, 2001-2002, 2004, 2006, 2009-2011 Free Software
+# Copyright (C) 1994-1995, 1998, 2001-2002, 2004, 2006, 2009-2013 Free Software
 # Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
@@ -26,14 +26,13 @@ AC_CONFIG_SRCDIR([src/diff.c])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_MACRO_DIR([m4])
 
-AM_INIT_AUTOMAKE([1.11 dist-xz color-tests parallel-tests])
+AM_INIT_AUTOMAKE([1.11 dist-xz no-dist-gzip color-tests parallel-tests])
 AM_SILENT_RULES([yes]) # make --enable-silent-rules the default.
 
 AC_CONFIG_HEADER([lib/config.h:lib/config.hin])
 
 AC_PROG_AWK
 AC_PROG_CC
-AM_PROG_CC_STDC
 AM_MISSING_PROG([HELP2MAN], [help2man])
 AC_PROG_RANLIB
 gl_EARLY
@@ -48,7 +47,11 @@ AC_ARG_ENABLE([gcc-warnings],
      *)      AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;;
    esac
    gl_gcc_warnings=$enableval],
-  [gl_gcc_warnings=no]
+  [if test -d "$srcdir"/.git; then
+     gl_gcc_warnings=yes
+   else
+     gl_gcc_warnings=no
+   fi]
 )
 
 if test "$gl_gcc_warnings" = yes; then
@@ -96,6 +99,7 @@ if test "$gl_gcc_warnings" = yes; then
   gl_WARN_ADD([-Wno-sign-compare])     # Too many warnings for now
   gl_WARN_ADD([-Wno-pointer-sign])     # Too many warnings for now
   gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now
+  gl_WARN_ADD([-Wno-format-nonliteral])
 
   # In spite of excluding -Wlogical-op above, it is enabled, as of
   # gcc 4.5.0 20090517, and it provokes warnings in cat.c, dd.c, truncate.c
@@ -157,7 +161,7 @@ test -f $srcdir/.tarball-version \
   || SRC_VERSION_C=../src/version.c
 
 AM_GNU_GETTEXT([external], [need-ngettext])
-AM_GNU_GETTEXT_VERSION([0.17])
+AM_GNU_GETTEXT_VERSION([0.18.2])
 XGETTEXT="AWK='$AWK' \$(SHELL) \$(top_srcdir)/exgettext $XGETTEXT"
 
 AC_CONFIG_FILES([
@@ -168,6 +172,5 @@ AC_CONFIG_FILES([
   gnulib-tests/Makefile
   man/Makefile
   po/Makefile.in
-  ms/Makefile
 ])
 AC_OUTPUT
index 73e8a37..286f7a4 100644 (file)
@@ -1,6 +1,6 @@
 # Makefile for GNU diffutils documentation.
 
-# Copyright (C) 2001-2002, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2002, 2009-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
index 9f31a87..56e2a7b 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11a from Makefile.am.
+# Makefile.in generated by automake 1.13a from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +16,7 @@
 
 # Makefile for GNU diffutils documentation.
 
-# Copyright (C) 2001-2002, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2002, 2009-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -50,27 +66,31 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = doc
-DIST_COMMON = $(diffutils_TEXINFOS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/stamp-vti \
-       $(srcdir)/version.texi
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(diffutils_TEXINFOS) $(top_srcdir)/build-aux/mdate-sh \
+       $(srcdir)/version.texi $(srcdir)/stamp-vti \
+       $(top_srcdir)/build-aux/texinfo.tex
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \
        $(top_srcdir)/m4/c-stack.m4 $(top_srcdir)/m4/clock_time.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \
-       $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
+       $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
-       $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fcntl-o.m4 \
+       $(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/extensions.m4 \
+       $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
        $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
-       $(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/float_h.m4 \
-       $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpieee.m4 \
-       $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/getcwd.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/filenamecat.m4 \
+       $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+       $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/freopen.m4 \
+       $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/getcwd.m4 \
        $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext_gl.m4 \
+       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
-       $(top_srcdir)/m4/glibc21_gl.m4 $(top_srcdir)/m4/gnu-make.m4 \
+       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
        $(top_srcdir)/m4/gnulib-comp.m4 \
        $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \
@@ -78,54 +98,58 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
        $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
-       $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h_gl.m4 \
+       $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
        $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \
-       $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld_gl.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix_gl.m4 \
+       $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/libsigsegv.m4 \
        $(top_srcdir)/m4/libunistring-base.m4 \
        $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
        $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
        $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/longlong_gl.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \
-       $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \
-       $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \
-       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \
-       $(top_srcdir)/m4/onceonly.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/po_gl.m4 $(top_srcdir)/m4/printf.m4 \
+       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/longlong.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbslen.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mkstemp.m4 \
+       $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/putenv.m4 \
        $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
-       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
-       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/readlink.m4 \
+       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/secure_getenv.m4 \
+       $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \
+       $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \
        $(top_srcdir)/m4/signalblocking.m4 \
        $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
        $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
        $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
        $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
        $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdint_h_gl.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
        $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strcase.m4 \
-       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
-       $(top_srcdir)/m4/strftime.m4 $(top_srcdir)/m4/string_h.m4 \
-       $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
-       $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strptime.m4 \
-       $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
-       $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strftime.m4 \
+       $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+       $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+       $(top_srcdir)/m4/strptime.m4 $(top_srcdir)/m4/strtoull.m4 \
+       $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_wait_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
-       $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlocked-io.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/vararrays.m4 \
-       $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_wait_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+       $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd_h.m4 \
+       $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/vararrays.m4 $(top_srcdir)/m4/vasnprintf.m4 \
+       $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -133,42 +157,55 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \
        $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xsize.m4 \
        $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \
-       $(top_srcdir)/configure.ac
+       $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
+mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN     " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
-AM_V_DVIPS = $(am__v_DVIPS_$(V))
-am__v_DVIPS_ = $(am__v_DVIPS_$(AM_DEFAULT_VERBOSITY))
+AM_V_DVIPS = $(am__v_DVIPS_@AM_V@)
+am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@)
 am__v_DVIPS_0 = @echo "  DVIPS   " $@;
-AM_V_MAKEINFO = $(am__v_MAKEINFO_$(V))
-am__v_MAKEINFO_ = $(am__v_MAKEINFO_$(AM_DEFAULT_VERBOSITY))
+am__v_DVIPS_1 = 
+AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@)
+am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@)
 am__v_MAKEINFO_0 = @echo "  MAKEINFO" $@;
-AM_V_INFOHTML = $(am__v_INFOHTML_$(V))
-am__v_INFOHTML_ = $(am__v_INFOHTML_$(AM_DEFAULT_VERBOSITY))
+am__v_MAKEINFO_1 = 
+AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@)
+am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@)
 am__v_INFOHTML_0 = @echo "  INFOHTML" $@;
-AM_V_TEXI2DVI = $(am__v_TEXI2DVI_$(V))
-am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_$(AM_DEFAULT_VERBOSITY))
+am__v_INFOHTML_1 = 
+AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@)
+am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@)
 am__v_TEXI2DVI_0 = @echo "  TEXI2DVI" $@;
-AM_V_TEXI2PDF = $(am__v_TEXI2PDF_$(V))
-am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_$(AM_DEFAULT_VERBOSITY))
+am__v_TEXI2DVI_1 = 
+AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@)
+am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@)
 am__v_TEXI2PDF_0 = @echo "  TEXI2PDF" $@;
-AM_V_texinfo = $(am__v_texinfo_$(V))
-am__v_texinfo_ = $(am__v_texinfo_$(AM_DEFAULT_VERBOSITY))
+am__v_TEXI2PDF_1 = 
+AM_V_texinfo = $(am__v_texinfo_@AM_V@)
+am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@)
 am__v_texinfo_0 = -q
-AM_V_texidevnull = $(am__v_texidevnull_$(V))
-am__v_texidevnull_ = $(am__v_texidevnull_$(AM_DEFAULT_VERBOSITY))
+am__v_texinfo_1 = 
+AM_V_texidevnull = $(am__v_texidevnull_@AM_V@)
+am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@)
 am__v_texidevnull_0 = > /dev/null
+am__v_texidevnull_1 = 
 INFO_DEPS = $(srcdir)/diffutils.info
 TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex
 am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux
@@ -182,6 +219,11 @@ TEXI2PDF = $(TEXI2DVI) --pdf --batch
 MAKEINFOHTML = $(MAKEINFO) --html
 AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
 DVIPS = dvips
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__installdirs = "$(DESTDIR)$(infodir)"
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
@@ -204,6 +246,13 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -255,9 +304,11 @@ GNULIB_ATOLL = @GNULIB_ATOLL@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
 GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
@@ -269,6 +320,8 @@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
 GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
 GNULIB_FCLOSE = @GNULIB_FCLOSE@
 GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
 GNULIB_FFLUSH = @GNULIB_FFLUSH@
 GNULIB_FFS = @GNULIB_FFS@
 GNULIB_FFSL = @GNULIB_FFSL@
@@ -286,6 +339,7 @@ GNULIB_FREOPEN = @GNULIB_FREOPEN@
 GNULIB_FSCANF = @GNULIB_FSCANF@
 GNULIB_FSEEK = @GNULIB_FSEEK@
 GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
 GNULIB_FSTATAT = @GNULIB_FSTATAT@
 GNULIB_FSYNC = @GNULIB_FSYNC@
 GNULIB_FTELL = @GNULIB_FTELL@
@@ -306,21 +360,23 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETS = @GNULIB_GETS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
 GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_ICONV = @GNULIB_ICONV@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_ISATTY = @GNULIB_ISATTY@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -366,20 +422,25 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
 GNULIB_PIPE2 = @GNULIB_PIPE2@
 GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
 GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
 GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RAISE = @GNULIB_RAISE@
+GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
@@ -393,7 +454,9 @@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
 GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
 GNULIB_SIGACTION = @GNULIB_SIGACTION@
 GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
@@ -434,7 +497,6 @@ GNULIB_TIME_R = @GNULIB_TIME_R@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -500,6 +562,7 @@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
@@ -517,6 +580,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -542,6 +606,7 @@ HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
 HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
 HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFS = @HAVE_FFS@
 HAVE_FFSL = @HAVE_FFSL@
@@ -595,17 +660,24 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
 HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
 HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
 HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RAISE = @HAVE_RAISE@
+HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
@@ -614,7 +686,9 @@ HAVE_READLINKAT = @HAVE_READLINKAT@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
 HAVE_SIGACTION = @HAVE_SIGACTION@
 HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@
 HAVE_SIGINFO_T = @HAVE_SIGINFO_T@
@@ -629,6 +703,7 @@ HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASECMP = @HAVE_STRCASECMP@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRINGS_H = @HAVE_STRINGS_H@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
@@ -761,6 +836,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
@@ -784,6 +860,7 @@ NEXT_STRINGS_H = @NEXT_STRINGS_H@
 NEXT_STRING_H = @NEXT_STRING_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
 NEXT_SYS_WAIT_H = @NEXT_SYS_WAIT_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
@@ -819,6 +896,7 @@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
@@ -830,6 +908,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@
 REPLACE_FSTATAT = @REPLACE_FSTATAT@
 REPLACE_FTELL = @REPLACE_FTELL@
 REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
 REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
@@ -842,11 +921,14 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
+REPLACE_ITOLD = @REPLACE_ITOLD@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
@@ -876,8 +958,12 @@ REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
 REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_RAISE = @REPLACE_RAISE@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
 REPLACE_REALLOC = @REPLACE_REALLOC@
@@ -906,7 +992,10 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
 REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
@@ -953,6 +1042,8 @@ VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -964,7 +1055,6 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 am__include = @am__include@
-am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
@@ -1000,7 +1090,6 @@ lispdir = @lispdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
-mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -1054,49 +1143,31 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 
 .texi.info:
-       $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \
-       am__cwd=`pwd` && $(am__cd) $(srcdir) && \
-       rm -rf $$backupdir && mkdir $$backupdir && \
-       if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
-         for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
-           if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
-         done; \
-       else :; fi && \
-       cd "$$am__cwd"; \
-       if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-        -o $@ $<; \
-       then \
-         rc=0; \
-         $(am__cd) $(srcdir); \
-       else \
-         rc=$$?; \
-         $(am__cd) $(srcdir) && \
-         $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
-       fi; \
-       rm -rf $$backupdir; exit $$rc
+       $(AM_V_MAKEINFO)$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
+                       -I $(srcdir) --no-split -o $@-t \
+       $<
+       $(AM_V_at)mv -f $@-t $@
 
 .texi.dvi:
        $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
        MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
-       $(TEXI2DVI) $(AM_V_texinfo) $< $(AM_V_texidevnull)
+       $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \
+       $<
 
 .texi.pdf:
        $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
        MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
-       $(TEXI2PDF) $(AM_V_texinfo) $< $(AM_V_texidevnull)
+       $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \
+       $<
 
 .texi.html:
        $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp)
        $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
         -o $(@:.html=.htp) $<; \
        then \
-         rm -rf $@; \
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
+         rm -rf $@ && mv $(@:.html=.htp) $@; \
        else \
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
-         exit 1; \
+         rm -rf $(@:.html=.htp); exit 1; \
        fi
 $(srcdir)/diffutils.info: diffutils.texi $(srcdir)/version.texi $(diffutils_TEXINFOS)
 diffutils.dvi: diffutils.texi $(srcdir)/version.texi $(diffutils_TEXINFOS)
@@ -1145,9 +1216,7 @@ uninstall-html-am:
 
 uninstall-info-am:
        @$(PRE_UNINSTALL)
-       @if test -d '$(DESTDIR)$(infodir)' && \
-           (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+       @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \
          list='$(INFO_DEPS)'; \
          for file in $$list; do \
            relfile=`echo "$$file" | sed 's|^.*/||'`; \
@@ -1160,10 +1229,9 @@ uninstall-info-am:
        @list='$(INFO_DEPS)'; \
        for file in $$list; do \
          relfile=`echo "$$file" | sed 's|^.*/||'`; \
-         relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
          (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
-            echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
-            rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
+            echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile"; \
+            rm -f $$relfile; \
           else :; fi); \
        done
 
@@ -1192,38 +1260,28 @@ dist-info: $(INFO_DEPS)
          case $$base in \
            $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
          esac; \
-         if test -f $$base; then d=.; else d=$(srcdir); fi; \
-         base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
-         for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
-           if test -f $$file; then \
-             relfile=`expr "$$file" : "$$d/\(.*\)"`; \
-             test -f "$(distdir)/$$relfile" || \
-               cp -p $$file "$(distdir)/$$relfile"; \
-           else :; fi; \
-         done; \
+         if test -f $$base; then \
+           file=./$$base; \
+         else \
+           file=$(srcdir)/$$base; \
+         fi; \
+         if test -f $$file && test ! -f "$(distdir)/$$base"; then \
+           cp -p $$file "$(distdir)/$$base"; \
+         fi; \
        done
 
 mostlyclean-aminfo:
-       -rm -rf diffutils.aux diffutils.cp diffutils.cps diffutils.fn diffutils.fns \
-         diffutils.ky diffutils.kys diffutils.log diffutils.pg \
-         diffutils.pgs diffutils.tmp diffutils.toc diffutils.tp \
-         diffutils.tps diffutils.vr
+       -rm -rf diffutils.t2d diffutils.t2p
 
 clean-aminfo:
        -test -z "diffutils.dvi diffutils.pdf diffutils.ps diffutils.html" \
        || rm -rf diffutils.dvi diffutils.pdf diffutils.ps diffutils.html
 
 maintainer-clean-aminfo:
-       @list='$(INFO_DEPS)'; for i in $$list; do \
-         i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
-         echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
-         rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
-       done
-tags: TAGS
-TAGS:
+       -test -z "$(INFO_DEPS)" || rm -f $(INFO_DEPS)
+tags TAGS:
 
-ctags: CTAGS
-CTAGS:
+ctags CTAGS:
 
 cscope cscopelist:
 
@@ -1324,8 +1382,11 @@ install-dvi: install-dvi-am
 
 install-dvi-am: $(DVIS)
        @$(NORMAL_INSTALL)
-       test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
        @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -1340,18 +1401,22 @@ install-html: install-html-am
 
 install-html-am: $(HTMLS)
        @$(NORMAL_INSTALL)
-       test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
        @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
          $(am__strip_dir) \
-         if test -d "$$d$$p"; then \
+         d2=$$d$$p; \
+         if test -d "$$d2"; then \
            echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
            $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
-           echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
+           echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \
+           $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
          else \
-           list2="$$list2 $$d$$p"; \
+           list2="$$list2 $$d2"; \
          fi; \
        done; \
        test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
@@ -1363,28 +1428,27 @@ install-info: install-info-am
 
 install-info-am: $(INFO_DEPS)
        @$(NORMAL_INSTALL)
-       test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \
+       fi; \
        for file in $$list; do \
          case $$file in \
            $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
          esac; \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
-         file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
-         for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
-                      $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
-           if test -f $$ifile; then \
-             echo "$$ifile"; \
-           else : ; fi; \
-         done; \
+         if test -f $$file; then \
+           echo ./$$file; \
+         else \
+           echo $(srcdir)/$$file; \
+         fi; \
        done | $(am__base_list) | \
        while read files; do \
          echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
          $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
        @$(POST_INSTALL)
-       @if (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+       @if $(am__can_run_installinfo); then \
          list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
          for file in $$list; do \
            relfile=`echo "$$file" | sed 's|^.*/||'`; \
@@ -1398,8 +1462,11 @@ install-pdf: install-pdf-am
 
 install-pdf-am: $(PDFS)
        @$(NORMAL_INSTALL)
-       test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
        @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -1411,8 +1478,11 @@ install-ps: install-ps-am
 
 install-ps-am: $(PSS)
        @$(NORMAL_INSTALL)
-       test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
        @list='$(PSS)'; test -n "$(psdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -1445,18 +1515,19 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
 .MAKE: install-am install-strip
 
 .PHONY: all all-am check check-am clean clean-aminfo clean-generic \
-       dist-info distclean distclean-generic distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-aminfo maintainer-clean-generic \
-       maintainer-clean-vti mostlyclean mostlyclean-aminfo \
-       mostlyclean-generic mostlyclean-vti pdf pdf-am ps ps-am \
-       uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
-       uninstall-info-am uninstall-pdf-am uninstall-ps-am
+       cscopelist-am ctags-am dist-info distclean distclean-generic \
+       distdir dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-aminfo \
+       maintainer-clean-generic maintainer-clean-vti mostlyclean \
+       mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \
+       pdf-am ps ps-am tags-am uninstall uninstall-am \
+       uninstall-dvi-am uninstall-html-am uninstall-info-am \
+       uninstall-pdf-am uninstall-ps-am
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 9ffd175..2d30d21 100644 (file)
@@ -1,5 +1,5 @@
 Here is a comparison matrix which shows a case in which
-it is possible for the forward and backward scan in `diag'
+it is possible for the forward and backward scan in 'diag'
 to meet along a nonzero length of diagonal simultaneous
 (so that bdiag[d] and fdiag[d] are not equal)
 even though there is no snake on that diagonal at the meeting point.
index b44d1cf..42ee687 100644 (file)
@@ -1,12 +1,12 @@
-This is diffutils.info, produced by makeinfo version 4.13 from
+This is diffutils.info-t, produced by makeinfo version 4.13 from
 diffutils.texi.
 
-This manual is for GNU Diffutils (version 3.2, 15 August 2011), and
+This manual is for GNU Diffutils (version 3.3, 23 March 2013), and
 documents the GNU `diff', `diff3', `sdiff', and `cmp' commands for
 showing the differences between files and the GNU `patch' command for
 using their output to update files.
 
-   Copyright (C) 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2011 Free
+   Copyright (C) 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2013 Free
 Software Foundation, Inc.
 
      Permission is granted to copy, distribute and/or modify this
@@ -31,17 +31,17 @@ START-INFO-DIR-ENTRY
 END-INFO-DIR-ENTRY
 
 \1f
-File: diffutils.info,  Node: Top,  Next: Overview,  Up: (dir)
+File: diffutils.info-t,  Node: Top,  Next: Overview,  Up: (dir)
 
 Comparing and Merging Files
 ***************************
 
-This manual is for GNU Diffutils (version 3.2, 15 August 2011), and
+This manual is for GNU Diffutils (version 3.3, 23 March 2013), and
 documents the GNU `diff', `diff3', `sdiff', and `cmp' commands for
 showing the differences between files and the GNU `patch' command for
 using their output to update files.
 
-   Copyright (C) 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2011 Free
+   Copyright (C) 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2013 Free
 Software Foundation, Inc.
 
      Permission is granted to copy, distribute and/or modify this
@@ -84,7 +84,7 @@ Software Foundation, Inc.
 * Index::                 Index.
 
 \1f
-File: diffutils.info,  Node: Overview,  Next: Comparison,  Prev: Top,  Up: Top
+File: diffutils.info-t,  Node: Overview,  Next: Comparison,  Prev: Top,  Up: Top
 
 Overview
 ********
@@ -155,7 +155,7 @@ MacKenzie.  Parts of this manual are adapted from a manual page written
 by Larry Wall, with his permission.
 
 \1f
-File: diffutils.info,  Node: Comparison,  Next: Output Formats,  Prev: Overview,  Up: Top
+File: diffutils.info-t,  Node: Comparison,  Next: Output Formats,  Prev: Overview,  Up: Top
 
 1 What Comparison Means
 ***********************
@@ -208,7 +208,7 @@ changes to the same file.
 * Binary::            Comparing binary files or forcing text comparisons.
 
 \1f
-File: diffutils.info,  Node: Hunks,  Next: White Space,  Up: Comparison
+File: diffutils.info-t,  Node: Hunks,  Next: White Space,  Up: Comparison
 
 1.1 Hunks
 =========
@@ -254,7 +254,7 @@ possible.  You can adjust this tradeoff with the `--minimal' (`-d')
 option (*note diff Performance::).
 
 \1f
-File: diffutils.info,  Node: White Space,  Next: Blank Lines,  Prev: Hunks,  Up: Comparison
+File: diffutils.info-t,  Node: White Space,  Next: Blank Lines,  Prev: Hunks,  Up: Comparison
 
 1.2 Suppressing Differences in Blank and Tab Spacing
 ====================================================
@@ -292,7 +292,7 @@ line.  Hence the `-w' or `--ignore-all-space' option does not ignore
 newline-related changes; it ignores only other white space changes.
 
 \1f
-File: diffutils.info,  Node: Blank Lines,  Next: Specified Lines,  Prev: White Space,  Up: Comparison
+File: diffutils.info-t,  Node: Blank Lines,  Next: Specified Lines,  Prev: White Space,  Up: Comparison
 
 1.3 Suppressing Differences Whose Lines Are All Blank
 =====================================================
@@ -318,7 +318,7 @@ words, `-B' is equivalent to `-I '^$'' by default, but it is equivalent
 to `-I '^[[:space:]]*$'' if `-b', `-w' or `-Z' is also specified.
 
 \1f
-File: diffutils.info,  Node: Specified Lines,  Next: Case Folding,  Prev: Blank Lines,  Up: Comparison
+File: diffutils.info-t,  Node: Specified Lines,  Next: Case Folding,  Prev: Blank Lines,  Up: Comparison
 
 1.4 Suppressing Differences Whose Lines All Match a Regular Expression
 ======================================================================
@@ -341,7 +341,7 @@ by using more than one `-I' option.  `diff' tries to match each line
 against each regular expression.
 
 \1f
-File: diffutils.info,  Node: Case Folding,  Next: Brief,  Prev: Specified Lines,  Up: Comparison
+File: diffutils.info-t,  Node: Case Folding,  Next: Brief,  Prev: Specified Lines,  Up: Comparison
 
 1.5 Suppressing Case Differences
 ================================
@@ -352,7 +352,7 @@ case counterparts, so that, for example, it considers `Funky Stuff',
 use the `-i' or `--ignore-case' option.
 
 \1f
-File: diffutils.info,  Node: Brief,  Next: Binary,  Prev: Case Folding,  Up: Comparison
+File: diffutils.info-t,  Node: Brief,  Next: Binary,  Prev: Case Folding,  Up: Comparison
 
 1.6 Summarizing Which Files Differ
 ==================================
@@ -381,7 +381,7 @@ Invoking cmp::).
 two files.
 
 \1f
-File: diffutils.info,  Node: Binary,  Prev: Brief,  Up: Comparison
+File: diffutils.info-t,  Node: Binary,  Prev: Brief,  Up: Comparison
 
 1.7 Binary Files and Forcing Text Comparisons
 =============================================
@@ -455,7 +455,7 @@ few non-text bytes but otherwise are like text files, you can force
 line by using the `-a' or `--text' option.
 
 \1f
-File: diffutils.info,  Node: Output Formats,  Next: Incomplete Lines,  Prev: Comparison,  Up: Top
+File: diffutils.info-t,  Node: Output Formats,  Next: Incomplete Lines,  Prev: Comparison,  Up: Top
 
 2 `diff' Output Formats
 ***********************
@@ -474,7 +474,7 @@ reports the differences between two sample input files.
 * If-then-else::      Merging files with if-then-else.
 
 \1f
-File: diffutils.info,  Node: Sample diff Input,  Next: Context,  Up: Output Formats
+File: diffutils.info-t,  Node: Sample diff Input,  Next: Context,  Up: Output Formats
 
 2.1 Two Sample Input Files
 ==========================
@@ -518,7 +518,7 @@ second and third lines of `tzu', and the last hunk contains just the
 last three lines of `tzu'.
 
 \1f
-File: diffutils.info,  Node: Context,  Next: Side by Side,  Prev: Sample diff Input,  Up: Output Formats
+File: diffutils.info-t,  Node: Context,  Next: Side by Side,  Prev: Sample diff Input,  Up: Output Formats
 
 2.2 Showing Differences in Their Context
 ========================================
@@ -551,7 +551,7 @@ more information on using `patch' to apply imperfect diffs.
 * Alternate Names:: Showing alternate file names in context headers.
 
 \1f
-File: diffutils.info,  Node: Context Format,  Next: Unified Format,  Up: Context
+File: diffutils.info-t,  Node: Context Format,  Next: Unified Format,  Up: Context
 
 2.2.1 Context Format
 --------------------
@@ -573,7 +573,7 @@ needs at least two lines of context.
 * Detailed Context:: A detailed description of the context output format.
 
 \1f
-File: diffutils.info,  Node: Example Context,  Next: Less Context,  Up: Context Format
+File: diffutils.info-t,  Node: Example Context,  Next: Less Context,  Up: Context Format
 
 2.2.1.1 An Example of Context Format
 ....................................
@@ -613,7 +613,7 @@ run together, because their contents overlap.
      + The door of all subtleties!
 
 \1f
-File: diffutils.info,  Node: Less Context,  Next: Detailed Context,  Prev: Example Context,  Up: Context Format
+File: diffutils.info-t,  Node: Less Context,  Next: Detailed Context,  Prev: Example Context,  Up: Context Format
 
 2.2.1.2 An Example of Context Format with Less Context
 ......................................................
@@ -645,7 +645,7 @@ context line is reported here.
      + The door of all subtleties!
 
 \1f
-File: diffutils.info,  Node: Detailed Context,  Prev: Less Context,  Up: Context Format
+File: diffutils.info-t,  Node: Detailed Context,  Prev: Less Context,  Up: Context Format
 
 2.2.1.3 Detailed Description of Context Format
 ..............................................
@@ -705,7 +705,7 @@ FROM-FILE are omitted.  If all of the changes are deletions, the lines
 of TO-FILE are omitted.
 
 \1f
-File: diffutils.info,  Node: Unified Format,  Next: Sections,  Prev: Context Format,  Up: Context
+File: diffutils.info-t,  Node: Unified Format,  Next: Sections,  Prev: Context Format,  Up: Context
 
 2.2.2 Unified Format
 --------------------
@@ -726,7 +726,7 @@ operation, `patch' typically needs at least three lines of context.
 * Detailed Unified:: A detailed description of unified format.
 
 \1f
-File: diffutils.info,  Node: Example Unified,  Next: Detailed Unified,  Up: Unified Format
+File: diffutils.info-t,  Node: Example Unified,  Next: Detailed Unified,  Up: Unified Format
 
 2.2.2.1 An Example of Unified Format
 ....................................
@@ -755,7 +755,7 @@ Input::, for the complete contents of the two files):
      +The door of all subtleties!
 
 \1f
-File: diffutils.info,  Node: Detailed Unified,  Prev: Example Unified,  Up: Unified Format
+File: diffutils.info-t,  Node: Detailed Unified,  Prev: Example Unified,  Up: Unified Format
 
 2.2.2.2 Detailed Description of Unified Format
 ..............................................
@@ -771,8 +771,8 @@ indicate the date, time with fractional seconds, and time zone.  The
 fractional seconds are omitted on hosts that do not support fractional
 time stamps.
 
-   You can change the header's content with the `--label=LABEL' option;
-see *Note Alternate Names::.
+   You can change the header's content with the `--label=LABEL' option.
+*Note Alternate Names::.
 
    Next come one or more hunks of differences; each hunk shows one area
 where the files differ.  Unified format hunks look like this:
@@ -801,7 +801,7 @@ following indicator characters in the left print column:
      A line was removed here from the first file.
 
 \1f
-File: diffutils.info,  Node: Sections,  Next: Alternate Names,  Prev: Unified Format,  Up: Context
+File: diffutils.info-t,  Node: Sections,  Next: Alternate Names,  Prev: Unified Format,  Up: Context
 
 2.2.3 Showing Which Sections Differences Are in
 -----------------------------------------------
@@ -819,7 +819,7 @@ lines are "section headings" is determined by a regular expression.
 * C Function Headings:: Showing headings of C functions.
 
 \1f
-File: diffutils.info,  Node: Specified Headings,  Next: C Function Headings,  Up: Sections
+File: diffutils.info-t,  Node: Specified Headings,  Next: C Function Headings,  Up: Sections
 
 2.2.3.1 Showing Lines That Match Regular Expressions
 ....................................................
@@ -857,7 +857,7 @@ regular expression, starting with the last one given.  This means that
 you can use `-p' and `-F' together, if you wish.
 
 \1f
-File: diffutils.info,  Node: C Function Headings,  Prev: Specified Headings,  Up: Sections
+File: diffutils.info-t,  Node: C Function Headings,  Prev: Specified Headings,  Up: Sections
 
 2.2.3.2 Showing C Function Headings
 ...................................
@@ -876,7 +876,7 @@ elsewhere in the command line.
 this option for the sake of convenience.
 
 \1f
-File: diffutils.info,  Node: Alternate Names,  Prev: Sections,  Up: Context
+File: diffutils.info-t,  Node: Alternate Names,  Prev: Sections,  Up: Context
 
 2.2.4 Showing Alternate File Names
 ----------------------------------
@@ -899,7 +899,7 @@ Pagination::).
      --- modified
 
 \1f
-File: diffutils.info,  Node: Side by Side,  Next: Normal,  Prev: Context,  Up: Output Formats
+File: diffutils.info-t,  Node: Side by Side,  Next: Normal,  Prev: Context,  Up: Output Formats
 
 2.3 Showing Differences Side by Side
 ====================================
@@ -940,7 +940,7 @@ white space
      incomplete.
 
    Normally, an output line is incomplete if and only if the lines that
-it contains are incomplete; *Note Incomplete Lines::.  However, when an
+it contains are incomplete *Note Incomplete Lines::.  However, when an
 output line represents two differing lines, one might be incomplete
 while the other is not.  In this case, the output line is complete, but
 its the gutter is marked `\' if the first line is incomplete, `/' if
@@ -963,7 +963,7 @@ merging files.
 * Example Side by Side:: Sample side by side output.
 
 \1f
-File: diffutils.info,  Node: Side by Side Format,  Next: Example Side by Side,  Up: Side by Side
+File: diffutils.info-t,  Node: Side by Side Format,  Next: Example Side by Side,  Up: Side by Side
 
 2.3.1 Controlling Side by Side Format
 -------------------------------------
@@ -983,7 +983,7 @@ lines.  The `--suppress-common-lines' option suppresses common lines
 entirely.
 
 \1f
-File: diffutils.info,  Node: Example Side by Side,  Prev: Side by Side Format,  Up: Side by Side
+File: diffutils.info-t,  Node: Example Side by Side,  Prev: Side by Side Format,  Up: Side by Side
 
 2.3.2 An Example of Side by Side Format
 ---------------------------------------
@@ -1008,7 +1008,7 @@ diff Input::, for the complete contents of the two files).
                                         >    The door of all subtleties!
 
 \1f
-File: diffutils.info,  Node: Normal,  Next: Scripts,  Prev: Side by Side,  Up: Output Formats
+File: diffutils.info-t,  Node: Normal,  Next: Scripts,  Prev: Side by Side,  Up: Output Formats
 
 2.4 Showing Differences Without Context
 =======================================
@@ -1030,7 +1030,7 @@ Use the `--normal' option to select this output format explicitly.
 * Detailed Normal:: A detailed description of normal output format.
 
 \1f
-File: diffutils.info,  Node: Example Normal,  Next: Detailed Normal,  Up: Normal
+File: diffutils.info-t,  Node: Example Normal,  Next: Detailed Normal,  Up: Normal
 
 2.4.1 An Example of Normal Format
 ---------------------------------
@@ -1053,7 +1053,7 @@ shows only the lines that are different between the two files.
      > The door of all subtleties!
 
 \1f
-File: diffutils.info,  Node: Detailed Normal,  Prev: Example Normal,  Up: Normal
+File: diffutils.info-t,  Node: Detailed Normal,  Prev: Example Normal,  Up: Normal
 
 2.4.2 Detailed Description of Normal Format
 -------------------------------------------
@@ -1097,7 +1097,7 @@ are:
      after line 3 of file 2.
 
 \1f
-File: diffutils.info,  Node: Scripts,  Next: If-then-else,  Prev: Normal,  Up: Output Formats
+File: diffutils.info-t,  Node: Scripts,  Next: If-then-else,  Prev: Normal,  Up: Output Formats
 
 2.5 Making Edit Scripts
 =======================
@@ -1112,7 +1112,7 @@ produce TO-FILE.
 * RCS::        A special `diff' output format used by RCS.
 
 \1f
-File: diffutils.info,  Node: ed Scripts,  Next: Forward ed,  Up: Scripts
+File: diffutils.info-t,  Node: ed Scripts,  Next: Forward ed,  Up: Scripts
 
 2.5.1 `ed' Scripts
 ------------------
@@ -1141,7 +1141,7 @@ old' edits `old' to make it a copy of `newN'.
 * Detailed ed:: A detailed description of `ed' format.
 
 \1f
-File: diffutils.info,  Node: Example ed,  Next: Detailed ed,  Up: ed Scripts
+File: diffutils.info-t,  Node: Example ed,  Next: Detailed ed,  Up: ed Scripts
 
 2.5.1.1 Example `ed' Script
 ...........................
@@ -1161,7 +1161,7 @@ the complete contents of the two files):
      1,2d
 
 \1f
-File: diffutils.info,  Node: Detailed ed,  Prev: Example ed,  Up: ed Scripts
+File: diffutils.info-t,  Node: Detailed ed,  Prev: Example ed,  Up: ed Scripts
 
 2.5.1.2 Detailed Description of `ed' Format
 ...........................................
@@ -1207,7 +1207,7 @@ are:
      `5,7d' means delete lines 5-7 of file 1.
 
 \1f
-File: diffutils.info,  Node: Forward ed,  Next: RCS,  Prev: ed Scripts,  Up: Scripts
+File: diffutils.info-t,  Node: Forward ed,  Next: RCS,  Prev: ed Scripts,  Up: Scripts
 
 2.5.2 Forward `ed' Scripts
 --------------------------
@@ -1225,7 +1225,7 @@ compatibility with older versions of `diff'.  Use the `-f' or
 `--forward-ed' option to select it.
 
 \1f
-File: diffutils.info,  Node: RCS,  Prev: Forward ed,  Up: Scripts
+File: diffutils.info-t,  Node: RCS,  Prev: Forward ed,  Up: Scripts
 
 2.5.3 RCS Scripts
 -----------------
@@ -1257,7 +1257,7 @@ for the complete contents of the two files):
      The door of all subtleties!
 
 \1f
-File: diffutils.info,  Node: If-then-else,  Prev: Scripts,  Up: Output Formats
+File: diffutils.info-t,  Node: If-then-else,  Prev: Scripts,  Up: Output Formats
 
 2.6 Merging Files with If-then-else
 ===================================
@@ -1299,7 +1299,7 @@ group formats and line formats, as described in the next sections.
 * Detailed If-then-else:: A detailed description of if-then-else format.
 
 \1f
-File: diffutils.info,  Node: Line Group Formats,  Next: Line Formats,  Up: If-then-else
+File: diffutils.info-t,  Node: Line Group Formats,  Next: Line Formats,  Up: If-then-else
 
 2.6.1 Line Group Formats
 ------------------------
@@ -1465,7 +1465,7 @@ forms.
      0, to `1 line' if N is 1, and to `%dN lines' otherwise.
 
 \1f
-File: diffutils.info,  Node: Line Formats,  Next: Example If-then-else,  Prev: Line Group Formats,  Up: If-then-else
+File: diffutils.info-t,  Node: Line Formats,  Next: Example If-then-else,  Prev: Line Group Formats,  Up: If-then-else
 
 2.6.2 Line Formats
 ------------------
@@ -1566,7 +1566,7 @@ fine control over `diff' output.
         old new
 
 \1f
-File: diffutils.info,  Node: Example If-then-else,  Next: Detailed If-then-else,  Prev: Line Formats,  Up: If-then-else
+File: diffutils.info-t,  Node: Example If-then-else,  Next: Detailed If-then-else,  Prev: Line Formats,  Up: If-then-else
 
 2.6.3 An Example of If-then-else Format
 ---------------------------------------
@@ -1599,7 +1599,7 @@ for the complete contents of the two files):
      #endif /* TWO */
 
 \1f
-File: diffutils.info,  Node: Detailed If-then-else,  Prev: Example If-then-else,  Up: If-then-else
+File: diffutils.info-t,  Node: Detailed If-then-else,  Prev: Example If-then-else,  Up: If-then-else
 
 2.6.4 Detailed Description of If-then-else Format
 -------------------------------------------------
@@ -1642,10 +1642,10 @@ contain duplicate or otherwise incorrect code.
 
    The `patch' `-D NAME' option behaves like the `diff' `-D NAME'
 option, except it operates on a file and a diff to produce a merged
-file; *Note patch Options::.
+file *Note patch Options::.
 
 \1f
-File: diffutils.info,  Node: Incomplete Lines,  Next: Comparing Directories,  Prev: Output Formats,  Up: Top
+File: diffutils.info-t,  Node: Incomplete Lines,  Next: Comparing Directories,  Prev: Output Formats,  Up: Top
 
 3 Incomplete Lines
 ******************
@@ -1661,8 +1661,8 @@ line by a following line that starts with `\'.  However, the RCS format
 (*note RCS::) outputs the incomplete line as-is, without any trailing
 newline or following line.  The side by side format normally represents
 incomplete lines as-is, but in some cases uses a `\' or `/' gutter
-marker; *Note Side by Side::.  The if-then-else line format preserves a
-line's incompleteness with `%L', and discards the newline with `%l';
+marker.  *Note Side by Side::.  The if-then-else line format preserves
+a line's incompleteness with `%L', and discards the newline with `%l'.
 *Note Line Formats::.  Finally, with the `ed' and forward `ed' output
 formats (*note Output Formats::) `diff' cannot represent an incomplete
 line, so it pretends there was a newline and reports an error.
@@ -1691,7 +1691,7 @@ outputs the following without a trailing newline:
      .
 
 \1f
-File: diffutils.info,  Node: Comparing Directories,  Next: Adjusting Output,  Prev: Incomplete Lines,  Up: Top
+File: diffutils.info-t,  Node: Comparing Directories,  Next: Adjusting Output,  Prev: Incomplete Lines,  Up: Top
 
 4 Comparing Directories
 ***********************
@@ -1708,19 +1708,22 @@ subdirectories' files, but if you use the `-r' or `--recursive' option,
 it compares every corresponding pair of files in the directory trees,
 as many levels deep as they go.
 
-   For file names that are in only one of the directories, `diff'
-normally does not show the contents of the file that exists; it reports
-only that the file exists in that directory and not in the other.  You
-can make `diff' act as though the file existed but was empty in the
-other directory, so that it outputs the entire contents of the file that
-actually exists.  (It is output as either an insertion or a deletion,
-depending on whether it is in the first or the second directory given.)
-To do this, use the `--new-file' (`-N') option.
-
-   If the older directory contains one or more large files that are not
-in the newer directory, you can make the patch smaller by using the
+   If only one file exists, `diff' normally does not show its contents;
+it merely reports that one file exists but the other does not.  You can
+make `diff' act as though the missing file is empty, so that it outputs
+the entire contents of the file that actually exists.  (It is output as
+either an insertion or a deletion, depending on whether the missing
+file is in the first or the second position.)  To do this, use the
+`--new-file' (`-N') option.  This option affects command-line arguments
+as well as files found via directory traversal; for example, `diff -N a
+b' treats `a' as empty if `a' does not exist but `b' does, and
+similarly `diff -N - b' treats standard input as empty if it is closed
+but `b' exists.
+
+   If the older directory contains large files that are not in the
+newer directory, you can make the patch smaller by using the
 `--unidirectional-new-file' option instead of `-N'.  This option is
-like `-N' except that it only inserts the contents of files that appear
+like `-N' except that it inserts the contents only of files that appear
 in the second directory but not the first (that is, files that were
 added).  At the top of the patch, write instructions for the user
 applying the patch to remove the files that were deleted before
@@ -1766,8 +1769,13 @@ behavior.
 `--ignore-file-name-case' option is in effect, case is ignored when
 excluding file names matching the specified patterns.
 
+   To avoid that `diff' follows symbolic links, use the
+`--no-dereference'.  When this option is in use, symbolic links will be
+treated like a special kind of files, rather than comparing the target
+of each symbolic link.
+
 \1f
-File: diffutils.info,  Node: Adjusting Output,  Next: diff Performance,  Prev: Comparing Directories,  Up: Top
+File: diffutils.info-t,  Node: Adjusting Output,  Next: diff Performance,  Prev: Comparing Directories,  Up: Top
 
 5 Making `diff' Output Prettier
 *******************************
@@ -1782,7 +1790,7 @@ These adjustments can be applied to any output format.
 * Pagination::      Page numbering and time-stamping `diff' output.
 
 \1f
-File: diffutils.info,  Node: Tabs,  Next: Trailing Blanks,  Up: Adjusting Output
+File: diffutils.info-t,  Node: Tabs,  Next: Trailing Blanks,  Up: Adjusting Output
 
 5.1 Preserving Tab Stop Alignment
 =================================
@@ -1814,7 +1822,7 @@ type indicator character.  Select this method with the `-T' or
 `--initial-tab' option.
 
 \1f
-File: diffutils.info,  Node: Trailing Blanks,  Next: Pagination,  Prev: Tabs,  Up: Adjusting Output
+File: diffutils.info-t,  Node: Trailing Blanks,  Next: Pagination,  Prev: Tabs,  Up: Adjusting Output
 
 5.2 Omitting trailing blanks
 ============================
@@ -1838,7 +1846,7 @@ to be munged by text editors or by transmission via email.  It is
 accepted by GNU `patch' as well.
 
 \1f
-File: diffutils.info,  Node: Pagination,  Prev: Trailing Blanks,  Up: Adjusting Output
+File: diffutils.info-t,  Node: Pagination,  Prev: Trailing Blanks,  Up: Adjusting Output
 
 5.3 Paginating `diff' Output
 ============================
@@ -1851,7 +1859,7 @@ for `diff -lc lao tzu':
      2002-02-22 14:20                 diff -lc lao tzu                 Page 1
 
 \1f
-File: diffutils.info,  Node: diff Performance,  Next: Comparing Three Files,  Prev: Adjusting Output,  Up: Top
+File: diffutils.info-t,  Node: diff Performance,  Next: Comparing Three Files,  Prev: Adjusting Output,  Up: Top
 
 6 `diff' Performance Tradeoffs
 ******************************
@@ -1910,7 +1918,7 @@ towards the end of the file.  Merging hunks can make the output look
 nicer in some cases.
 
 \1f
-File: diffutils.info,  Node: Comparing Three Files,  Next: diff3 Merging,  Prev: diff Performance,  Up: Top
+File: diffutils.info-t,  Node: Comparing Three Files,  Next: diff3 Merging,  Prev: diff Performance,  Up: Top
 
 7 Comparing Three Files
 ***********************
@@ -1929,11 +1937,11 @@ location in the input files.
 
 * Sample diff3 Input::    Sample `diff3' input for examples.
 * Example diff3 Normal::  Sample output in the normal format.
-* diff3 Hunks::           The format of normal output format.
 * Detailed diff3 Normal:: A detailed description of normal output format.
+* diff3 Hunks::           The format of normal output format.
 
 \1f
-File: diffutils.info,  Node: Sample diff3 Input,  Next: Example diff3 Normal,  Up: Comparing Three Files
+File: diffutils.info-t,  Node: Sample diff3 Input,  Next: Example diff3 Normal,  Up: Comparing Three Files
 
 7.1 A Third Sample Input File
 =============================
@@ -1959,7 +1967,7 @@ Input::).  This is the third sample file, called `tao':
        -- The Way of Lao-Tzu, tr. Wing-tsit Chan
 
 \1f
-File: diffutils.info,  Node: Example diff3 Normal,  Next: diff3 Hunks,  Prev: Sample diff3 Input,  Up: Comparing Three Files
+File: diffutils.info-t,  Node: Example diff3 Normal,  Next: Detailed diff3 Normal,  Prev: Sample diff3 Input,  Up: Comparing Three Files
 
 7.2 An Example of `diff3' Normal Format
 =======================================
@@ -1998,7 +2006,7 @@ shows only the lines that are different among the three files.
          -- The Way of Lao-Tzu, tr. Wing-tsit Chan
 
 \1f
-File: diffutils.info,  Node: Detailed diff3 Normal,  Prev: diff3 Hunks,  Up: Comparing Three Files
+File: diffutils.info-t,  Node: Detailed diff3 Normal,  Next: diff3 Hunks,  Prev: Example diff3 Normal,  Up: Comparing Three Files
 
 7.3 Detailed Description of `diff3' Normal Format
 =================================================
@@ -2036,7 +2044,7 @@ Incomplete Lines::), it is distinguished on output from a full line by
 a following line that starts with `\'.
 
 \1f
-File: diffutils.info,  Node: diff3 Hunks,  Next: Detailed diff3 Normal,  Prev: Example diff3 Normal,  Up: Comparing Three Files
+File: diffutils.info-t,  Node: diff3 Hunks,  Prev: Detailed diff3 Normal,  Up: Comparing Three Files
 
 7.4 `diff3' Hunks
 =================
@@ -2077,7 +2085,7 @@ all three files, then a three-way hunk containing the last line of each
 file.
 
 \1f
-File: diffutils.info,  Node: diff3 Merging,  Next: Interactive Merging,  Prev: Comparing Three Files,  Up: Top
+File: diffutils.info-t,  Node: diff3 Merging,  Next: Interactive Merging,  Prev: Comparing Three Files,  Up: Top
 
 8 Merging From a Common Ancestor
 ********************************
@@ -2128,7 +2136,7 @@ this bypasses some problems with `ed'.
 * Saving the Changed File::  Emulating System V behavior.
 
 \1f
-File: diffutils.info,  Node: Which Changes,  Next: Marking Conflicts,  Up: diff3 Merging
+File: diffutils.info-t,  Node: Which Changes,  Next: Marking Conflicts,  Up: diff3 Merging
 
 8.1 Selecting Which Changes to Incorporate
 ==========================================
@@ -2171,7 +2179,7 @@ changes output by `-3' and `-x'.
      .
 
 \1f
-File: diffutils.info,  Node: Marking Conflicts,  Next: Bypassing ed,  Prev: Which Changes,  Up: diff3 Merging
+File: diffutils.info-t,  Node: Marking Conflicts,  Next: Bypassing ed,  Prev: Which Changes,  Up: diff3 Merging
 
 8.2 Marking Conflicts
 =====================
@@ -2245,7 +2253,7 @@ that the output looks like it came from files named `X', `Y' and `Z'
 rather than from files named `A', `B' and `C'.
 
 \1f
-File: diffutils.info,  Node: Bypassing ed,  Next: Merging Incomplete Lines,  Prev: Marking Conflicts,  Up: diff3 Merging
+File: diffutils.info-t,  Node: Bypassing ed,  Next: Merging Incomplete Lines,  Prev: Marking Conflicts,  Up: diff3 Merging
 
 8.3 Generating the Merged Output Directly
 =========================================
@@ -2283,7 +2291,7 @@ Input:: for a copy of the input files) would output the following:
      >>>>>>> tao
 
 \1f
-File: diffutils.info,  Node: Merging Incomplete Lines,  Next: Saving the Changed File,  Prev: Bypassing ed,  Up: diff3 Merging
+File: diffutils.info-t,  Node: Merging Incomplete Lines,  Next: Saving the Changed File,  Prev: Bypassing ed,  Up: diff3 Merging
 
 8.4 How `diff3' Merges Incomplete Lines
 =======================================
@@ -2300,7 +2308,7 @@ incomplete line is found, `diff3' generates a warning and acts as if a
 newline had been present.
 
 \1f
-File: diffutils.info,  Node: Saving the Changed File,  Prev: Merging Incomplete Lines,  Up: diff3 Merging
+File: diffutils.info-t,  Node: Saving the Changed File,  Prev: Merging Incomplete Lines,  Up: diff3 Merging
 
 8.5 Saving the Changed File
 ===========================
@@ -2315,7 +2323,7 @@ and appends the `w' and `q' commands.
 and is incompatible with the merged output option `-m'.
 
 \1f
-File: diffutils.info,  Node: Interactive Merging,  Next: Merging with patch,  Prev: diff3 Merging,  Up: Top
+File: diffutils.info-t,  Node: Interactive Merging,  Next: Merging with patch,  Prev: diff3 Merging,  Up: Top
 
 9 Interactive Merging with `sdiff'
 **********************************
@@ -2334,7 +2342,7 @@ package `emerge'.  *Note emerge: (emacs)emerge, for more information.
 * Merge Commands::       Merging two files interactively.
 
 \1f
-File: diffutils.info,  Node: sdiff Option Summary,  Next: Merge Commands,  Up: Interactive Merging
+File: diffutils.info-t,  Node: sdiff Option Summary,  Next: Merge Commands,  Up: Interactive Merging
 
 9.1 Specifying `diff' Options to `sdiff'
 ========================================
@@ -2363,7 +2371,7 @@ of `diff': with `sdiff', `-w COLUMNS' is equivalent to
 `--side-by-side' (`-y') option (*note Side by Side::).
 
 \1f
-File: diffutils.info,  Node: Merge Commands,  Prev: sdiff Option Summary,  Up: Interactive Merging
+File: diffutils.info-t,  Node: Merge Commands,  Prev: sdiff Option Summary,  Up: Interactive Merging
 
 9.2 Merge Commands
 ==================
@@ -2416,7 +2424,7 @@ Follow each command with <RET>.
 variable if it is set.  The default is system-dependent.
 
 \1f
-File: diffutils.info,  Node: Merging with patch,  Next: Making Patches,  Prev: Interactive Merging,  Up: Top
+File: diffutils.info-t,  Node: Merging with patch,  Next: Making Patches,  Prev: Interactive Merging,  Up: Top
 
 10 Merging with `patch'
 ***********************
@@ -2465,7 +2473,7 @@ each file F with its new version, putting reject hunks (if any) into
 * patch and Tradition::    GNU versus traditional `patch'.
 
 \1f
-File: diffutils.info,  Node: patch Input,  Next: Revision Control,  Up: Merging with patch
+File: diffutils.info-t,  Node: patch Input,  Next: Revision Control,  Up: Merging with patch
 
 10.1 Selecting the `patch' Input Format
 =======================================
@@ -2494,7 +2502,7 @@ format of diff.  The output formats listed here are the only ones that
      unified diff.
 
 \1f
-File: diffutils.info,  Node: Revision Control,  Next: Imperfect,  Prev: patch Input,  Up: Merging with patch
+File: diffutils.info-t,  Node: Revision Control,  Next: Imperfect,  Prev: patch Input,  Up: Merging with patch
 
 10.2 Revision Control
 =====================
@@ -2519,7 +2527,7 @@ value is zero if `patch' is conforming to POSIX, negative otherwise.
 `VERSION_CONTROL' environment variable (*note Backup Names::).
 
 \1f
-File: diffutils.info,  Node: Imperfect,  Next: Creating and Removing,  Prev: Revision Control,  Up: Merging with patch
+File: diffutils.info-t,  Node: Imperfect,  Next: Creating and Removing,  Prev: Revision Control,  Up: Merging with patch
 
 10.3 Applying Imperfect Patches
 ===============================
@@ -2546,7 +2554,7 @@ intervention or testing.
 * Dry Runs::            Predicting what `patch' will do.
 
 \1f
-File: diffutils.info,  Node: Changed White Space,  Next: Reversed Patches,  Up: Imperfect
+File: diffutils.info-t,  Node: Changed White Space,  Next: Reversed Patches,  Up: Imperfect
 
 10.3.1 Applying Patches with Changed White Space
 ------------------------------------------------
@@ -2562,7 +2570,7 @@ the input files.  Non-blank characters must still match exactly.  Each
 line of the context must still match a line in the input file.
 
 \1f
-File: diffutils.info,  Node: Reversed Patches,  Next: Inexact,  Prev: Changed White Space,  Up: Imperfect
+File: diffutils.info-t,  Node: Reversed Patches,  Next: Inexact,  Prev: Changed White Space,  Up: Imperfect
 
 10.3.2 Applying Reversed Patches
 --------------------------------
@@ -2592,7 +2600,7 @@ subsequent "apply anyway" question--or type `C-c' to kill the `patch'
 process.
 
 \1f
-File: diffutils.info,  Node: Inexact,  Next: Dry Runs,  Prev: Reversed Patches,  Up: Imperfect
+File: diffutils.info-t,  Node: Inexact,  Next: Dry Runs,  Prev: Reversed Patches,  Up: Imperfect
 
 10.3.3 Helping `patch' Find Inexact Matches
 -------------------------------------------
@@ -2659,7 +2667,7 @@ is applied to an exact copy of the file that the patch was generated
 from.
 
 \1f
-File: diffutils.info,  Node: Dry Runs,  Prev: Inexact,  Up: Imperfect
+File: diffutils.info-t,  Node: Dry Runs,  Prev: Inexact,  Up: Imperfect
 
 10.3.4 Predicting what `patch' will do
 --------------------------------------
@@ -2677,7 +2685,7 @@ patch you can apply it by invoking `patch' as before, but this time
 without the `--dry-run' option.
 
 \1f
-File: diffutils.info,  Node: Creating and Removing,  Next: Patching Time Stamps,  Prev: Imperfect,  Up: Merging with patch
+File: diffutils.info-t,  Node: Creating and Removing,  Next: Patching Time Stamps,  Prev: Imperfect,  Up: Merging with patch
 
 10.4 Creating and Removing Files
 ================================
@@ -2698,7 +2706,7 @@ does not appear to be one that removed the file.
 asks for confirmation before applying the patch.
 
 \1f
-File: diffutils.info,  Node: Patching Time Stamps,  Next: Multiple Patches,  Prev: Creating and Removing,  Up: Merging with patch
+File: diffutils.info-t,  Node: Patching Time Stamps,  Next: Multiple Patches,  Prev: Creating and Removing,  Up: Merging with patch
 
 10.5 Updating Time Stamps on Patched Files
 ==========================================
@@ -2740,7 +2748,7 @@ on the patched files, so that later invocations of `make' do not get
 confused by the patched files' times.
 
 \1f
-File: diffutils.info,  Node: Multiple Patches,  Next: patch Directories,  Prev: Patching Time Stamps,  Up: Merging with patch
+File: diffutils.info-t,  Node: Multiple Patches,  Next: patch Directories,  Prev: Patching Time Stamps,  Up: Merging with patch
 
 10.6 Multiple Patches in a File
 ===============================
@@ -2798,7 +2806,7 @@ first remaining name.
 POSIX.
 
 \1f
-File: diffutils.info,  Node: patch Directories,  Next: Backups,  Prev: Multiple Patches,  Up: Merging with patch
+File: diffutils.info-t,  Node: patch Directories,  Next: Backups,  Prev: Multiple Patches,  Up: Merging with patch
 
 10.7 Applying Patches in Other Directories
 ==========================================
@@ -2832,7 +2840,7 @@ in the current directory, or if you used the `-d DIRECTORY' option, in
 that directory.
 
 \1f
-File: diffutils.info,  Node: Backups,  Next: Backup Names,  Prev: patch Directories,  Up: Merging with patch
+File: diffutils.info-t,  Node: Backups,  Next: Backup Names,  Prev: patch Directories,  Up: Merging with patch
 
 10.8 Backup Files
 =================
@@ -2856,7 +2864,7 @@ backup file is created as a placeholder to represent the nonexistent
 file.
 
 \1f
-File: diffutils.info,  Node: Backup Names,  Next: Reject Names,  Prev: Backups,  Up: Merging with patch
+File: diffutils.info-t,  Node: Backup Names,  Next: Reject Names,  Prev: Backups,  Up: Merging with patch
 
 10.9 Backup File Names
 ======================
@@ -2928,7 +2936,7 @@ section have any affect, because no backups are made.
 use `~', but this should be fixed in the next release.
 
 \1f
-File: diffutils.info,  Node: Reject Names,  Next: patch Messages,  Prev: Backup Names,  Up: Merging with patch
+File: diffutils.info-t,  Node: Reject Names,  Next: patch Messages,  Prev: Backup Names,  Up: Merging with patch
 
 10.10 Reject File Names
 =======================
@@ -2944,7 +2952,7 @@ patches in a single file.  The `-r REJECT-FILE' or
 name.
 
 \1f
-File: diffutils.info,  Node: patch Messages,  Next: patch and POSIX,  Prev: Reject Names,  Up: Merging with patch
+File: diffutils.info-t,  Node: patch Messages,  Next: patch and POSIX,  Prev: Reject Names,  Up: Merging with patch
 
 10.11 Messages and Questions from `patch'
 =========================================
@@ -2968,7 +2976,7 @@ When applying a set of patches in a loop, you should check the exit
 status, so you don't apply a later patch to a partially patched file.
 
 \1f
-File: diffutils.info,  Node: More or Fewer Messages,  Next: patch and Keyboard Input,  Up: patch Messages
+File: diffutils.info-t,  Node: More or Fewer Messages,  Next: patch and Keyboard Input,  Up: patch Messages
 
 10.11.1 Controlling the Verbosity of `patch'
 --------------------------------------------
@@ -2983,7 +2991,7 @@ of patch it is.
 occurs, by using the `-s', `--quiet', or `--silent' option.
 
 \1f
-File: diffutils.info,  Node: patch and Keyboard Input,  Next: patch Quoting Style,  Prev: More or Fewer Messages,  Up: patch Messages
+File: diffutils.info-t,  Node: patch and Keyboard Input,  Next: patch Quoting Style,  Prev: More or Fewer Messages,  Up: patch Messages
 
 10.11.2 Inhibiting Keyboard Input
 ---------------------------------
@@ -3012,7 +3020,7 @@ questions, but it makes somewhat different assumptions:
    * Assume that patches are reversed if they look like they are.
 
 \1f
-File: diffutils.info,  Node: patch Quoting Style,  Prev: patch and Keyboard Input,  Up: patch Messages
+File: diffutils.info-t,  Node: patch Quoting Style,  Prev: patch and Keyboard Input,  Up: patch Messages
 
 10.11.3 `patch' Quoting Style
 -----------------------------
@@ -3047,7 +3055,7 @@ variable is not set, the default value is `shell', but this default may
 change in a future version of `patch'.
 
 \1f
-File: diffutils.info,  Node: patch and POSIX,  Next: patch and Tradition,  Prev: patch Messages,  Up: Merging with patch
+File: diffutils.info-t,  Node: patch and POSIX,  Next: patch and Tradition,  Prev: patch Messages,  Up: Merging with patch
 
 10.12 `patch' and the POSIX Standard
 ====================================
@@ -3072,7 +3080,7 @@ standard, as follows:
 
 
 \1f
-File: diffutils.info,  Node: patch and Tradition,  Prev: patch and POSIX,  Up: Merging with patch
+File: diffutils.info-t,  Node: patch and Tradition,  Prev: patch and POSIX,  Up: Merging with patch
 
 10.13 GNU `patch' and Traditional `patch'
 =========================================
@@ -3151,7 +3159,7 @@ version 2.1 and earlier.
 
 
 \1f
-File: diffutils.info,  Node: Making Patches,  Next: Invoking cmp,  Prev: Merging with patch,  Up: Top
+File: diffutils.info-t,  Node: Making Patches,  Next: Invoking cmp,  Prev: Merging with patch,  Up: Top
 
 11 Tips for Making and Using Patches
 ************************************
@@ -3172,7 +3180,7 @@ to distribute patches for updating a software package.
 * Generating Smaller Patches::  How to generate smaller patches.
 
 \1f
-File: diffutils.info,  Node: Tips for Patch Producers,  Next: Tips for Patch Consumers,  Up: Making Patches
+File: diffutils.info-t,  Node: Tips for Patch Producers,  Next: Tips for Patch Consumers,  Up: Making Patches
 
 11.1 Tips for Patch Producers
 =============================
@@ -3201,7 +3209,7 @@ recipient and applying your patches to a copy of the original files.
 when generating a patch.
 
 \1f
-File: diffutils.info,  Node: Tips for Patch Consumers,  Next: Avoiding Common Mistakes,  Prev: Tips for Patch Producers,  Up: Making Patches
+File: diffutils.info-t,  Node: Tips for Patch Consumers,  Next: Avoiding Common Mistakes,  Prev: Tips for Patch Producers,  Up: Making Patches
 
 11.2 Tips for Patch Consumers
 =============================
@@ -3216,7 +3224,7 @@ cannot patch such files.  If you are having trouble applying such
 patches, try upgrading to a recent version of GNU `patch'.
 
 \1f
-File: diffutils.info,  Node: Avoiding Common Mistakes,  Next: Generating Smaller Patches,  Prev: Tips for Patch Consumers,  Up: Making Patches
+File: diffutils.info-t,  Node: Avoiding Common Mistakes,  Next: Generating Smaller Patches,  Prev: Tips for Patch Consumers,  Up: Making Patches
 
 11.3 Avoiding Common Mistakes
 =============================
@@ -3268,7 +3276,7 @@ proceeding.  This makes it difficult to accidentally apply patches in
 the wrong order.
 
 \1f
-File: diffutils.info,  Node: Generating Smaller Patches,  Prev: Avoiding Common Mistakes,  Up: Making Patches
+File: diffutils.info-t,  Node: Generating Smaller Patches,  Prev: Avoiding Common Mistakes,  Up: Making Patches
 
 11.4 Generating Smaller Patches
 ===============================
@@ -3303,7 +3311,7 @@ but bear in mind that `patch' typically needs at least two lines for
 proper operation when patches do not exactly match the input files.
 
 \1f
-File: diffutils.info,  Node: Invoking cmp,  Next: Invoking diff,  Prev: Making Patches,  Up: Top
+File: diffutils.info-t,  Node: Invoking cmp,  Next: Invoking diff,  Prev: Making Patches,  Up: Top
 
 12 Invoking `cmp'
 *****************
@@ -3343,7 +3351,7 @@ differences were found, and 2 means trouble.
 * cmp Options:: Summary of options to `cmp'.
 
 \1f
-File: diffutils.info,  Node: cmp Options,  Up: Invoking cmp
+File: diffutils.info-t,  Node: cmp Options,  Up: Invoking cmp
 
 12.1 Options to `cmp'
 =====================
@@ -3375,8 +3383,11 @@ can be combined into a single command line word: `-bl' is equivalent to
 `-l'
 `--verbose'
      Output the (decimal) byte numbers and (octal) values of all
-     differing bytes, instead of the default standard output.  Also,
-     output the EOF message if one file is shorter than the other.
+     differing bytes, instead of the default standard output.  Each
+     output line contains a differing byte's number relative to the
+     start of the input, followed by the differing byte values.  Byte
+     numbers start at 1.  Also, output the EOF message if one file is
+     shorter than the other.
 
 `-n COUNT'
 `--bytes=COUNT'
@@ -3471,7 +3482,7 @@ rejected by your computer due to limitations of its arithmetic.
      extension to IEC 60027-2.)
 
 \1f
-File: diffutils.info,  Node: Invoking diff,  Next: Invoking diff3,  Prev: Invoking cmp,  Up: Top
+File: diffutils.info-t,  Node: Invoking diff,  Next: Invoking diff3,  Prev: Invoking cmp,  Up: Top
 
 13 Invoking `diff'
 ******************
@@ -3516,7 +3527,7 @@ binary files count as trouble, but this can be altered by using the
 * diff Options:: Summary of options to `diff'.
 
 \1f
-File: diffutils.info,  Node: diff Options,  Up: Invoking diff
+File: diffutils.info-t,  Node: diff Options,  Up: Invoking diff
 
 13.1 Options to `diff'
 ======================
@@ -3647,8 +3658,7 @@ optional argument.
 
 `-N'
 `--new-file'
-     In directory comparison, if a file is found in only one directory,
-     treat it as present but empty in the other directory.  *Note
+     If one file is missing, treat it as present but empty.  *Note
      Comparing Directories::.
 
 `--new-group-format=FORMAT'
@@ -3659,6 +3669,9 @@ optional argument.
      Use FORMAT to output a line taken from just the second file in
      if-then-else format.  *Note Line Formats::.
 
+`--no-dereference'
+     Act on symbolic links themselves instead of what they point to.
+
 `--old-group-format=FORMAT'
      Use FORMAT to output a group of lines taken from just the first
      file in if-then-else format.  *Note Line Group Formats::.
@@ -3740,9 +3753,8 @@ optional argument.
      format.  *Note Line Formats::.
 
 `--unidirectional-new-file'
-     When comparing directories, if a file appears only in the second
-     directory of the two, treat it as present but empty in the other.
-     *Note Comparing Directories::.
+     If a first file is missing, treat it as present but empty.  *Note
+     Comparing Directories::.
 
 `-U LINES'
 `--unified[=LINES]'
@@ -3789,7 +3801,7 @@ optional argument.
      Ignore white space at line end.  *Note White Space::.
 
 \1f
-File: diffutils.info,  Node: Invoking diff3,  Next: Invoking patch,  Prev: Invoking diff,  Up: Top
+File: diffutils.info-t,  Node: Invoking diff3,  Next: Invoking patch,  Prev: Invoking diff,  Up: Top
 
 14 Invoking `diff3'
 *******************
@@ -3811,7 +3823,7 @@ conflicts were found, and 2 means trouble.
 * diff3 Options:: Summary of options to `diff3'.
 
 \1f
-File: diffutils.info,  Node: diff3 Options,  Up: Invoking diff3
+File: diffutils.info-t,  Node: diff3 Options,  Up: Invoking diff3
 
 14.1 Options to `diff3'
 =======================
@@ -3908,7 +3920,7 @@ combined into a single command line argument.
      Which Changes::.
 
 \1f
-File: diffutils.info,  Node: Invoking patch,  Next: Invoking sdiff,  Prev: Invoking diff3,  Up: Top
+File: diffutils.info-t,  Node: Invoking patch,  Next: Invoking sdiff,  Prev: Invoking diff3,  Up: Top
 
 15 Invoking `patch'
 *******************
@@ -3943,7 +3955,7 @@ if FILE is one of the input files.
 * patch Options::     Summary table of options to `patch'.
 
 \1f
-File: diffutils.info,  Node: patch Options,  Up: Invoking patch
+File: diffutils.info-t,  Node: patch Options,  Up: Invoking patch
 
 15.1 Options to `patch'
 =======================
@@ -4126,7 +4138,7 @@ combined into a single command line argument with only one dash.
 
 
 \1f
-File: diffutils.info,  Node: Invoking sdiff,  Next: Standards conformance,  Prev: Invoking patch,  Up: Top
+File: diffutils.info-t,  Node: Invoking sdiff,  Next: Standards conformance,  Prev: Invoking patch,  Up: Top
 
 16 Invoking `sdiff'
 *******************
@@ -4158,7 +4170,7 @@ differences were found, and 2 means trouble.
 * sdiff Options:: Summary of options to `diff'.
 
 \1f
-File: diffutils.info,  Node: sdiff Options,  Up: Invoking sdiff
+File: diffutils.info-t,  Node: sdiff Options,  Up: Invoking sdiff
 
 16.1 Options to `sdiff'
 =======================
@@ -4262,7 +4274,7 @@ options can be abbreviated to any unique prefix of their name.
      Ignore white space at line end.  *Note White Space::.
 
 \1f
-File: diffutils.info,  Node: Standards conformance,  Next: Projects,  Prev: Invoking sdiff,  Up: Top
+File: diffutils.info-t,  Node: Standards conformance,  Next: Projects,  Prev: Invoking sdiff,  Up: Top
 
 17 Standards conformance
 ************************
@@ -4297,7 +4309,7 @@ around the compatibility problems by setting `_POSIX2_VERSION=199209'
 in your environment.
 
 \1f
-File: diffutils.info,  Node: Projects,  Next: Copying This Manual,  Prev: Standards conformance,  Up: Top
+File: diffutils.info-t,  Node: Projects,  Next: Copying This Manual,  Prev: Standards conformance,  Up: Top
 
 18 Future Projects
 ******************
@@ -4318,7 +4330,7 @@ to coordinate with other volunteers.
 * Bugs::         Reporting bugs.
 
 \1f
-File: diffutils.info,  Node: Shortcomings,  Next: Bugs,  Up: Projects
+File: diffutils.info-t,  Node: Shortcomings,  Next: Bugs,  Up: Projects
 
 18.1 Suggested Projects for Improving GNU `diff' and `patch'
 ============================================================
@@ -4341,7 +4353,7 @@ These shortcomings motivate the following suggested projects.
 * Speedups::             Improving performance.
 
 \1f
-File: diffutils.info,  Node: Internationalization,  Next: Changing Structure,  Up: Shortcomings
+File: diffutils.info-t,  Node: Internationalization,  Next: Changing Structure,  Up: Shortcomings
 
 18.1.1 Handling Multibyte and Varying-Width Characters
 ------------------------------------------------------
@@ -4366,7 +4378,7 @@ Unfortunately, these patches are incomplete and are to an older version
 of `diff', so more work needs to be done in this area.
 
 \1f
-File: diffutils.info,  Node: Changing Structure,  Next: Special Files,  Prev: Internationalization,  Up: Shortcomings
+File: diffutils.info-t,  Node: Changing Structure,  Next: Special Files,  Prev: Internationalization,  Up: Shortcomings
 
 18.1.2 Handling Changes to the Directory Structure
 --------------------------------------------------
@@ -4389,7 +4401,7 @@ represent changes in directory structure, and extending `patch' to
 understand these extensions.
 
 \1f
-File: diffutils.info,  Node: Special Files,  Next: Unusual File Names,  Prev: Changing Structure,  Up: Shortcomings
+File: diffutils.info-t,  Node: Special Files,  Next: Unusual File Names,  Prev: Changing Structure,  Up: Shortcomings
 
 18.1.3 Files that are Neither Directories Nor Regular Files
 -----------------------------------------------------------
@@ -4410,7 +4422,7 @@ files, instead of the change to the symbolic link.
 and `patch' should be extended to understand these extensions.
 
 \1f
-File: diffutils.info,  Node: Unusual File Names,  Next: Time Stamp Order,  Prev: Special Files,  Up: Shortcomings
+File: diffutils.info-t,  Node: Unusual File Names,  Next: Time Stamp Order,  Prev: Special Files,  Up: Shortcomings
 
 18.1.4 File Names that Contain Unusual Characters
 -------------------------------------------------
@@ -4423,7 +4435,7 @@ that is syntactically correct but patches the wrong files.  The format
 of `diff' output should be extended to handle all possible file names.
 
 \1f
-File: diffutils.info,  Node: Time Stamp Order,  Next: Ignoring Changes,  Prev: Unusual File Names,  Up: Shortcomings
+File: diffutils.info-t,  Node: Time Stamp Order,  Next: Ignoring Changes,  Prev: Unusual File Names,  Up: Shortcomings
 
 18.1.5 Outputting Diffs in Time Stamp Order
 -------------------------------------------
@@ -4437,7 +4449,7 @@ way to do this would be to implement a `diff' option to output diffs in
 time stamp order.
 
 \1f
-File: diffutils.info,  Node: Ignoring Changes,  Next: Speedups,  Prev: Time Stamp Order,  Up: Shortcomings
+File: diffutils.info-t,  Node: Ignoring Changes,  Next: Speedups,  Prev: Time Stamp Order,  Up: Shortcomings
 
 18.1.6 Ignoring Certain Changes
 -------------------------------
@@ -4459,7 +4471,7 @@ e.g.:
    However, this outputs the filtered text, not the original.
 
 \1f
-File: diffutils.info,  Node: Speedups,  Prev: Ignoring Changes,  Up: Shortcomings
+File: diffutils.info-t,  Node: Speedups,  Prev: Ignoring Changes,  Up: Shortcomings
 
 18.1.7 Improving Performance
 ----------------------------
@@ -4471,7 +4483,7 @@ originally copied from the other with time stamps preserved (e.g., with
 the same content.  *Note diff Performance::.
 
 \1f
-File: diffutils.info,  Node: Bugs,  Prev: Shortcomings,  Up: Projects
+File: diffutils.info-t,  Node: Bugs,  Prev: Shortcomings,  Up: Projects
 
 18.2 Reporting Bugs
 ===================
@@ -4490,7 +4502,7 @@ patch is relative to a recent test release, which you can find in the
 directory `ftp://alpha.gnu.org/gnu/diffutils/'.
 
 \1f
-File: diffutils.info,  Node: Copying This Manual,  Next: Translations,  Prev: Projects,  Up: Top
+File: diffutils.info-t,  Node: Copying This Manual,  Next: Translations,  Prev: Projects,  Up: Top
 
 Appendix A Copying This Manual
 ******************************
@@ -4976,7 +4988,7 @@ free software license, such as the GNU General Public License, to
 permit their use in free software.
 
 \1f
-File: diffutils.info,  Node: Translations,  Next: Index,  Prev: Copying This Manual,  Up: Top
+File: diffutils.info-t,  Node: Translations,  Next: Index,  Prev: Copying This Manual,  Up: Top
 
 Appendix B Translations of This Manual
 **************************************
@@ -4986,7 +4998,7 @@ translation of this manual.  Its most recent version can be found at
 `http://openlab.ring.gr.jp/gnujdoc/cvsweb/cvsweb.cgi/gnujdoc/'.
 
 \1f
-File: diffutils.info,  Node: Index,  Prev: Translations,  Up: Top
+File: diffutils.info-t,  Node: Index,  Prev: Translations,  Up: Top
 
 Appendix C Index
 ****************
@@ -5041,8 +5053,8 @@ Appendix C Index
 * EDITOR:                                Merge Commands.      (line  50)
 * empty files, removing:                 Creating and Removing.
                                                               (line   6)
-* exabyte, definition of:                cmp Options.         (line 106)
-* exbibyte, definition of:               cmp Options.         (line 110)
+* exabyte, definition of:                cmp Options.         (line 109)
+* exbibyte, definition of:               cmp Options.         (line 113)
 * file name alternates:                  Alternate Names.     (line   6)
 * file names with unusual characters:    Unusual File Names.  (line   6)
 * format of diff output:                 Output Formats.      (line   6)
@@ -5053,8 +5065,8 @@ Appendix C Index
 * full lines:                            Incomplete Lines.    (line   6)
 * function headings, C:                  C Function Headings. (line   6)
 * fuzz factor when patching:             Inexact.             (line   6)
-* gibibyte, definition of:               cmp Options.         (line  89)
-* gigabyte, definition of:               cmp Options.         (line  85)
+* gibibyte, definition of:               cmp Options.         (line  92)
+* gigabyte, definition of:               cmp Options.         (line  88)
 * headings:                              Sections.            (line   6)
 * hunks:                                 Hunks.               (line   6)
 * hunks for diff3:                       diff3 Hunks.         (line   6)
@@ -5077,16 +5089,16 @@ Appendix C Index
 * invoking sdiff:                        Invoking sdiff.      (line   6)
 * keyboard input to patch:               patch and Keyboard Input.
                                                               (line   6)
-* kibibyte, definition of:               cmp Options.         (line  73)
-* kilobyte, definition of:               cmp Options.         (line  68)
+* kibibyte, definition of:               cmp Options.         (line  76)
+* kilobyte, definition of:               cmp Options.         (line  71)
 * LC_COLLATE:                            Comparing Directories.
                                                               (line   6)
 * LC_NUMERIC:                            Line Group Formats.  (line 144)
 * LC_TIME:                               Detailed Context.    (line  12)
 * line formats:                          Line Formats.        (line   6)
 * line group formats:                    Line Group Formats.  (line   6)
-* mebibyte, definition of:               cmp Options.         (line  82)
-* megabyte, definition of:               cmp Options.         (line  78)
+* mebibyte, definition of:               cmp Options.         (line  85)
+* megabyte, definition of:               cmp Options.         (line  81)
 * merge commands:                        Merge Commands.      (line   6)
 * merged diff3 format:                   Bypassing ed.        (line   6)
 * merged output format:                  If-then-else.        (line   6)
@@ -5123,9 +5135,9 @@ Appendix C Index
 * patches, shrinking:                    Generating Smaller Patches.
                                                               (line   6)
 * patching directories:                  patch Directories.   (line   6)
-* pebibyte, definition of:               cmp Options.         (line 103)
+* pebibyte, definition of:               cmp Options.         (line 106)
 * performance of diff:                   diff Performance.    (line   6)
-* petabyte, definition of:               cmp Options.         (line  99)
+* petabyte, definition of:               cmp Options.         (line 102)
 * POSIX <1>:                             Standards conformance.
                                                               (line   6)
 * POSIX:                                 patch and POSIX.     (line   6)
@@ -5164,8 +5176,8 @@ Appendix C Index
                                                               (line   6)
 * tab and blank difference suppression:  White Space.         (line   6)
 * tab stop alignment:                    Tabs.                (line   6)
-* tebibyte, definition of:               cmp Options.         (line  96)
-* terabyte, definition of:               cmp Options.         (line  92)
+* tebibyte, definition of:               cmp Options.         (line  99)
+* terabyte, definition of:               cmp Options.         (line  95)
 * testing patch:                         Dry Runs.            (line   6)
 * text versus binary diff:               Binary.              (line   6)
 * time stamp format, context diffs:      Detailed Context.    (line  12)
@@ -5185,124 +5197,124 @@ Appendix C Index
 * VERSION_CONTROL <1>:                   Backup Names.        (line  21)
 * VERSION_CONTROL:                       Revision Control.    (line  22)
 * white space in patches:                Changed White Space. (line   6)
-* yottabyte, definition of:              cmp Options.         (line 121)
-* zettabyte, definition of:              cmp Options.         (line 113)
+* yottabyte, definition of:              cmp Options.         (line 124)
+* zettabyte, definition of:              cmp Options.         (line 116)
 
 
 \1f
 Tag Table:
-Node: Top\7f1433
-Node: Overview\7f3646
-Node: Comparison\7f7275
-Node: Hunks\7f9978
-Node: White Space\7f11420
-Node: Blank Lines\7f13259
-Node: Specified Lines\7f14251
-Node: Case Folding\7f15377
-Node: Brief\7f15794
-Node: Binary\7f17117
-Node: Output Formats\7f21202
-Node: Sample diff Input\7f21927
-Node: Context\7f23426
-Node: Context Format\7f25003
-Node: Example Context\7f25795
-Node: Less Context\7f27302
-Node: Detailed Context\7f28491
-Node: Unified Format\7f30689
-Node: Example Unified\7f31486
-Node: Detailed Unified\7f32524
-Node: Sections\7f34171
-Node: Specified Headings\7f34930
-Node: C Function Headings\7f36481
-Node: Alternate Names\7f37326
-Node: Side by Side\7f38240
-Node: Side by Side Format\7f40389
-Node: Example Side by Side\7f41290
-Node: Normal\7f42630
-Node: Example Normal\7f43630
-Node: Detailed Normal\7f44366
-Node: Scripts\7f46105
-Node: ed Scripts\7f46510
-Node: Example ed\7f47716
-Node: Detailed ed\7f48166
-Node: Forward ed\7f49925
-Node: RCS\7f50701
-Node: If-then-else\7f51916
-Node: Line Group Formats\7f53594
-Node: Line Formats\7f59470
-Node: Example If-then-else\7f62740
-Node: Detailed If-then-else\7f63819
-Node: Incomplete Lines\7f65702
-Node: Comparing Directories\7f67339
-Node: Adjusting Output\7f71383
-Node: Tabs\7f71890
-Node: Trailing Blanks\7f73504
-Node: Pagination\7f74730
-Node: diff Performance\7f75198
-Node: Comparing Three Files\7f78285
-Node: Sample diff3 Input\7f79163
-Node: Example diff3 Normal\7f80111
-Node: Detailed diff3 Normal\7f81161
-Node: diff3 Hunks\7f82920
-Node: diff3 Merging\7f84216
-Node: Which Changes\7f86460
-Node: Marking Conflicts\7f87860
-Node: Bypassing ed\7f90316
-Node: Merging Incomplete Lines\7f91659
-Node: Saving the Changed File\7f92385
-Node: Interactive Merging\7f93001
-Node: sdiff Option Summary\7f93710
-Node: Merge Commands\7f94913
-Node: Merging with patch\7f96202
-Node: patch Input\7f98574
-Node: Revision Control\7f99256
-Node: Imperfect\7f100426
-Node: Changed White Space\7f101574
-Node: Reversed Patches\7f102371
-Node: Inexact\7f103835
-Node: Dry Runs\7f107393
-Node: Creating and Removing\7f108257
-Node: Patching Time Stamps\7f109306
-Node: Multiple Patches\7f111505
-Node: patch Directories\7f114168
-Node: Backups\7f115793
-Node: Backup Names\7f116858
-Ref: Backup Names-Footnote-1\7f119825
-Node: Reject Names\7f119952
-Node: patch Messages\7f120541
-Node: More or Fewer Messages\7f121601
-Node: patch and Keyboard Input\7f122232
-Node: patch Quoting Style\7f123261
-Node: patch and POSIX\7f124411
-Node: patch and Tradition\7f125251
-Node: Making Patches\7f128707
-Node: Tips for Patch Producers\7f129533
-Node: Tips for Patch Consumers\7f130789
-Node: Avoiding Common Mistakes\7f131426
-Node: Generating Smaller Patches\7f133951
-Node: Invoking cmp\7f135712
-Node: cmp Options\7f137135
-Node: Invoking diff\7f140627
-Node: diff Options\7f142483
-Node: Invoking diff3\7f151185
-Node: diff3 Options\7f151823
-Node: Invoking patch\7f154856
-Node: patch Options\7f156064
-Node: Invoking sdiff\7f161291
-Node: sdiff Options\7f162434
-Node: Standards conformance\7f165405
-Node: Projects\7f167151
-Node: Shortcomings\7f167862
-Node: Internationalization\7f168964
-Node: Changing Structure\7f170130
-Node: Special Files\7f171234
-Node: Unusual File Names\7f172346
-Node: Time Stamp Order\7f172985
-Node: Ignoring Changes\7f173628
-Node: Speedups\7f174398
-Node: Bugs\7f174862
-Node: Copying This Manual\7f175715
-Node: Translations\7f200854
-Node: Index\7f201226
+Node: Top\7f1434
+Node: Overview\7f3648
+Node: Comparison\7f7279
+Node: Hunks\7f9984
+Node: White Space\7f11428
+Node: Blank Lines\7f13269
+Node: Specified Lines\7f14263
+Node: Case Folding\7f15391
+Node: Brief\7f15810
+Node: Binary\7f17135
+Node: Output Formats\7f21222
+Node: Sample diff Input\7f21949
+Node: Context\7f23450
+Node: Context Format\7f25029
+Node: Example Context\7f25823
+Node: Less Context\7f27332
+Node: Detailed Context\7f28523
+Node: Unified Format\7f30723
+Node: Example Unified\7f31522
+Node: Detailed Unified\7f32562
+Node: Sections\7f34207
+Node: Specified Headings\7f34968
+Node: C Function Headings\7f36521
+Node: Alternate Names\7f37368
+Node: Side by Side\7f38284
+Node: Side by Side Format\7f40436
+Node: Example Side by Side\7f41339
+Node: Normal\7f42681
+Node: Example Normal\7f43683
+Node: Detailed Normal\7f44421
+Node: Scripts\7f46162
+Node: ed Scripts\7f46569
+Node: Example ed\7f47777
+Node: Detailed ed\7f48229
+Node: Forward ed\7f49990
+Node: RCS\7f50768
+Node: If-then-else\7f51985
+Node: Line Group Formats\7f53665
+Node: Line Formats\7f59543
+Node: Example If-then-else\7f62815
+Node: Detailed If-then-else\7f63896
+Node: Incomplete Lines\7f65782
+Node: Comparing Directories\7f67422
+Node: Adjusting Output\7f71856
+Node: Tabs\7f72365
+Node: Trailing Blanks\7f73981
+Node: Pagination\7f75209
+Node: diff Performance\7f75679
+Node: Comparing Three Files\7f78768
+Node: Sample diff3 Input\7f79648
+Node: Example diff3 Normal\7f80598
+Node: Detailed diff3 Normal\7f81660
+Node: diff3 Hunks\7f83450
+Node: diff3 Merging\7f84719
+Node: Which Changes\7f86965
+Node: Marking Conflicts\7f88367
+Node: Bypassing ed\7f90825
+Node: Merging Incomplete Lines\7f92170
+Node: Saving the Changed File\7f92898
+Node: Interactive Merging\7f93516
+Node: sdiff Option Summary\7f94227
+Node: Merge Commands\7f95432
+Node: Merging with patch\7f96723
+Node: patch Input\7f99097
+Node: Revision Control\7f99781
+Node: Imperfect\7f100953
+Node: Changed White Space\7f102103
+Node: Reversed Patches\7f102902
+Node: Inexact\7f104368
+Node: Dry Runs\7f107928
+Node: Creating and Removing\7f108794
+Node: Patching Time Stamps\7f109845
+Node: Multiple Patches\7f112046
+Node: patch Directories\7f114711
+Node: Backups\7f116338
+Node: Backup Names\7f117405
+Ref: Backup Names-Footnote-1\7f120374
+Node: Reject Names\7f120501
+Node: patch Messages\7f121092
+Node: More or Fewer Messages\7f122154
+Node: patch and Keyboard Input\7f122787
+Node: patch Quoting Style\7f123818
+Node: patch and POSIX\7f124970
+Node: patch and Tradition\7f125812
+Node: Making Patches\7f129270
+Node: Tips for Patch Producers\7f130098
+Node: Tips for Patch Consumers\7f131356
+Node: Avoiding Common Mistakes\7f131995
+Node: Generating Smaller Patches\7f134522
+Node: Invoking cmp\7f136285
+Node: cmp Options\7f137710
+Node: Invoking diff\7f141373
+Node: diff Options\7f143231
+Node: Invoking diff3\7f151877
+Node: diff3 Options\7f152517
+Node: Invoking patch\7f155552
+Node: patch Options\7f156762
+Node: Invoking sdiff\7f161991
+Node: sdiff Options\7f163136
+Node: Standards conformance\7f166109
+Node: Projects\7f167857
+Node: Shortcomings\7f168570
+Node: Internationalization\7f169674
+Node: Changing Structure\7f170842
+Node: Special Files\7f171948
+Node: Unusual File Names\7f173062
+Node: Time Stamp Order\7f173703
+Node: Ignoring Changes\7f174348
+Node: Speedups\7f175120
+Node: Bugs\7f175586
+Node: Copying This Manual\7f176441
+Node: Translations\7f201582
+Node: Index\7f201956
 \1f
 End Tag Table
index 222e9b7..2d238dc 100644 (file)
@@ -14,7 +14,7 @@ and documents the @acronym{GNU} @command{diff}, @command{diff3},
 differences between files and the @acronym{GNU} @command{patch} command for
 using their output to update files.
 
-Copyright @copyright{} 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2011 Free
+Copyright @copyright{} 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2013 Free
 Software Foundation, Inc.
 
 @quotation
@@ -821,7 +821,7 @@ The fractional seconds are omitted on hosts that do not support
 fractional time stamps.
 
 You can change the header's content with the
-@option{--label=@var{label}} option; see @xref{Alternate Names}.
+@option{--label=@var{label}} option. @xref{Alternate Names}.
 
 Next come one or more hunks of differences; each hunk shows one area
 where the files differ.  Unified format hunks look like this:
@@ -993,7 +993,7 @@ The corresponding lines differ, and only the second line is incomplete.
 @end table
 
 Normally, an output line is incomplete if and only if the lines that it
-contains are incomplete; @xref{Incomplete Lines}.  However, when an
+contains are incomplete @xref{Incomplete Lines}.  However, when an
 output line represents two differing lines, one might be incomplete
 while the other is not.  In this case, the output line is complete,
 but its the gutter is marked @samp{\} if the first line is incomplete,
@@ -1708,7 +1708,7 @@ might contain duplicate or otherwise incorrect code.
 
 The @command{patch} @option{-D @var{name}} option behaves like
 the @command{diff} @option{-D @var{name}} option, except it operates on
-a file and a diff to produce a merged file; @xref{patch Options}.
+a file and a diff to produce a merged file @xref{patch Options}.
 
 @node Incomplete Lines
 @chapter Incomplete Lines
@@ -1727,10 +1727,10 @@ line by a following line that starts with @samp{\}.  However, the
 @acronym{RCS} format (@pxref{RCS}) outputs the incomplete line as-is,
 without any trailing newline or following line.  The side by side
 format normally represents incomplete lines as-is, but in some cases
-uses a @samp{\} or @samp{/} gutter marker; @xref{Side by Side}.  The
+uses a @samp{\} or @samp{/} gutter marker @xref{Side by Side}.  The
 if-then-else line format preserves a line's incompleteness with
-@samp{%L}, and discards the newline with @samp{%l}; @xref{Line
-Formats}.  Finally, with the @command{ed} and forward @command{ed}
+@samp{%L}, and discards the newline with @samp{%l}.  @xref{Line Formats}.
+Finally, with the @command{ed} and forward @command{ed}
 output formats (@pxref{Output Formats}) @command{diff} cannot
 represent an incomplete line, so it pretends there was a newline and
 reports an error.
@@ -1784,20 +1784,23 @@ subdirectories' files, but if you use the @option{-r} or
 @option{--recursive} option, it compares every corresponding pair of files
 in the directory trees, as many levels deep as they go.
 
-For file names that are in only one of the directories, @command{diff}
-normally does not show the contents of the file that exists; it reports
-only that the file exists in that directory and not in the other.  You
-can make @command{diff} act as though the file existed but was empty in the
-other directory, so that it outputs the entire contents of the file that
+If only one file exists, @command{diff} normally does not show its
+contents; it merely reports that one file exists but the other does
+not.  You can make @command{diff} act as though the missing file is
+empty, so that it outputs the entire contents of the file that
 actually exists.  (It is output as either an insertion or a
-deletion, depending on whether it is in the first or the second
-directory given.)  To do this, use the @option{--new-file} (@option{-N})
-option.
-
-If the older directory contains one or more large files that are not in
+deletion, depending on whether the missing file is in the first or the
+second position.)  To do this, use the @option{--new-file}
+(@option{-N}) option.  This option affects command-line arguments as
+well as files found via directory traversal; for example, @samp{diff
+-N a b} treats @file{a} as empty if @file{a} does not exist but
+@file{b} does, and similarly @samp{diff -N - b} treats standard input
+as empty if it is closed but @file{b} exists.
+
+If the older directory contains large files that are not in
 the newer directory, you can make the patch smaller by using the
 @option{--unidirectional-new-file} option instead of @option{-N}.
-This option is like @option{-N} except that it only inserts the contents
+This option is like @option{-N} except that it inserts the contents only
 of files that appear in the second directory but not the first (that is,
 files that were added).  At the top of the patch, write instructions for
 the user applying the patch to remove the files that were deleted before
@@ -1846,6 +1849,13 @@ is specified while the @option{--ignore-file-name-case} option is in
 effect, case is ignored when excluding file names matching the
 specified patterns.
 
+To avoid that @command{diff} follows symbolic links, use the
+@c later: @option{--no-dereference} (@option{-P}).
+@option{--no-dereference}.
+When this option is in use,
+symbolic links will be treated like a special kind of files, rather than
+comparing the target of each symbolic link.
+
 @node Adjusting Output
 @chapter Making @command{diff} Output Prettier
 
@@ -2004,8 +2014,8 @@ their location in the input files.
 @menu
 * Sample diff3 Input::    Sample @command{diff3} input for examples.
 * Example diff3 Normal::  Sample output in the normal format.
-* diff3 Hunks::           The format of normal output format.
 * Detailed diff3 Normal:: A detailed description of normal output format.
+* diff3 Hunks::           The format of normal output format.
 @end menu
 
 @node Sample diff3 Input
@@ -3183,7 +3193,7 @@ characters.
 @c locale.
 @c @item locale
 @c @c Use @t instead of @samp to avoid duplicate quoting in some output styles.
-@c Like @samp{clocale}, but quote @t{`like this'} instead of @t{"like
+@c Like @samp{clocale}, but quote @t{'like this'} instead of @t{"like
 @c this"} in the default C locale.  This looks nicer on many displays.
 @end table
 
@@ -3553,6 +3563,9 @@ second.
 @itemx --verbose
 Output the (decimal) byte numbers and (octal) values of all differing bytes,
 instead of the default standard output.
+Each output line contains a differing byte's number relative to the
+start of the input, followed by the differing byte values.
+Byte numbers start at 1.
 Also, output the @acronym{EOF} message if one file is shorter than the other.
 
 @item -n @var{count}
@@ -3836,9 +3849,8 @@ specifies the number of lines affected.  @xref{RCS}.
 
 @item -N
 @itemx --new-file
-In directory comparison, if a file is found in only one directory,
-treat it as present but empty in the other directory.  @xref{Comparing
-Directories}.
+If one file is missing, treat it as present but empty.
+@xref{Comparing Directories}.
 
 @item --new-group-format=@var{format}
 Use @var{format} to output a group of lines taken from just the second
@@ -3848,6 +3860,9 @@ file in if-then-else format.  @xref{Line Group Formats}.
 Use @var{format} to output a line taken from just the second file in
 if-then-else format.  @xref{Line Formats}.
 
+@item --no-dereference
+Act on symbolic links themselves instead of what they point to.
+
 @item --old-group-format=@var{format}
 Use @var{format} to output a group of lines taken from just the first
 file in if-then-else format.  @xref{Line Group Formats}.
@@ -3927,8 +3942,7 @@ Use @var{format} to output a line common to both files in if-then-else
 format.  @xref{Line Formats}.
 
 @item --unidirectional-new-file
-When comparing directories, if a file appears only in the second
-directory of the two, treat it as present but empty in the other.
+If a first file is missing, treat it as present but empty.
 @xref{Comparing Directories}.
 
 @item -U @var{lines}
index fc19ddd..cb71f05 100644 (file)
@@ -481,7 +481,7 @@ license notices just after the title page:
 @end smallexample
 
 If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the ``with@dots{}Texts.'' line with this:
+replace the ``with@dots{}Texts.''@: line with this:
 
 @smallexample
 @group
@@ -503,4 +503,3 @@ to permit their use in free software.
 @c Local Variables:
 @c ispell-local-pdict: "ispell-dict"
 @c End:
-
index 3946f05..c18f5a1 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 15 August 2011
-@set UPDATED-MONTH August 2011
-@set EDITION 3.2
-@set VERSION 3.2
+@set UPDATED 23 March 2013
+@set UPDATED-MONTH March 2013
+@set EDITION 3.3
+@set VERSION 3.3
index 3946f05..c18f5a1 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 15 August 2011
-@set UPDATED-MONTH August 2011
-@set EDITION 3.2
-@set VERSION 3.2
+@set UPDATED 23 March 2013
+@set UPDATED-MONTH March 2013
+@set EDITION 3.3
+@set VERSION 3.3
index 97313b0..c81941a 100755 (executable)
--- a/exgettext
+++ b/exgettext
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Wrapper around gettext for programs using the msgid convention.
 
-# Copyright (C) 1998, 2001, 2004, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 1998, 2001, 2004, 2009-2013 Free Software Foundation, Inc.
 
 # Written by Paul Eggert <eggert@twinsun.com>.
 
index 86d9599..0407f3e 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11a from Makefile.am.
+# Makefile.in generated by automake 1.13a from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 @SET_MAKE@
 
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file.  If not, see <http://www.gnu.org/licenses/>.
 #
-# This file is free software, distributed under the terms of the GNU
-# General Public License.  As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -45,126 +73,145 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/gnulib.mk
-TESTS = test-alloca-opt$(EXEEXT) test-argmatch$(EXEEXT) \
-       test-binary-io.sh test-bitrotate$(EXEEXT) test-btowc1.sh \
-       test-btowc2.sh test-c-ctype$(EXEEXT) test-c-stack.sh \
-       test-c-stack2.sh test-c-strcase.sh test-dirname$(EXEEXT) \
+DIST_COMMON = $(srcdir)/gnulib.mk $(srcdir)/Makefile.in \
+       $(srcdir)/Makefile.am $(top_srcdir)/build-aux/depcomp \
+       $(noinst_HEADERS) $(top_srcdir)/build-aux/test-driver
+TESTS = test-alloca-opt$(EXEEXT) test-areadlink$(EXEEXT) \
+       test-argmatch$(EXEEXT) test-binary-io.sh \
+       test-bitrotate$(EXEEXT) test-btowc1.sh test-btowc2.sh \
+       test-c-ctype$(EXEEXT) test-c-stack.sh test-c-stack2.sh \
+       test-c-strcase.sh test-close$(EXEEXT) test-dirname$(EXEEXT) \
        test-dup2$(EXEEXT) test-environ$(EXEEXT) test-errno$(EXEEXT) \
        test-exclude1.sh test-exclude2.sh test-exclude3.sh \
        test-exclude4.sh test-exclude5.sh test-exclude6.sh \
        test-exclude7.sh test-exclude8.sh test-fcntl-h$(EXEEXT) \
-       test-fcntl$(EXEEXT) test-filenamecat$(EXEEXT) \
-       test-float$(EXEEXT) test-fnmatch$(EXEEXT) \
+       test-fcntl$(EXEEXT) test-fdopen$(EXEEXT) test-fgetc$(EXEEXT) \
+       test-filenamecat$(EXEEXT) test-float$(EXEEXT) \
+       test-fnmatch$(EXEEXT) test-fputc$(EXEEXT) test-fread$(EXEEXT) \
        test-freopen-safer$(EXEEXT) test-freopen$(EXEEXT) \
+       test-fstat$(EXEEXT) test-fwrite$(EXEEXT) \
        test-getcwd-lgpl$(EXEEXT) test-getdtablesize$(EXEEXT) \
        test-getopt$(EXEEXT) test-gettimeofday$(EXEEXT) \
        test-hash$(EXEEXT) test-iconv-h$(EXEEXT) test-iconv$(EXEEXT) \
        test-ignore-value$(EXEEXT) test-intprops$(EXEEXT) \
        test-inttostr$(EXEEXT) test-inttypes$(EXEEXT) \
        test-iswblank$(EXEEXT) test-langinfo$(EXEEXT) \
-       test-locale$(EXEEXT) test-lstat$(EXEEXT) \
-       test-malloc-gnu$(EXEEXT) test-malloca$(EXEEXT) \
-       test-mbrtowc1.sh test-mbrtowc2.sh test-mbrtowc3.sh \
-       test-mbrtowc4.sh test-mbrtowc-w32-1.sh test-mbrtowc-w32-2.sh \
-       test-mbrtowc-w32-3.sh test-mbrtowc-w32-4.sh \
-       test-mbrtowc-w32-5.sh test-mbscasecmp.sh test-mbsinit.sh \
-       test-mbsrtowcs1.sh test-mbsrtowcs2.sh test-mbsrtowcs3.sh \
-       test-mbsrtowcs4.sh test-mbsstr1$(EXEEXT) test-mbsstr2.sh \
-       test-mbsstr3.sh test-memchr$(EXEEXT) test-nl_langinfo.sh \
-       test-open$(EXEEXT) test-quotearg-simple$(EXEEXT) \
+       test-locale$(EXEEXT) test-localeconv$(EXEEXT) \
+       test-lstat$(EXEEXT) test-malloc-gnu$(EXEEXT) \
+       test-malloca$(EXEEXT) test-mbrtowc1.sh test-mbrtowc2.sh \
+       test-mbrtowc3.sh test-mbrtowc4.sh test-mbrtowc-w32-1.sh \
+       test-mbrtowc-w32-2.sh test-mbrtowc-w32-3.sh \
+       test-mbrtowc-w32-4.sh test-mbrtowc-w32-5.sh test-mbscasecmp.sh \
+       test-mbsinit.sh test-mbsrtowcs1.sh test-mbsrtowcs2.sh \
+       test-mbsrtowcs3.sh test-mbsrtowcs4.sh test-mbsstr1$(EXEEXT) \
+       test-mbsstr2.sh test-mbsstr3.sh test-memchr$(EXEEXT) \
+       test-nl_langinfo.sh test-open$(EXEEXT) test-pathmax$(EXEEXT) \
+       test-quotearg-simple$(EXEEXT) test-raise$(EXEEXT) \
+       test-readlink$(EXEEXT) test-regex$(EXEEXT) \
        test-setenv$(EXEEXT) test-setlocale1.sh test-setlocale2.sh \
-       test-sigaction$(EXEEXT) test-signal$(EXEEXT) \
-       test-sigprocmask$(EXEEXT) test-sleep$(EXEEXT) \
-       test-snprintf$(EXEEXT) test-stat$(EXEEXT) \
+       test-sh-quote$(EXEEXT) test-sigaction$(EXEEXT) \
+       test-signal-h$(EXEEXT) test-sigprocmask$(EXEEXT) \
+       test-sleep$(EXEEXT) test-snprintf$(EXEEXT) test-stat$(EXEEXT) \
        test-stat-time$(EXEEXT) test-stdbool$(EXEEXT) \
        test-stddef$(EXEEXT) test-stdint$(EXEEXT) test-stdio$(EXEEXT) \
        test-stdlib$(EXEEXT) test-strerror$(EXEEXT) \
        test-strftime$(EXEEXT) test-striconv$(EXEEXT) \
        test-string$(EXEEXT) test-strings$(EXEEXT) \
-       test-strnlen$(EXEEXT) test-strtoumax$(EXEEXT) \
-       test-symlink$(EXEEXT) test-sys_stat$(EXEEXT) \
-       test-sys_time$(EXEEXT) test-sys_wait$(EXEEXT) \
+       test-strnlen$(EXEEXT) test-strtoull$(EXEEXT) \
+       test-strtoumax$(EXEEXT) test-symlink$(EXEEXT) \
+       test-sys_stat$(EXEEXT) test-sys_time$(EXEEXT) \
+       test-sys_types$(EXEEXT) test-sys_wait$(EXEEXT) test-init.sh \
        test-time$(EXEEXT) test-unistd$(EXEEXT) \
        test-u8-mbtoucr$(EXEEXT) test-u8-uctomb$(EXEEXT) \
        test-uc_width$(EXEEXT) uniwidth/test-uc_width2.sh \
        test-unsetenv$(EXEEXT) test-update-copyright.sh \
        test-usleep$(EXEEXT) test-vasnprintf$(EXEEXT) \
-       test-vc-list-files-git.sh test-vc-list-files-cvs.sh \
-       test-verify$(EXEEXT) test-verify.sh test-version-etc.sh \
-       test-wchar$(EXEEXT) test-wcrtomb.sh test-wcrtomb-w32-1.sh \
-       test-wcrtomb-w32-2.sh test-wcrtomb-w32-3.sh \
-       test-wcrtomb-w32-4.sh test-wcrtomb-w32-5.sh \
-       test-wctype-h$(EXEEXT) test-wcwidth$(EXEEXT) \
-       test-xalloc-die.sh test-xstrtol.sh test-xstrtoumax.sh
+       test-vasprintf$(EXEEXT) test-vc-list-files-git.sh \
+       test-vc-list-files-cvs.sh test-verify$(EXEEXT) test-verify.sh \
+       test-version-etc.sh test-wchar$(EXEEXT) test-wcrtomb.sh \
+       test-wcrtomb-w32-1.sh test-wcrtomb-w32-2.sh \
+       test-wcrtomb-w32-3.sh test-wcrtomb-w32-4.sh \
+       test-wcrtomb-w32-5.sh test-wctype-h$(EXEEXT) \
+       test-wcwidth$(EXEEXT) test-xalloc-die.sh test-xstrtol.sh \
+       test-xstrtoumax.sh test-xvasprintf$(EXEEXT)
 XFAIL_TESTS =
 noinst_PROGRAMS =
-check_PROGRAMS = test-alloca-opt$(EXEEXT) test-argmatch$(EXEEXT) \
-       test-binary-io$(EXEEXT) test-bitrotate$(EXEEXT) \
-       test-btowc$(EXEEXT) test-c-ctype$(EXEEXT) \
-       test-c-stack$(EXEEXT) test-c-strcasecmp$(EXEEXT) \
-       test-c-strncasecmp$(EXEEXT) test-dirname$(EXEEXT) \
-       test-dup2$(EXEEXT) test-environ$(EXEEXT) test-errno$(EXEEXT) \
+check_PROGRAMS = test-alloca-opt$(EXEEXT) test-areadlink$(EXEEXT) \
+       test-argmatch$(EXEEXT) test-binary-io$(EXEEXT) \
+       test-bitrotate$(EXEEXT) test-btowc$(EXEEXT) \
+       test-c-ctype$(EXEEXT) test-c-stack$(EXEEXT) \
+       test-c-strcasecmp$(EXEEXT) test-c-strncasecmp$(EXEEXT) \
+       test-close$(EXEEXT) test-dirname$(EXEEXT) test-dup2$(EXEEXT) \
+       test-environ$(EXEEXT) test-errno$(EXEEXT) \
        test-exclude$(EXEEXT) test-fcntl-h$(EXEEXT) \
-       test-fcntl$(EXEEXT) test-filenamecat$(EXEEXT) \
-       test-float$(EXEEXT) test-fnmatch$(EXEEXT) \
+       test-fcntl$(EXEEXT) test-fdopen$(EXEEXT) test-fgetc$(EXEEXT) \
+       test-filenamecat$(EXEEXT) test-float$(EXEEXT) \
+       test-fnmatch$(EXEEXT) test-fputc$(EXEEXT) test-fread$(EXEEXT) \
        test-freopen-safer$(EXEEXT) test-freopen$(EXEEXT) \
+       test-fstat$(EXEEXT) test-fwrite$(EXEEXT) \
        test-getcwd-lgpl$(EXEEXT) test-getdtablesize$(EXEEXT) \
        test-getopt$(EXEEXT) test-gettimeofday$(EXEEXT) \
        test-hash$(EXEEXT) test-iconv-h$(EXEEXT) test-iconv$(EXEEXT) \
        test-ignore-value$(EXEEXT) test-intprops$(EXEEXT) \
        test-inttostr$(EXEEXT) test-inttypes$(EXEEXT) \
        test-iswblank$(EXEEXT) test-langinfo$(EXEEXT) \
-       test-locale$(EXEEXT) test-lstat$(EXEEXT) \
-       test-malloc-gnu$(EXEEXT) test-malloca$(EXEEXT) \
-       test-mbrtowc$(EXEEXT) test-mbrtowc-w32$(EXEEXT) \
-       test-mbscasecmp$(EXEEXT) test-mbsinit$(EXEEXT) \
-       test-mbsrtowcs$(EXEEXT) test-mbsstr1$(EXEEXT) \
-       test-mbsstr2$(EXEEXT) test-mbsstr3$(EXEEXT) \
-       test-memchr$(EXEEXT) test-nl_langinfo$(EXEEXT) \
-       test-open$(EXEEXT) test-quotearg-simple$(EXEEXT) \
+       test-locale$(EXEEXT) test-localeconv$(EXEEXT) \
+       test-lstat$(EXEEXT) test-malloc-gnu$(EXEEXT) \
+       test-malloca$(EXEEXT) test-mbrtowc$(EXEEXT) \
+       test-mbrtowc-w32$(EXEEXT) test-mbscasecmp$(EXEEXT) \
+       test-mbsinit$(EXEEXT) test-mbsrtowcs$(EXEEXT) \
+       test-mbsstr1$(EXEEXT) test-mbsstr2$(EXEEXT) \
+       test-mbsstr3$(EXEEXT) test-memchr$(EXEEXT) \
+       test-nl_langinfo$(EXEEXT) test-open$(EXEEXT) \
+       test-pathmax$(EXEEXT) test-quotearg-simple$(EXEEXT) \
+       test-raise$(EXEEXT) test-readlink$(EXEEXT) test-regex$(EXEEXT) \
        test-setenv$(EXEEXT) test-setlocale1$(EXEEXT) \
-       test-setlocale2$(EXEEXT) test-sigaction$(EXEEXT) \
-       test-signal$(EXEEXT) test-sigprocmask$(EXEEXT) \
-       test-sleep$(EXEEXT) test-snprintf$(EXEEXT) test-stat$(EXEEXT) \
+       test-setlocale2$(EXEEXT) test-sh-quote$(EXEEXT) \
+       test-sigaction$(EXEEXT) test-signal-h$(EXEEXT) \
+       test-sigprocmask$(EXEEXT) test-sleep$(EXEEXT) \
+       test-snprintf$(EXEEXT) test-stat$(EXEEXT) \
        test-stat-time$(EXEEXT) test-stdbool$(EXEEXT) \
        test-stddef$(EXEEXT) test-stdint$(EXEEXT) test-stdio$(EXEEXT) \
        test-stdlib$(EXEEXT) test-strerror$(EXEEXT) \
        test-strftime$(EXEEXT) test-striconv$(EXEEXT) \
        test-string$(EXEEXT) test-strings$(EXEEXT) \
-       test-strnlen$(EXEEXT) test-strtoumax$(EXEEXT) \
-       test-symlink$(EXEEXT) test-sys_stat$(EXEEXT) \
-       test-sys_time$(EXEEXT) test-sys_wait$(EXEEXT) \
+       test-strnlen$(EXEEXT) test-strtoull$(EXEEXT) \
+       test-strtoumax$(EXEEXT) test-symlink$(EXEEXT) \
+       test-sys_stat$(EXEEXT) test-sys_time$(EXEEXT) \
+       test-sys_types$(EXEEXT) test-sys_wait$(EXEEXT) \
        test-time$(EXEEXT) test-unistd$(EXEEXT) \
        test-u8-mbtoucr$(EXEEXT) test-u8-uctomb$(EXEEXT) \
        test-uc_width$(EXEEXT) test-uc_width2$(EXEEXT) \
        test-unsetenv$(EXEEXT) test-usleep$(EXEEXT) \
-       test-vasnprintf$(EXEEXT) test-verify$(EXEEXT) \
-       test-version-etc$(EXEEXT) test-wchar$(EXEEXT) \
-       test-wcrtomb$(EXEEXT) test-wcrtomb-w32$(EXEEXT) \
-       test-wctype-h$(EXEEXT) test-wcwidth$(EXEEXT) \
-       test-xalloc-die$(EXEEXT) test-xstrtol$(EXEEXT) \
-       test-xstrtoul$(EXEEXT) test-xstrtoumax$(EXEEXT)
+       test-vasnprintf$(EXEEXT) test-vasprintf$(EXEEXT) \
+       test-verify$(EXEEXT) test-version-etc$(EXEEXT) \
+       test-wchar$(EXEEXT) test-wcrtomb$(EXEEXT) \
+       test-wcrtomb-w32$(EXEEXT) test-wctype-h$(EXEEXT) \
+       test-wcwidth$(EXEEXT) test-xalloc-die$(EXEEXT) \
+       test-xstrtol$(EXEEXT) test-xstrtoul$(EXEEXT) \
+       test-xstrtoumax$(EXEEXT) test-xvasprintf$(EXEEXT)
 subdir = gnulib-tests
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \
        $(top_srcdir)/m4/c-stack.m4 $(top_srcdir)/m4/clock_time.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \
-       $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
+       $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
-       $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fcntl-o.m4 \
+       $(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/extensions.m4 \
+       $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
        $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
-       $(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/float_h.m4 \
-       $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpieee.m4 \
-       $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/getcwd.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/filenamecat.m4 \
+       $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+       $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/freopen.m4 \
+       $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/getcwd.m4 \
        $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext_gl.m4 \
+       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
-       $(top_srcdir)/m4/glibc21_gl.m4 $(top_srcdir)/m4/gnu-make.m4 \
+       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
        $(top_srcdir)/m4/gnulib-comp.m4 \
        $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \
@@ -172,54 +219,58 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
        $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
-       $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h_gl.m4 \
+       $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
        $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \
-       $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld_gl.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix_gl.m4 \
+       $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/libsigsegv.m4 \
        $(top_srcdir)/m4/libunistring-base.m4 \
        $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
        $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
        $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/longlong_gl.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \
-       $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \
-       $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \
-       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \
-       $(top_srcdir)/m4/onceonly.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/po_gl.m4 $(top_srcdir)/m4/printf.m4 \
+       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/longlong.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbslen.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mkstemp.m4 \
+       $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/putenv.m4 \
        $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
-       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
-       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/readlink.m4 \
+       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/secure_getenv.m4 \
+       $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \
+       $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \
        $(top_srcdir)/m4/signalblocking.m4 \
        $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
        $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
        $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
        $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
        $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdint_h_gl.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
        $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strcase.m4 \
-       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
-       $(top_srcdir)/m4/strftime.m4 $(top_srcdir)/m4/string_h.m4 \
-       $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
-       $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strptime.m4 \
-       $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
-       $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strftime.m4 \
+       $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+       $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+       $(top_srcdir)/m4/strptime.m4 $(top_srcdir)/m4/strtoull.m4 \
+       $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_wait_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
-       $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlocked-io.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/vararrays.m4 \
-       $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_wait_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+       $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd_h.m4 \
+       $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/vararrays.m4 $(top_srcdir)/m4/vasnprintf.m4 \
+       $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -227,20 +278,18 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \
        $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xsize.m4 \
        $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \
-       $(top_srcdir)/configure.ac
+       $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
+mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
-AM_V_AR = $(am__v_AR_$(V))
-am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+AM_V_AR = $(am__v_AR_@AM_V@)
+am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
 am__v_AR_0 = @echo "  AR      " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
+am__v_AR_1 = 
 libtests_a_AR = $(AR) $(ARFLAGS)
 am__DEPENDENCIES_1 =
 am_libtests_a_OBJECTS = argmatch.$(OBJEXT) hash-pjw.$(OBJEXT)
@@ -251,6 +300,11 @@ test_alloca_opt_OBJECTS = test-alloca-opt.$(OBJEXT)
 test_alloca_opt_LDADD = $(LDADD)
 test_alloca_opt_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
        libtests.a $(am__DEPENDENCIES_1)
+test_areadlink_SOURCES = test-areadlink.c
+test_areadlink_OBJECTS = test-areadlink.$(OBJEXT)
+test_areadlink_LDADD = $(LDADD)
+test_areadlink_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
+       libtests.a $(am__DEPENDENCIES_1)
 test_argmatch_SOURCES = test-argmatch.c
 test_argmatch_OBJECTS = test-argmatch.$(OBJEXT)
 am__DEPENDENCIES_2 = libtests.a ../lib/libdiffutils.a libtests.a \
@@ -290,6 +344,11 @@ test_c_strncasecmp_OBJECTS = test-c-strncasecmp.$(OBJEXT)
 test_c_strncasecmp_LDADD = $(LDADD)
 test_c_strncasecmp_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
        libtests.a $(am__DEPENDENCIES_1)
+test_close_SOURCES = test-close.c
+test_close_OBJECTS = test-close.$(OBJEXT)
+test_close_LDADD = $(LDADD)
+test_close_DEPENDENCIES = libtests.a ../lib/libdiffutils.a libtests.a \
+       $(am__DEPENDENCIES_1)
 test_dirname_SOURCES = test-dirname.c
 test_dirname_OBJECTS = test-dirname.$(OBJEXT)
 test_dirname_DEPENDENCIES = $(am__DEPENDENCIES_2)
@@ -321,6 +380,16 @@ test_fcntl_h_OBJECTS = test-fcntl-h.$(OBJEXT)
 test_fcntl_h_LDADD = $(LDADD)
 test_fcntl_h_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
        libtests.a $(am__DEPENDENCIES_1)
+test_fdopen_SOURCES = test-fdopen.c
+test_fdopen_OBJECTS = test-fdopen.$(OBJEXT)
+test_fdopen_LDADD = $(LDADD)
+test_fdopen_DEPENDENCIES = libtests.a ../lib/libdiffutils.a libtests.a \
+       $(am__DEPENDENCIES_1)
+test_fgetc_SOURCES = test-fgetc.c
+test_fgetc_OBJECTS = test-fgetc.$(OBJEXT)
+test_fgetc_LDADD = $(LDADD)
+test_fgetc_DEPENDENCIES = libtests.a ../lib/libdiffutils.a libtests.a \
+       $(am__DEPENDENCIES_1)
 test_filenamecat_SOURCES = test-filenamecat.c
 test_filenamecat_OBJECTS = test-filenamecat.$(OBJEXT)
 test_filenamecat_DEPENDENCIES = $(am__DEPENDENCIES_2)
@@ -334,6 +403,16 @@ test_fnmatch_OBJECTS = test-fnmatch.$(OBJEXT)
 test_fnmatch_LDADD = $(LDADD)
 test_fnmatch_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
        libtests.a $(am__DEPENDENCIES_1)
+test_fputc_SOURCES = test-fputc.c
+test_fputc_OBJECTS = test-fputc.$(OBJEXT)
+test_fputc_LDADD = $(LDADD)
+test_fputc_DEPENDENCIES = libtests.a ../lib/libdiffutils.a libtests.a \
+       $(am__DEPENDENCIES_1)
+test_fread_SOURCES = test-fread.c
+test_fread_OBJECTS = test-fread.$(OBJEXT)
+test_fread_LDADD = $(LDADD)
+test_fread_DEPENDENCIES = libtests.a ../lib/libdiffutils.a libtests.a \
+       $(am__DEPENDENCIES_1)
 test_freopen_SOURCES = test-freopen.c
 test_freopen_OBJECTS = test-freopen.$(OBJEXT)
 test_freopen_LDADD = $(LDADD)
@@ -344,11 +423,20 @@ test_freopen_safer_OBJECTS = test-freopen-safer.$(OBJEXT)
 test_freopen_safer_LDADD = $(LDADD)
 test_freopen_safer_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
        libtests.a $(am__DEPENDENCIES_1)
+test_fstat_SOURCES = test-fstat.c
+test_fstat_OBJECTS = test-fstat.$(OBJEXT)
+test_fstat_LDADD = $(LDADD)
+test_fstat_DEPENDENCIES = libtests.a ../lib/libdiffutils.a libtests.a \
+       $(am__DEPENDENCIES_1)
+test_fwrite_SOURCES = test-fwrite.c
+test_fwrite_OBJECTS = test-fwrite.$(OBJEXT)
+test_fwrite_LDADD = $(LDADD)
+test_fwrite_DEPENDENCIES = libtests.a ../lib/libdiffutils.a libtests.a \
+       $(am__DEPENDENCIES_1)
 test_getcwd_lgpl_SOURCES = test-getcwd-lgpl.c
 test_getcwd_lgpl_OBJECTS = test-getcwd-lgpl.$(OBJEXT)
-test_getcwd_lgpl_LDADD = $(LDADD)
-test_getcwd_lgpl_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
-       libtests.a $(am__DEPENDENCIES_1)
+test_getcwd_lgpl_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+       $(am__DEPENDENCIES_1)
 test_getdtablesize_SOURCES = test-getdtablesize.c
 test_getdtablesize_OBJECTS = test-getdtablesize.$(OBJEXT)
 test_getdtablesize_LDADD = $(LDADD)
@@ -410,6 +498,11 @@ test_locale_OBJECTS = test-locale.$(OBJEXT)
 test_locale_LDADD = $(LDADD)
 test_locale_DEPENDENCIES = libtests.a ../lib/libdiffutils.a libtests.a \
        $(am__DEPENDENCIES_1)
+test_localeconv_SOURCES = test-localeconv.c
+test_localeconv_OBJECTS = test-localeconv.$(OBJEXT)
+test_localeconv_LDADD = $(LDADD)
+test_localeconv_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
+       libtests.a $(am__DEPENDENCIES_1)
 test_lstat_SOURCES = test-lstat.c
 test_lstat_OBJECTS = test-lstat.$(OBJEXT)
 test_lstat_LDADD = $(LDADD)
@@ -480,9 +573,27 @@ test_open_OBJECTS = test-open.$(OBJEXT)
 test_open_LDADD = $(LDADD)
 test_open_DEPENDENCIES = libtests.a ../lib/libdiffutils.a libtests.a \
        $(am__DEPENDENCIES_1)
+test_pathmax_SOURCES = test-pathmax.c
+test_pathmax_OBJECTS = test-pathmax.$(OBJEXT)
+test_pathmax_LDADD = $(LDADD)
+test_pathmax_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
+       libtests.a $(am__DEPENDENCIES_1)
 test_quotearg_simple_SOURCES = test-quotearg-simple.c
 test_quotearg_simple_OBJECTS = test-quotearg-simple.$(OBJEXT)
 test_quotearg_simple_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_raise_SOURCES = test-raise.c
+test_raise_OBJECTS = test-raise.$(OBJEXT)
+test_raise_LDADD = $(LDADD)
+test_raise_DEPENDENCIES = libtests.a ../lib/libdiffutils.a libtests.a \
+       $(am__DEPENDENCIES_1)
+test_readlink_SOURCES = test-readlink.c
+test_readlink_OBJECTS = test-readlink.$(OBJEXT)
+test_readlink_LDADD = $(LDADD)
+test_readlink_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
+       libtests.a $(am__DEPENDENCIES_1)
+test_regex_SOURCES = test-regex.c
+test_regex_OBJECTS = test-regex.$(OBJEXT)
+test_regex_DEPENDENCIES = $(am__DEPENDENCIES_2)
 test_setenv_SOURCES = test-setenv.c
 test_setenv_OBJECTS = test-setenv.$(OBJEXT)
 test_setenv_LDADD = $(LDADD)
@@ -498,16 +609,19 @@ test_setlocale2_OBJECTS = test-setlocale2.$(OBJEXT)
 test_setlocale2_LDADD = $(LDADD)
 test_setlocale2_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
        libtests.a $(am__DEPENDENCIES_1)
+test_sh_quote_SOURCES = test-sh-quote.c
+test_sh_quote_OBJECTS = test-sh-quote.$(OBJEXT)
+test_sh_quote_DEPENDENCIES = $(am__DEPENDENCIES_2)
 test_sigaction_SOURCES = test-sigaction.c
 test_sigaction_OBJECTS = test-sigaction.$(OBJEXT)
 test_sigaction_LDADD = $(LDADD)
 test_sigaction_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
        libtests.a $(am__DEPENDENCIES_1)
-test_signal_SOURCES = test-signal.c
-test_signal_OBJECTS = test-signal.$(OBJEXT)
-test_signal_LDADD = $(LDADD)
-test_signal_DEPENDENCIES = libtests.a ../lib/libdiffutils.a libtests.a \
-       $(am__DEPENDENCIES_1)
+test_signal_h_SOURCES = test-signal-h.c
+test_signal_h_OBJECTS = test-signal-h.$(OBJEXT)
+test_signal_h_LDADD = $(LDADD)
+test_signal_h_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
+       libtests.a $(am__DEPENDENCIES_1)
 test_sigprocmask_SOURCES = test-sigprocmask.c
 test_sigprocmask_OBJECTS = test-sigprocmask.$(OBJEXT)
 test_sigprocmask_LDADD = $(LDADD)
@@ -525,9 +639,7 @@ test_snprintf_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
        libtests.a $(am__DEPENDENCIES_1)
 test_stat_SOURCES = test-stat.c
 test_stat_OBJECTS = test-stat.$(OBJEXT)
-test_stat_LDADD = $(LDADD)
-test_stat_DEPENDENCIES = libtests.a ../lib/libdiffutils.a libtests.a \
-       $(am__DEPENDENCIES_1)
+test_stat_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
 test_stat_time_SOURCES = test-stat-time.c
 test_stat_time_OBJECTS = test-stat-time.$(OBJEXT)
 test_stat_time_LDADD = $(LDADD)
@@ -586,6 +698,11 @@ test_strnlen_OBJECTS = test-strnlen.$(OBJEXT)
 test_strnlen_LDADD = $(LDADD)
 test_strnlen_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
        libtests.a $(am__DEPENDENCIES_1)
+test_strtoull_SOURCES = test-strtoull.c
+test_strtoull_OBJECTS = test-strtoull.$(OBJEXT)
+test_strtoull_LDADD = $(LDADD)
+test_strtoull_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
+       libtests.a $(am__DEPENDENCIES_1)
 test_strtoumax_SOURCES = test-strtoumax.c
 test_strtoumax_OBJECTS = test-strtoumax.$(OBJEXT)
 test_strtoumax_LDADD = $(LDADD)
@@ -606,6 +723,11 @@ test_sys_time_OBJECTS = test-sys_time.$(OBJEXT)
 test_sys_time_LDADD = $(LDADD)
 test_sys_time_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
        libtests.a $(am__DEPENDENCIES_1)
+test_sys_types_SOURCES = test-sys_types.c
+test_sys_types_OBJECTS = test-sys_types.$(OBJEXT)
+test_sys_types_LDADD = $(LDADD)
+test_sys_types_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
+       libtests.a $(am__DEPENDENCIES_1)
 test_sys_wait_SOURCES = test-sys_wait.c
 test_sys_wait_OBJECTS = test-sys_wait.$(OBJEXT)
 test_sys_wait_LDADD = $(LDADD)
@@ -616,7 +738,7 @@ test_time_OBJECTS = test-time.$(OBJEXT)
 test_time_LDADD = $(LDADD)
 test_time_DEPENDENCIES = libtests.a ../lib/libdiffutils.a libtests.a \
        $(am__DEPENDENCIES_1)
-am__dirstamp = $(am__leading_dot)dirstamp
+am__dirstamp = .dirstamp
 am_test_u8_mbtoucr_OBJECTS = unistr/test-u8-mbtoucr.$(OBJEXT)
 test_u8_mbtoucr_OBJECTS = $(am_test_u8_mbtoucr_OBJECTS)
 test_u8_mbtoucr_DEPENDENCIES = $(am__DEPENDENCIES_2)
@@ -649,6 +771,11 @@ test_vasnprintf_OBJECTS = test-vasnprintf.$(OBJEXT)
 test_vasnprintf_LDADD = $(LDADD)
 test_vasnprintf_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
        libtests.a $(am__DEPENDENCIES_1)
+test_vasprintf_SOURCES = test-vasprintf.c
+test_vasprintf_OBJECTS = test-vasprintf.$(OBJEXT)
+test_vasprintf_LDADD = $(LDADD)
+test_vasprintf_DEPENDENCIES = libtests.a ../lib/libdiffutils.a \
+       libtests.a $(am__DEPENDENCIES_1)
 test_verify_SOURCES = test-verify.c
 test_verify_OBJECTS = test-verify.$(OBJEXT)
 test_verify_LDADD = $(LDADD)
@@ -694,112 +821,169 @@ test_xstrtoul_DEPENDENCIES = $(am__DEPENDENCIES_2)
 test_xstrtoumax_SOURCES = test-xstrtoumax.c
 test_xstrtoumax_OBJECTS = test-xstrtoumax.$(OBJEXT)
 test_xstrtoumax_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_xvasprintf_SOURCES = test-xvasprintf.c
+test_xvasprintf_OBJECTS = test-xvasprintf.$(OBJEXT)
+test_xvasprintf_DEPENDENCIES = $(am__DEPENDENCIES_2)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+       $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_CCLD_1 = 
 SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
-       test-alloca-opt.c test-argmatch.c test-binary-io.c \
-       test-bitrotate.c test-btowc.c test-c-ctype.c test-c-stack.c \
-       test-c-strcasecmp.c test-c-strncasecmp.c test-dirname.c \
-       test-dup2.c test-environ.c test-errno.c test-exclude.c \
-       test-fcntl.c test-fcntl-h.c test-filenamecat.c test-float.c \
-       test-fnmatch.c test-freopen.c test-freopen-safer.c \
+       test-alloca-opt.c test-areadlink.c test-argmatch.c \
+       test-binary-io.c test-bitrotate.c test-btowc.c test-c-ctype.c \
+       test-c-stack.c test-c-strcasecmp.c test-c-strncasecmp.c \
+       test-close.c test-dirname.c test-dup2.c test-environ.c \
+       test-errno.c test-exclude.c test-fcntl.c test-fcntl-h.c \
+       test-fdopen.c test-fgetc.c test-filenamecat.c test-float.c \
+       test-fnmatch.c test-fputc.c test-fread.c test-freopen.c \
+       test-freopen-safer.c test-fstat.c test-fwrite.c \
        test-getcwd-lgpl.c test-getdtablesize.c test-getopt.c \
        test-gettimeofday.c test-hash.c test-iconv.c test-iconv-h.c \
        test-ignore-value.c test-intprops.c test-inttostr.c \
        test-inttypes.c test-iswblank.c test-langinfo.c test-locale.c \
-       test-lstat.c test-malloc-gnu.c test-malloca.c test-mbrtowc.c \
-       test-mbrtowc-w32.c test-mbscasecmp.c test-mbsinit.c \
-       test-mbsrtowcs.c test-mbsstr1.c test-mbsstr2.c test-mbsstr3.c \
-       test-memchr.c test-nl_langinfo.c test-open.c \
-       test-quotearg-simple.c test-setenv.c test-setlocale1.c \
-       test-setlocale2.c test-sigaction.c test-signal.c \
+       test-localeconv.c test-lstat.c test-malloc-gnu.c \
+       test-malloca.c test-mbrtowc.c test-mbrtowc-w32.c \
+       test-mbscasecmp.c test-mbsinit.c test-mbsrtowcs.c \
+       test-mbsstr1.c test-mbsstr2.c test-mbsstr3.c test-memchr.c \
+       test-nl_langinfo.c test-open.c test-pathmax.c \
+       test-quotearg-simple.c test-raise.c test-readlink.c \
+       test-regex.c test-setenv.c test-setlocale1.c test-setlocale2.c \
+       test-sh-quote.c test-sigaction.c test-signal-h.c \
        test-sigprocmask.c test-sleep.c test-snprintf.c test-stat.c \
        test-stat-time.c test-stdbool.c test-stddef.c test-stdint.c \
        test-stdio.c test-stdlib.c test-strerror.c test-strftime.c \
        test-striconv.c test-string.c test-strings.c test-strnlen.c \
-       test-strtoumax.c test-symlink.c test-sys_stat.c \
-       test-sys_time.c test-sys_wait.c test-time.c \
-       $(test_u8_mbtoucr_SOURCES) $(test_u8_uctomb_SOURCES) \
-       $(test_uc_width_SOURCES) $(test_uc_width2_SOURCES) \
-       test-unistd.c test-unsetenv.c test-usleep.c test-vasnprintf.c \
-       test-verify.c test-version-etc.c test-wchar.c test-wcrtomb.c \
+       test-strtoull.c test-strtoumax.c test-symlink.c \
+       test-sys_stat.c test-sys_time.c test-sys_types.c \
+       test-sys_wait.c test-time.c $(test_u8_mbtoucr_SOURCES) \
+       $(test_u8_uctomb_SOURCES) $(test_uc_width_SOURCES) \
+       $(test_uc_width2_SOURCES) test-unistd.c test-unsetenv.c \
+       test-usleep.c test-vasnprintf.c test-vasprintf.c test-verify.c \
+       test-version-etc.c test-wchar.c test-wcrtomb.c \
        test-wcrtomb-w32.c test-wctype-h.c test-wcwidth.c \
        test-xalloc-die.c test-xstrtol.c test-xstrtoul.c \
-       test-xstrtoumax.c
+       test-xstrtoumax.c test-xvasprintf.c
 DIST_SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
-       test-alloca-opt.c test-argmatch.c test-binary-io.c \
-       test-bitrotate.c test-btowc.c test-c-ctype.c test-c-stack.c \
-       test-c-strcasecmp.c test-c-strncasecmp.c test-dirname.c \
-       test-dup2.c test-environ.c test-errno.c test-exclude.c \
-       test-fcntl.c test-fcntl-h.c test-filenamecat.c test-float.c \
-       test-fnmatch.c test-freopen.c test-freopen-safer.c \
+       test-alloca-opt.c test-areadlink.c test-argmatch.c \
+       test-binary-io.c test-bitrotate.c test-btowc.c test-c-ctype.c \
+       test-c-stack.c test-c-strcasecmp.c test-c-strncasecmp.c \
+       test-close.c test-dirname.c test-dup2.c test-environ.c \
+       test-errno.c test-exclude.c test-fcntl.c test-fcntl-h.c \
+       test-fdopen.c test-fgetc.c test-filenamecat.c test-float.c \
+       test-fnmatch.c test-fputc.c test-fread.c test-freopen.c \
+       test-freopen-safer.c test-fstat.c test-fwrite.c \
        test-getcwd-lgpl.c test-getdtablesize.c test-getopt.c \
        test-gettimeofday.c test-hash.c test-iconv.c test-iconv-h.c \
        test-ignore-value.c test-intprops.c test-inttostr.c \
        test-inttypes.c test-iswblank.c test-langinfo.c test-locale.c \
-       test-lstat.c test-malloc-gnu.c test-malloca.c test-mbrtowc.c \
-       test-mbrtowc-w32.c test-mbscasecmp.c test-mbsinit.c \
-       test-mbsrtowcs.c test-mbsstr1.c test-mbsstr2.c test-mbsstr3.c \
-       test-memchr.c test-nl_langinfo.c test-open.c \
-       test-quotearg-simple.c test-setenv.c test-setlocale1.c \
-       test-setlocale2.c test-sigaction.c test-signal.c \
+       test-localeconv.c test-lstat.c test-malloc-gnu.c \
+       test-malloca.c test-mbrtowc.c test-mbrtowc-w32.c \
+       test-mbscasecmp.c test-mbsinit.c test-mbsrtowcs.c \
+       test-mbsstr1.c test-mbsstr2.c test-mbsstr3.c test-memchr.c \
+       test-nl_langinfo.c test-open.c test-pathmax.c \
+       test-quotearg-simple.c test-raise.c test-readlink.c \
+       test-regex.c test-setenv.c test-setlocale1.c test-setlocale2.c \
+       test-sh-quote.c test-sigaction.c test-signal-h.c \
        test-sigprocmask.c test-sleep.c test-snprintf.c test-stat.c \
        test-stat-time.c test-stdbool.c test-stddef.c test-stdint.c \
        test-stdio.c test-stdlib.c test-strerror.c test-strftime.c \
        test-striconv.c test-string.c test-strings.c test-strnlen.c \
-       test-strtoumax.c test-symlink.c test-sys_stat.c \
-       test-sys_time.c test-sys_wait.c test-time.c \
-       $(test_u8_mbtoucr_SOURCES) $(test_u8_uctomb_SOURCES) \
-       $(test_uc_width_SOURCES) $(test_uc_width2_SOURCES) \
-       test-unistd.c test-unsetenv.c test-usleep.c test-vasnprintf.c \
-       test-verify.c test-version-etc.c test-wchar.c test-wcrtomb.c \
+       test-strtoull.c test-strtoumax.c test-symlink.c \
+       test-sys_stat.c test-sys_time.c test-sys_types.c \
+       test-sys_wait.c test-time.c $(test_u8_mbtoucr_SOURCES) \
+       $(test_u8_uctomb_SOURCES) $(test_uc_width_SOURCES) \
+       $(test_uc_width2_SOURCES) test-unistd.c test-unsetenv.c \
+       test-usleep.c test-vasnprintf.c test-vasprintf.c test-verify.c \
+       test-version-etc.c test-wchar.c test-wcrtomb.c \
        test-wcrtomb-w32.c test-wctype-h.c test-wcwidth.c \
        test-xalloc-die.c test-xstrtol.c test-xstrtoul.c \
-       test-xstrtoumax.c
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
+       test-xstrtoumax.c test-xvasprintf.c
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(noinst_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       check check-html recheck recheck-html distdir
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+       check recheck distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
-# If stdout is a non-dumb tty, use colors.  If test -t is not supported,
-# then this fails; a conservative approach.  Of course do not redirect
-# stdout here, just stderr.
-am__tty_colors = \
-red=; grn=; lgn=; blu=; std=; \
-test "X$(AM_COLOR_TESTS)" != Xno \
-&& test "X$$TERM" != Xdumb \
-&& { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \
-&& { \
-  red='\e[0;31m'; \
-  grn='\e[0;32m'; \
-  lgn='\e[1;32m'; \
-  blu='\e[1;34m'; \
-  std='\e[m'; \
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red='\e[0;31m'; \
+    grn='\e[0;32m'; \
+    lgn='\e[1;32m'; \
+    blu='\e[1;34m'; \
+    mgn='\e[0;35m'; \
+    brg='\e[1m'; \
+    std='\e[m'; \
+  fi; \
 }
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
@@ -822,93 +1006,166 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-# Restructured Text title and section.
-am__rst_title = sed 's/.*/   &   /;h;s/./=/g;p;x;p;g;p;s/.*//'
-am__rst_section = sed 'p;s/./=/g;p;g'
-# Put stdin (possibly several lines separated by ".  ") in a box.
-# Prefix each line by 'col' and terminate each with 'std', for coloring.
-# Multi line coloring is problematic with "less -R", so we really need
-# to color each line individually.
-am__text_box = $(AWK) '{                       \
-  n = split($$0, lines, "\\.  "); max = 0;     \
-  for (i = 1; i <= n; ++i)                     \
-    if (max < length(lines[i]))                        \
-      max = length(lines[i]);                  \
-  for (i = 0; i < max; ++i)                    \
-    line = line "=";                           \
-  print col line std;                          \
-  for (i = 1; i <= n; ++i)                     \
-    if (lines[i])                              \
-      print col lines[i] std;                  \
-  print col line std;                          \
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__recheck_rx = ^[    ]*:recheck:[    ]*
+am__global_test_result_rx = ^[         ]*:global-test-result:[         ]*
+am__copy_in_global_log_rx = ^[         ]*:copy-in-global-log:[         ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+           recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
 }'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[       ]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
 # Solaris 10 'make', and several other traditional 'make' implementations,
 # pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
 # by disabling -e (using the XSI extension "set +e") if it's set.
 am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
 # To be inserted before the command running the test.  Creates the
 # directory for the log if needed.  Stores in $dir the directory
 # containing $f, in $tst the test, in $log the log.  Executes the
 # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
-# passes TESTS_ENVIRONMENT.  Saves and restores TERM around uses of
-# TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT, in case any of them
-# unsets it.
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
 am__check_pre = \
 $(am__sh_e_setup);                                     \
 $(am__vpath_adj_setup) $(am__vpath_adj)                        \
+$(am__tty_colors);                                     \
 srcdir=$(srcdir); export srcdir;                       \
-rm -f $@-t;                                            \
-am__trap='rm -f '\''$(abs_builddir)/$@-t'\''; (exit $$st); exit $$st'; \
-trap "st=129; $$am__trap" 1; trap "st=130; $$am__trap" 2;      \
-trap "st=141; $$am__trap" 13; trap "st=143; $$am__trap" 15; \
-am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;           \
-test "x$$am__odir" = x. || $(MKDIR_P) "$$am__odir" || exit $$?;        \
+case "$@" in                                           \
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;   \
+    *) am__odir=.;;                                    \
+esac;                                                  \
+test "x$$am__odir" = x"." || test -d "$$am__odir"      \
+  || $(MKDIR_P) "$$am__odir" || exit $$?;              \
 if test -f "./$$f"; then dir=./;                       \
 elif test -f "$$f"; then dir=;                         \
 else dir="$(srcdir)/"; fi;                             \
-tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM;           \
-$(AM_TESTS_ENVIRONMENT)                                        \
-$(TESTS_ENVIRONMENT)
-# To be appended to the command running the test.  Handle the stdout
-# and stderr redirection, and catch the exit status.
-am__check_post = \
->$@-t 2>&1;                                            \
-estatus=$$?;                                           \
-if test -n '$(DISABLE_HARD_ERRORS)'                    \
-   && test $$estatus -eq 99; then                      \
-  estatus=1;                                           \
-fi;                                                    \
-TERM=$$__SAVED_TERM; export TERM;                      \
-$(am__tty_colors);                                     \
-xfailed=PASS;                                          \
+tst=$$dir$$f; log='$@';                                \
+if test -n '$(DISABLE_HARD_ERRORS)'; then              \
+  am__enable_hard_errors=no;                           \
+else                                                   \
+  am__enable_hard_errors=yes;                          \
+fi;                                                    \
 case " $(XFAIL_TESTS) " in                             \
   *[\ \        ]$$f[\ \        ]* | *[\ \      ]$$dir$$f[\ \   ]*) \
-    xfailed=XFAIL;;                                    \
-esac;                                                  \
-case $$estatus.$$xfailed in                            \
-    0.XFAIL) col=$$red; res=XPASS;;                    \
-    0.*)     col=$$grn; res=PASS ;;                    \
-    77.*)    col=$$blu; res=SKIP ;;                    \
-    99.*)    col=$$red; res=FAIL ;;                    \
-    *.XFAIL) col=$$lgn; res=XFAIL;;                    \
-    *.*)     col=$$red; res=FAIL ;;                    \
-esac;                                                  \
-echo "$${col}$$res$${std}: $$f";                       \
-echo "$$res: $$f (exit: $$estatus)" |                  \
-  $(am__rst_section) >$@;                              \
-cat $@-t >>$@;                                         \
-rm -f $@-t
+    am__expect_failure=yes;;                           \
+  *)                                                   \
+    am__expect_failure=no;;                            \
+esac;                                                  \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
 RECHECK_LOGS = $(TEST_LOGS)
 TEST_SUITE_LOG = test-suite.log
-TEST_SUITE_HTML = $(TEST_SUITE_LOG:.log=.html)
 TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
 LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
 am__test_logs1 = $(TESTS:=.log)
 am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
 TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
        $(TEST_LOG_FLAGS)
-TEST_LOGS_TMP = $(TEST_LOGS:.log=.log-t)
 DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
@@ -986,9 +1243,11 @@ GNULIB_ATOLL = @GNULIB_ATOLL@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
 GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
@@ -1000,6 +1259,8 @@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
 GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
 GNULIB_FCLOSE = @GNULIB_FCLOSE@
 GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
 GNULIB_FFLUSH = @GNULIB_FFLUSH@
 GNULIB_FFS = @GNULIB_FFS@
 GNULIB_FFSL = @GNULIB_FFSL@
@@ -1017,6 +1278,7 @@ GNULIB_FREOPEN = @GNULIB_FREOPEN@
 GNULIB_FSCANF = @GNULIB_FSCANF@
 GNULIB_FSEEK = @GNULIB_FSEEK@
 GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
 GNULIB_FSTATAT = @GNULIB_FSTATAT@
 GNULIB_FSYNC = @GNULIB_FSYNC@
 GNULIB_FTELL = @GNULIB_FTELL@
@@ -1037,21 +1299,23 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETS = @GNULIB_GETS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
 GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_ICONV = @GNULIB_ICONV@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_ISATTY = @GNULIB_ISATTY@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -1097,20 +1361,25 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
 GNULIB_PIPE2 = @GNULIB_PIPE2@
 GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
 GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
 GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RAISE = @GNULIB_RAISE@
+GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
@@ -1124,7 +1393,9 @@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
 GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
 GNULIB_SIGACTION = @GNULIB_SIGACTION@
 GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
@@ -1165,7 +1436,6 @@ GNULIB_TIME_R = @GNULIB_TIME_R@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -1231,6 +1501,7 @@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
@@ -1248,6 +1519,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -1273,6 +1545,7 @@ HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
 HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
 HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFS = @HAVE_FFS@
 HAVE_FFSL = @HAVE_FFSL@
@@ -1326,17 +1599,24 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
 HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
 HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
 HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RAISE = @HAVE_RAISE@
+HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
@@ -1345,7 +1625,9 @@ HAVE_READLINKAT = @HAVE_READLINKAT@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
 HAVE_SIGACTION = @HAVE_SIGACTION@
 HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@
 HAVE_SIGINFO_T = @HAVE_SIGINFO_T@
@@ -1360,6 +1642,7 @@ HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASECMP = @HAVE_STRCASECMP@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRINGS_H = @HAVE_STRINGS_H@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
@@ -1492,6 +1775,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
@@ -1515,6 +1799,7 @@ NEXT_STRINGS_H = @NEXT_STRINGS_H@
 NEXT_STRING_H = @NEXT_STRING_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
 NEXT_SYS_WAIT_H = @NEXT_SYS_WAIT_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
@@ -1550,6 +1835,7 @@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
@@ -1561,6 +1847,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@
 REPLACE_FSTATAT = @REPLACE_FSTATAT@
 REPLACE_FTELL = @REPLACE_FTELL@
 REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
 REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
@@ -1573,11 +1860,14 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
+REPLACE_ITOLD = @REPLACE_ITOLD@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
@@ -1607,8 +1897,12 @@ REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
 REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_RAISE = @REPLACE_RAISE@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
 REPLACE_REALLOC = @REPLACE_REALLOC@
@@ -1637,7 +1931,10 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
 REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
@@ -1684,6 +1981,8 @@ VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1695,7 +1994,6 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 am__include = @am__include@
-am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
@@ -1731,7 +2029,6 @@ lispdir = @lispdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
-mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -1768,32 +2065,37 @@ TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \
 noinst_HEADERS = 
 noinst_LIBRARIES = 
 check_LIBRARIES = libtests.a
-EXTRA_DIST = test-alloca-opt.c argmatch.h test-argmatch.c macros.h \
-       test-binary-io.sh test-binary-io.c macros.h test-bitrotate.c \
-       macros.h test-btowc1.sh test-btowc2.sh test-btowc.c \
-       signature.h macros.h test-c-ctype.c macros.h test-c-stack.c \
+EXTRA_DIST = test-alloca-opt.c test-areadlink.h test-areadlink.c \
+       macros.h argmatch.h test-argmatch.c macros.h test-binary-io.sh \
+       test-binary-io.c macros.h test-bitrotate.c macros.h \
+       test-btowc1.sh test-btowc2.sh test-btowc.c signature.h \
+       macros.h test-c-ctype.c macros.h test-c-stack.c \
        test-c-stack.sh test-c-stack2.sh macros.h test-c-strcase.sh \
-       test-c-strcasecmp.c test-c-strncasecmp.c macros.h \
-       test-dirname.c test-dup2.c signature.h macros.h test-environ.c \
-       test-errno.c test-exclude.c test-exclude1.sh test-exclude2.sh \
-       test-exclude3.sh test-exclude4.sh test-exclude5.sh \
-       test-exclude6.sh test-exclude7.sh test-exclude8.sh \
-       test-fcntl-h.c test-fcntl.c signature.h macros.h \
-       test-filenamecat.c float.c float.in.h test-float.c macros.h \
-       test-fnmatch.c signature.h macros.h fpucw.h \
-       test-freopen-safer.c macros.h test-freopen.c signature.h \
-       macros.h getcwd-lgpl.c test-getcwd-lgpl.c signature.h macros.h \
-       test-getdtablesize.c signature.h macros.h macros.h signature.h \
-       test-getopt.c test-getopt.h test-getopt_long.h getpagesize.c \
-       signature.h test-gettimeofday.c test-hash.c macros.h \
-       test-iconv-h.c test-iconv.c signature.h macros.h \
-       test-ignore-value.c test-intprops.c macros.h macros.h \
-       test-inttostr.c test-inttypes.c test-iswblank.c macros.h \
-       test-langinfo.c locale.in.h test-locale.c test-lstat.h \
-       test-lstat.c signature.h macros.h test-malloc-gnu.c \
-       test-malloca.c test-mbrtowc1.sh test-mbrtowc2.sh \
-       test-mbrtowc3.sh test-mbrtowc4.sh test-mbrtowc.c \
-       test-mbrtowc-w32-1.sh test-mbrtowc-w32-2.sh \
+       test-c-strcasecmp.c test-c-strncasecmp.c macros.h test-close.c \
+       signature.h macros.h test-dirname.c test-dup2.c signature.h \
+       macros.h test-environ.c test-errno.c test-exclude.c \
+       test-exclude1.sh test-exclude2.sh test-exclude3.sh \
+       test-exclude4.sh test-exclude5.sh test-exclude6.sh \
+       test-exclude7.sh test-exclude8.sh test-fcntl-h.c test-fcntl.c \
+       signature.h macros.h fdopen.c test-fdopen.c signature.h \
+       macros.h test-fgetc.c signature.h macros.h test-filenamecat.c \
+       test-float.c macros.h test-fnmatch.c signature.h macros.h \
+       fpucw.h test-fputc.c signature.h macros.h test-fread.c \
+       signature.h macros.h test-freopen-safer.c macros.h \
+       test-freopen.c signature.h macros.h test-fstat.c signature.h \
+       macros.h test-fwrite.c signature.h macros.h getcwd-lgpl.c \
+       test-getcwd-lgpl.c signature.h macros.h test-getdtablesize.c \
+       signature.h macros.h macros.h signature.h test-getopt.c \
+       test-getopt.h test-getopt_long.h getpagesize.c signature.h \
+       test-gettimeofday.c test-hash.c macros.h test-iconv-h.c \
+       test-iconv.c signature.h macros.h test-ignore-value.c \
+       test-intprops.c macros.h macros.h test-inttostr.c \
+       test-inttypes.c test-iswblank.c macros.h test-langinfo.c \
+       test-locale.c test-localeconv.c signature.h macros.h \
+       test-lstat.h test-lstat.c signature.h macros.h \
+       test-malloc-gnu.c test-malloca.c test-mbrtowc1.sh \
+       test-mbrtowc2.sh test-mbrtowc3.sh test-mbrtowc4.sh \
+       test-mbrtowc.c test-mbrtowc-w32-1.sh test-mbrtowc-w32-2.sh \
        test-mbrtowc-w32-3.sh test-mbrtowc-w32-4.sh \
        test-mbrtowc-w32-5.sh test-mbrtowc-w32.c signature.h macros.h \
        test-mbscasecmp.sh test-mbscasecmp.c macros.h test-mbsinit.sh \
@@ -1803,13 +2105,16 @@ EXTRA_DIST = test-alloca-opt.c argmatch.h test-argmatch.c macros.h \
        test-mbsstr2.sh test-mbsstr2.c test-mbsstr3.sh test-mbsstr3.c \
        macros.h test-memchr.c zerosize-ptr.h signature.h macros.h \
        test-nl_langinfo.sh test-nl_langinfo.c signature.h macros.h \
-       test-open.h test-open.c signature.h macros.h putenv.c \
-       test-quotearg-simple.c test-quotearg.h macros.h same-inode.h \
-       setenv.c test-setenv.c signature.h macros.h setlocale.c \
-       test-setlocale1.sh test-setlocale1.c test-setlocale2.sh \
-       test-setlocale2.c signature.h macros.h test-sigaction.c \
-       signature.h macros.h test-signal.c test-sigprocmask.c \
-       signature.h macros.h sleep.c test-sleep.c signature.h macros.h \
+       test-open.h test-open.c signature.h macros.h test-pathmax.c \
+       putenv.c test-quotearg-simple.c test-quotearg.h macros.h \
+       test-raise.c signature.h macros.h test-readlink.h \
+       test-readlink.c signature.h macros.h test-regex.c macros.h \
+       same-inode.h setenv.c test-setenv.c signature.h macros.h \
+       setlocale.c test-setlocale1.sh test-setlocale1.c \
+       test-setlocale2.sh test-setlocale2.c signature.h macros.h \
+       test-sh-quote.c test-sigaction.c signature.h macros.h \
+       test-signal-h.c test-sigprocmask.c signature.h macros.h \
+       sleep.c test-sleep.c signature.h macros.h \
        $(top_srcdir)/build-aux/snippet/_Noreturn.h \
        $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
        $(top_srcdir)/build-aux/snippet/c++defs.h \
@@ -1821,28 +2126,28 @@ EXTRA_DIST = test-alloca-opt.c argmatch.h test-argmatch.c macros.h \
        test-sys_wait.h test-strerror.c signature.h macros.h \
        test-strftime.c macros.h test-striconv.c macros.h \
        test-string.c test-strings.c test-strnlen.c zerosize-ptr.h \
-       signature.h macros.h test-strtoumax.c signature.h macros.h \
-       symlink.c test-symlink.h test-symlink.c signature.h macros.h \
-       test-sys_stat.c test-sys_time.c test-sys_wait.c \
-       test-sys_wait.h test-time.c test-unistd.c \
+       signature.h macros.h test-strtoull.c signature.h macros.h \
+       test-strtoumax.c signature.h macros.h symlink.c test-symlink.h \
+       test-symlink.c signature.h macros.h test-sys_stat.c \
+       test-sys_time.c test-sys_types.c test-sys_wait.c \
+       test-sys_wait.h init.sh test-init.sh test-time.c test-unistd.c \
        unistr/test-u8-mbtoucr.c macros.h unistr/test-u8-uctomb.c \
        macros.h uniwidth/test-uc_width.c uniwidth/test-uc_width2.c \
        uniwidth/test-uc_width2.sh macros.h unsetenv.c test-unsetenv.c \
        signature.h macros.h test-update-copyright.sh usleep.c \
-       test-usleep.c signature.h macros.h asnprintf.c float+.h \
-       printf-args.c printf-args.h printf-parse.c printf-parse.h \
-       vasnprintf.c vasnprintf.h test-vasnprintf.c macros.h \
-       test-vc-list-files-git.sh test-vc-list-files-cvs.sh init.sh \
-       test-verify.c test-verify.sh init.sh test-version-etc.c \
+       test-usleep.c signature.h macros.h test-vasnprintf.c macros.h \
+       test-vasprintf.c signature.h macros.h \
+       test-vc-list-files-git.sh test-vc-list-files-cvs.sh \
+       test-verify.c test-verify.sh test-version-etc.c \
        test-version-etc.sh test-wchar.c test-wcrtomb.sh \
        test-wcrtomb.c test-wcrtomb-w32-1.sh test-wcrtomb-w32-2.sh \
        test-wcrtomb-w32-3.sh test-wcrtomb-w32-4.sh \
        test-wcrtomb-w32-5.sh test-wcrtomb-w32.c signature.h macros.h \
        wctob.c wctomb-impl.h wctomb.c test-wctype-h.c macros.h \
        test-wcwidth.c signature.h macros.h test-xalloc-die.c \
-       test-xalloc-die.sh init.sh init.sh test-xstrtol.c \
-       test-xstrtoul.c test-xstrtol.sh init.sh test-xstrtoumax.c \
-       test-xstrtoumax.sh
+       test-xalloc-die.sh test-xstrtol.c test-xstrtoul.c \
+       test-xstrtol.sh test-xstrtoumax.c test-xstrtoumax.sh \
+       test-xvasprintf.c macros.h
 
 # The BUILT_SOURCES created by this Makefile snippet are not used via #include
 # statements but through direct file reference. Therefore this snippet must be
@@ -1858,13 +2163,13 @@ EXTRA_DIST = test-alloca-opt.c argmatch.h test-argmatch.c macros.h \
 # statements but through direct file reference. Therefore this snippet must be
 # present in all Makefile.am that need it. This is ensured by the applicability
 # 'all' defined above.
-BUILT_SOURCES = $(FLOAT_H) locale.h arg-nonnull.h c++defs.h \
-       unused-parameter.h warn-on-use.h
+BUILT_SOURCES = arg-nonnull.h c++defs.h unused-parameter.h \
+       warn-on-use.h
 SUFFIXES = 
 MOSTLYCLEANFILES = core *.stackdump t-c-stack.tmp t-c-stack2.tmp \
-       float.h float.h-t locale.h locale.h-t arg-nonnull.h \
-       arg-nonnull.h-t c++defs.h c++defs.h-t unused-parameter.h \
-       unused-parameter.h-t warn-on-use.h warn-on-use.h-t
+       arg-nonnull.h arg-nonnull.h-t c++defs.h c++defs.h-t \
+       unused-parameter.h unused-parameter.h-t warn-on-use.h \
+       warn-on-use.h-t
 MOSTLYCLEANDIRS = 
 CLEANFILES = 
 DISTCLEANFILES = 
@@ -1876,23 +2181,24 @@ AM_CPPFLAGS = \
   -I../lib -I$(srcdir)/../lib
 
 LDADD = libtests.a ../lib/libdiffutils.a libtests.a $(LIBTESTS_LIBDEPS)
-libtests_a_SOURCES = argmatch.c binary-io.h hash-pjw.h hash-pjw.c \
-       size_max.h xsize.h
+libtests_a_SOURCES = argmatch.c hash-pjw.h hash-pjw.c
 libtests_a_LIBADD = $(gltests_LIBOBJS)
 libtests_a_DEPENDENCIES = $(gltests_LIBOBJS)
-EXTRA_libtests_a_SOURCES = float.c getcwd-lgpl.c getpagesize.c \
+EXTRA_libtests_a_SOURCES = fdopen.c getcwd-lgpl.c getpagesize.c \
        putenv.c setenv.c setlocale.c sleep.c snprintf.c symlink.c \
-       unsetenv.c usleep.c asnprintf.c printf-args.c printf-parse.c \
-       vasnprintf.c wctob.c wctomb.c
+       unsetenv.c usleep.c wctob.c wctomb.c
 AM_LIBTOOLFLAGS = --preserve-dup-deps
 test_argmatch_LDADD = $(LDADD) @LIBINTL@
 test_c_stack_LDADD = $(LDADD) $(LIBCSTACK) @LIBINTL@
 test_dirname_LDADD = $(LDADD) @LIBINTL@
 test_exclude_LDADD = $(LDADD) @LIBINTL@
 test_filenamecat_LDADD = $(LDADD) @LIBINTL@
+test_getcwd_lgpl_LDADD = $(LDADD) $(LIBINTL)
 test_getopt_LDADD = $(LDADD) $(LIBINTL)
 test_iconv_LDADD = $(LDADD) @LIBICONV@
 test_quotearg_simple_LDADD = $(LDADD) @LIBINTL@
+test_regex_LDADD = $(LDADD) @LIBINTL@
+test_sh_quote_LDADD = $(LDADD) @LIBINTL@
 
 # Because this Makefile snippet defines a variable used by other
 # gnulib Makefile snippets, it must be present in all Makefile.am that
@@ -1902,6 +2208,7 @@ ARG_NONNULL_H = arg-nonnull.h
 CXXDEFS_H = c++defs.h
 UNUSED_PARAMETER_H = unused-parameter.h
 WARN_ON_USE_H = warn-on-use.h
+test_stat_LDADD = $(LDADD) $(LIBINTL)
 test_striconv_LDADD = $(LDADD) @LIBICONV@
 test_u8_mbtoucr_SOURCES = unistr/test-u8-mbtoucr.c
 test_u8_mbtoucr_LDADD = $(LDADD) $(LIBUNISTRING)
@@ -1916,11 +2223,12 @@ test_xalloc_die_LDADD = $(LDADD) @LIBINTL@
 test_xstrtol_LDADD = $(LDADD) @LIBINTL@
 test_xstrtoul_LDADD = $(LDADD) @LIBINTL@
 test_xstrtoumax_LDADD = $(LDADD) @LIBINTL@
+test_xvasprintf_LDADD = $(LDADD) @LIBINTL@
 all: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
-.SUFFIXES: .c .html .log .o .obj .test .test$(EXEEXT)
+.SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -1942,6 +2250,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
            echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
            cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
        esac;
+$(srcdir)/gnulib.mk:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -1970,6 +2279,9 @@ clean-noinstPROGRAMS:
 test-alloca-opt$(EXEEXT): $(test_alloca_opt_OBJECTS) $(test_alloca_opt_DEPENDENCIES) $(EXTRA_test_alloca_opt_DEPENDENCIES) 
        @rm -f test-alloca-opt$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_alloca_opt_OBJECTS) $(test_alloca_opt_LDADD) $(LIBS)
+test-areadlink$(EXEEXT): $(test_areadlink_OBJECTS) $(test_areadlink_DEPENDENCIES) $(EXTRA_test_areadlink_DEPENDENCIES) 
+       @rm -f test-areadlink$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_areadlink_OBJECTS) $(test_areadlink_LDADD) $(LIBS)
 test-argmatch$(EXEEXT): $(test_argmatch_OBJECTS) $(test_argmatch_DEPENDENCIES) $(EXTRA_test_argmatch_DEPENDENCIES) 
        @rm -f test-argmatch$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_argmatch_OBJECTS) $(test_argmatch_LDADD) $(LIBS)
@@ -1994,6 +2306,9 @@ test-c-strcasecmp$(EXEEXT): $(test_c_strcasecmp_OBJECTS) $(test_c_strcasecmp_DEP
 test-c-strncasecmp$(EXEEXT): $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_DEPENDENCIES) $(EXTRA_test_c_strncasecmp_DEPENDENCIES) 
        @rm -f test-c-strncasecmp$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_LDADD) $(LIBS)
+test-close$(EXEEXT): $(test_close_OBJECTS) $(test_close_DEPENDENCIES) $(EXTRA_test_close_DEPENDENCIES) 
+       @rm -f test-close$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_close_OBJECTS) $(test_close_LDADD) $(LIBS)
 test-dirname$(EXEEXT): $(test_dirname_OBJECTS) $(test_dirname_DEPENDENCIES) $(EXTRA_test_dirname_DEPENDENCIES) 
        @rm -f test-dirname$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_dirname_OBJECTS) $(test_dirname_LDADD) $(LIBS)
@@ -2015,6 +2330,12 @@ test-fcntl$(EXEEXT): $(test_fcntl_OBJECTS) $(test_fcntl_DEPENDENCIES) $(EXTRA_te
 test-fcntl-h$(EXEEXT): $(test_fcntl_h_OBJECTS) $(test_fcntl_h_DEPENDENCIES) $(EXTRA_test_fcntl_h_DEPENDENCIES) 
        @rm -f test-fcntl-h$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_fcntl_h_OBJECTS) $(test_fcntl_h_LDADD) $(LIBS)
+test-fdopen$(EXEEXT): $(test_fdopen_OBJECTS) $(test_fdopen_DEPENDENCIES) $(EXTRA_test_fdopen_DEPENDENCIES) 
+       @rm -f test-fdopen$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_fdopen_OBJECTS) $(test_fdopen_LDADD) $(LIBS)
+test-fgetc$(EXEEXT): $(test_fgetc_OBJECTS) $(test_fgetc_DEPENDENCIES) $(EXTRA_test_fgetc_DEPENDENCIES) 
+       @rm -f test-fgetc$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_fgetc_OBJECTS) $(test_fgetc_LDADD) $(LIBS)
 test-filenamecat$(EXEEXT): $(test_filenamecat_OBJECTS) $(test_filenamecat_DEPENDENCIES) $(EXTRA_test_filenamecat_DEPENDENCIES) 
        @rm -f test-filenamecat$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_filenamecat_OBJECTS) $(test_filenamecat_LDADD) $(LIBS)
@@ -2024,12 +2345,24 @@ test-float$(EXEEXT): $(test_float_OBJECTS) $(test_float_DEPENDENCIES) $(EXTRA_te
 test-fnmatch$(EXEEXT): $(test_fnmatch_OBJECTS) $(test_fnmatch_DEPENDENCIES) $(EXTRA_test_fnmatch_DEPENDENCIES) 
        @rm -f test-fnmatch$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_fnmatch_OBJECTS) $(test_fnmatch_LDADD) $(LIBS)
+test-fputc$(EXEEXT): $(test_fputc_OBJECTS) $(test_fputc_DEPENDENCIES) $(EXTRA_test_fputc_DEPENDENCIES) 
+       @rm -f test-fputc$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_fputc_OBJECTS) $(test_fputc_LDADD) $(LIBS)
+test-fread$(EXEEXT): $(test_fread_OBJECTS) $(test_fread_DEPENDENCIES) $(EXTRA_test_fread_DEPENDENCIES) 
+       @rm -f test-fread$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_fread_OBJECTS) $(test_fread_LDADD) $(LIBS)
 test-freopen$(EXEEXT): $(test_freopen_OBJECTS) $(test_freopen_DEPENDENCIES) $(EXTRA_test_freopen_DEPENDENCIES) 
        @rm -f test-freopen$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_freopen_OBJECTS) $(test_freopen_LDADD) $(LIBS)
 test-freopen-safer$(EXEEXT): $(test_freopen_safer_OBJECTS) $(test_freopen_safer_DEPENDENCIES) $(EXTRA_test_freopen_safer_DEPENDENCIES) 
        @rm -f test-freopen-safer$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_freopen_safer_OBJECTS) $(test_freopen_safer_LDADD) $(LIBS)
+test-fstat$(EXEEXT): $(test_fstat_OBJECTS) $(test_fstat_DEPENDENCIES) $(EXTRA_test_fstat_DEPENDENCIES) 
+       @rm -f test-fstat$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_fstat_OBJECTS) $(test_fstat_LDADD) $(LIBS)
+test-fwrite$(EXEEXT): $(test_fwrite_OBJECTS) $(test_fwrite_DEPENDENCIES) $(EXTRA_test_fwrite_DEPENDENCIES) 
+       @rm -f test-fwrite$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_fwrite_OBJECTS) $(test_fwrite_LDADD) $(LIBS)
 test-getcwd-lgpl$(EXEEXT): $(test_getcwd_lgpl_OBJECTS) $(test_getcwd_lgpl_DEPENDENCIES) $(EXTRA_test_getcwd_lgpl_DEPENDENCIES) 
        @rm -f test-getcwd-lgpl$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_getcwd_lgpl_OBJECTS) $(test_getcwd_lgpl_LDADD) $(LIBS)
@@ -2072,6 +2405,9 @@ test-langinfo$(EXEEXT): $(test_langinfo_OBJECTS) $(test_langinfo_DEPENDENCIES) $
 test-locale$(EXEEXT): $(test_locale_OBJECTS) $(test_locale_DEPENDENCIES) $(EXTRA_test_locale_DEPENDENCIES) 
        @rm -f test-locale$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_locale_OBJECTS) $(test_locale_LDADD) $(LIBS)
+test-localeconv$(EXEEXT): $(test_localeconv_OBJECTS) $(test_localeconv_DEPENDENCIES) $(EXTRA_test_localeconv_DEPENDENCIES) 
+       @rm -f test-localeconv$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_localeconv_OBJECTS) $(test_localeconv_LDADD) $(LIBS)
 test-lstat$(EXEEXT): $(test_lstat_OBJECTS) $(test_lstat_DEPENDENCIES) $(EXTRA_test_lstat_DEPENDENCIES) 
        @rm -f test-lstat$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_lstat_OBJECTS) $(test_lstat_LDADD) $(LIBS)
@@ -2114,9 +2450,21 @@ test-nl_langinfo$(EXEEXT): $(test_nl_langinfo_OBJECTS) $(test_nl_langinfo_DEPEND
 test-open$(EXEEXT): $(test_open_OBJECTS) $(test_open_DEPENDENCIES) $(EXTRA_test_open_DEPENDENCIES) 
        @rm -f test-open$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_open_OBJECTS) $(test_open_LDADD) $(LIBS)
+test-pathmax$(EXEEXT): $(test_pathmax_OBJECTS) $(test_pathmax_DEPENDENCIES) $(EXTRA_test_pathmax_DEPENDENCIES) 
+       @rm -f test-pathmax$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_pathmax_OBJECTS) $(test_pathmax_LDADD) $(LIBS)
 test-quotearg-simple$(EXEEXT): $(test_quotearg_simple_OBJECTS) $(test_quotearg_simple_DEPENDENCIES) $(EXTRA_test_quotearg_simple_DEPENDENCIES) 
        @rm -f test-quotearg-simple$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_quotearg_simple_OBJECTS) $(test_quotearg_simple_LDADD) $(LIBS)
+test-raise$(EXEEXT): $(test_raise_OBJECTS) $(test_raise_DEPENDENCIES) $(EXTRA_test_raise_DEPENDENCIES) 
+       @rm -f test-raise$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_raise_OBJECTS) $(test_raise_LDADD) $(LIBS)
+test-readlink$(EXEEXT): $(test_readlink_OBJECTS) $(test_readlink_DEPENDENCIES) $(EXTRA_test_readlink_DEPENDENCIES) 
+       @rm -f test-readlink$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_readlink_OBJECTS) $(test_readlink_LDADD) $(LIBS)
+test-regex$(EXEEXT): $(test_regex_OBJECTS) $(test_regex_DEPENDENCIES) $(EXTRA_test_regex_DEPENDENCIES) 
+       @rm -f test-regex$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_regex_OBJECTS) $(test_regex_LDADD) $(LIBS)
 test-setenv$(EXEEXT): $(test_setenv_OBJECTS) $(test_setenv_DEPENDENCIES) $(EXTRA_test_setenv_DEPENDENCIES) 
        @rm -f test-setenv$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_setenv_OBJECTS) $(test_setenv_LDADD) $(LIBS)
@@ -2126,12 +2474,15 @@ test-setlocale1$(EXEEXT): $(test_setlocale1_OBJECTS) $(test_setlocale1_DEPENDENC
 test-setlocale2$(EXEEXT): $(test_setlocale2_OBJECTS) $(test_setlocale2_DEPENDENCIES) $(EXTRA_test_setlocale2_DEPENDENCIES) 
        @rm -f test-setlocale2$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_setlocale2_OBJECTS) $(test_setlocale2_LDADD) $(LIBS)
+test-sh-quote$(EXEEXT): $(test_sh_quote_OBJECTS) $(test_sh_quote_DEPENDENCIES) $(EXTRA_test_sh_quote_DEPENDENCIES) 
+       @rm -f test-sh-quote$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_sh_quote_OBJECTS) $(test_sh_quote_LDADD) $(LIBS)
 test-sigaction$(EXEEXT): $(test_sigaction_OBJECTS) $(test_sigaction_DEPENDENCIES) $(EXTRA_test_sigaction_DEPENDENCIES) 
        @rm -f test-sigaction$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_sigaction_OBJECTS) $(test_sigaction_LDADD) $(LIBS)
-test-signal$(EXEEXT): $(test_signal_OBJECTS) $(test_signal_DEPENDENCIES) $(EXTRA_test_signal_DEPENDENCIES) 
-       @rm -f test-signal$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(test_signal_OBJECTS) $(test_signal_LDADD) $(LIBS)
+test-signal-h$(EXEEXT): $(test_signal_h_OBJECTS) $(test_signal_h_DEPENDENCIES) $(EXTRA_test_signal_h_DEPENDENCIES) 
+       @rm -f test-signal-h$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_signal_h_OBJECTS) $(test_signal_h_LDADD) $(LIBS)
 test-sigprocmask$(EXEEXT): $(test_sigprocmask_OBJECTS) $(test_sigprocmask_DEPENDENCIES) $(EXTRA_test_sigprocmask_DEPENDENCIES) 
        @rm -f test-sigprocmask$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_sigprocmask_OBJECTS) $(test_sigprocmask_LDADD) $(LIBS)
@@ -2180,6 +2531,9 @@ test-strings$(EXEEXT): $(test_strings_OBJECTS) $(test_strings_DEPENDENCIES) $(EX
 test-strnlen$(EXEEXT): $(test_strnlen_OBJECTS) $(test_strnlen_DEPENDENCIES) $(EXTRA_test_strnlen_DEPENDENCIES) 
        @rm -f test-strnlen$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_strnlen_OBJECTS) $(test_strnlen_LDADD) $(LIBS)
+test-strtoull$(EXEEXT): $(test_strtoull_OBJECTS) $(test_strtoull_DEPENDENCIES) $(EXTRA_test_strtoull_DEPENDENCIES) 
+       @rm -f test-strtoull$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_strtoull_OBJECTS) $(test_strtoull_LDADD) $(LIBS)
 test-strtoumax$(EXEEXT): $(test_strtoumax_OBJECTS) $(test_strtoumax_DEPENDENCIES) $(EXTRA_test_strtoumax_DEPENDENCIES) 
        @rm -f test-strtoumax$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_strtoumax_OBJECTS) $(test_strtoumax_LDADD) $(LIBS)
@@ -2192,6 +2546,9 @@ test-sys_stat$(EXEEXT): $(test_sys_stat_OBJECTS) $(test_sys_stat_DEPENDENCIES) $
 test-sys_time$(EXEEXT): $(test_sys_time_OBJECTS) $(test_sys_time_DEPENDENCIES) $(EXTRA_test_sys_time_DEPENDENCIES) 
        @rm -f test-sys_time$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_sys_time_OBJECTS) $(test_sys_time_LDADD) $(LIBS)
+test-sys_types$(EXEEXT): $(test_sys_types_OBJECTS) $(test_sys_types_DEPENDENCIES) $(EXTRA_test_sys_types_DEPENDENCIES) 
+       @rm -f test-sys_types$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_sys_types_OBJECTS) $(test_sys_types_LDADD) $(LIBS)
 test-sys_wait$(EXEEXT): $(test_sys_wait_OBJECTS) $(test_sys_wait_DEPENDENCIES) $(EXTRA_test_sys_wait_DEPENDENCIES) 
        @rm -f test-sys_wait$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_sys_wait_OBJECTS) $(test_sys_wait_LDADD) $(LIBS)
@@ -2242,6 +2599,9 @@ test-usleep$(EXEEXT): $(test_usleep_OBJECTS) $(test_usleep_DEPENDENCIES) $(EXTRA
 test-vasnprintf$(EXEEXT): $(test_vasnprintf_OBJECTS) $(test_vasnprintf_DEPENDENCIES) $(EXTRA_test_vasnprintf_DEPENDENCIES) 
        @rm -f test-vasnprintf$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_vasnprintf_OBJECTS) $(test_vasnprintf_LDADD) $(LIBS)
+test-vasprintf$(EXEEXT): $(test_vasprintf_OBJECTS) $(test_vasprintf_DEPENDENCIES) $(EXTRA_test_vasprintf_DEPENDENCIES) 
+       @rm -f test-vasprintf$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_vasprintf_OBJECTS) $(test_vasprintf_LDADD) $(LIBS)
 test-verify$(EXEEXT): $(test_verify_OBJECTS) $(test_verify_DEPENDENCIES) $(EXTRA_test_verify_DEPENDENCIES) 
        @rm -f test-verify$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_verify_OBJECTS) $(test_verify_LDADD) $(LIBS)
@@ -2275,25 +2635,23 @@ test-xstrtoul$(EXEEXT): $(test_xstrtoul_OBJECTS) $(test_xstrtoul_DEPENDENCIES) $
 test-xstrtoumax$(EXEEXT): $(test_xstrtoumax_OBJECTS) $(test_xstrtoumax_DEPENDENCIES) $(EXTRA_test_xstrtoumax_DEPENDENCIES) 
        @rm -f test-xstrtoumax$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(test_xstrtoumax_OBJECTS) $(test_xstrtoumax_LDADD) $(LIBS)
+test-xvasprintf$(EXEEXT): $(test_xvasprintf_OBJECTS) $(test_xvasprintf_DEPENDENCIES) $(EXTRA_test_xvasprintf_DEPENDENCIES) 
+       @rm -f test-xvasprintf$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(test_xvasprintf_OBJECTS) $(test_xvasprintf_LDADD) $(LIBS)
 
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
-       -rm -f unistr/test-u8-mbtoucr.$(OBJEXT)
-       -rm -f unistr/test-u8-uctomb.$(OBJEXT)
-       -rm -f uniwidth/test-uc_width.$(OBJEXT)
-       -rm -f uniwidth/test-uc_width2.$(OBJEXT)
+       -rm -f unistr/*.$(OBJEXT)
+       -rm -f uniwidth/*.$(OBJEXT)
 
 distclean-compile:
        -rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argmatch.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asnprintf.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/float.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdopen.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getcwd-lgpl.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpagesize.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash-pjw.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-args.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-parse.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/putenv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setenv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setlocale.Po@am__quote@
@@ -2301,6 +2659,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlink.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-alloca-opt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-areadlink.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-argmatch.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-binary-io.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-bitrotate.Po@am__quote@
@@ -2309,6 +2668,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-stack.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strcasecmp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strncasecmp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-close.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dirname.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dup2.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-environ.Po@am__quote@
@@ -2316,11 +2676,17 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-exclude.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fcntl-h.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fcntl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fdopen.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fgetc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-filenamecat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-float.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fnmatch.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fputc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fread.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-freopen-safer.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-freopen.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fstat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fwrite.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getcwd-lgpl.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getdtablesize.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getopt.Po@am__quote@
@@ -2335,6 +2701,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-iswblank.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-langinfo.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-locale.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-localeconv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lstat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-malloc-gnu.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-malloca.Po@am__quote@
@@ -2349,12 +2716,17 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-memchr.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-nl_langinfo.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-open.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pathmax.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-quotearg-simple.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-raise.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-readlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-regex.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setenv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale1.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sh-quote.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sigaction.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signal-h.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sigprocmask.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sleep.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-snprintf.Po@am__quote@
@@ -2371,16 +2743,19 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-string.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strings.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strnlen.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strtoull.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strtoumax.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-symlink.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_stat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_time.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_types.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_wait.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-time.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unistd.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unsetenv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-usleep.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-vasnprintf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-vasprintf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-verify.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-version-etc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wchar.Po@am__quote@
@@ -2392,9 +2767,9 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xstrtol.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xstrtoul.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xstrtoumax.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xvasprintf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usleep.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vasnprintf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wctob.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wctomb.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u8-mbtoucr.Po@am__quote@
@@ -2419,12 +2794,12 @@ distclean-compile:
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
        @fail= failcom='exit 1'; \
        for f in x $$MAKEFLAGS; do \
          case $$f in \
@@ -2434,7 +2809,11 @@ $(RECURSIVE_TARGETS):
        done; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
          echo "Making $$target in $$subdir"; \
          if test "$$subdir" = "."; then \
            dot_seen=yes; \
@@ -2449,61 +2828,12 @@ $(RECURSIVE_TARGETS):
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
 
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-cscopelist-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
-       done
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
        if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -2519,12 +2849,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -2536,15 +2861,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -2553,9 +2874,10 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
 
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
        case "$(srcdir)" in \
          [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          *) sdir=$(subdir)/$(srcdir) ;; \
@@ -2571,375 +2893,1141 @@ cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# exand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+       @:
+
 $(TEST_SUITE_LOG): $(TEST_LOGS)
-       @$(am__sh_e_setup);                                             \
-       list='$(TEST_LOGS)';                                            \
-       results=`for f in $$list; do                                    \
-                  test -r $$f && read line < $$f && echo "$$line"      \
-                    || echo FAIL;                                      \
-                done`;                                                 \
-       all=`echo "$$results" | sed '/^$$/d' | wc -l | sed -e 's/^[      ]*//'`; \
-       fail=`echo "$$results" | grep -c '^FAIL'`;                      \
-       pass=`echo "$$results" | grep -c '^PASS'`;                      \
-       skip=`echo "$$results" | grep -c '^SKIP'`;                      \
-       xfail=`echo "$$results" | grep -c '^XFAIL'`;                    \
-       xpass=`echo "$$results" | grep -c '^XPASS'`;                    \
-       failures=`expr $$fail + $$xpass`;                               \
-       all=`expr $$all - $$skip`;                                      \
-       if test "$$all" -eq 1; then tests=test; All=;                   \
-       else tests=tests; All="All "; fi;                               \
-       case fail=$$fail:xpass=$$xpass:xfail=$$xfail in                 \
-         fail=0:xpass=0:xfail=0)                                       \
-           msg="$$All$$all $$tests passed.  ";                         \
-           exit=true;;                                                 \
-         fail=0:xpass=0:xfail=*)                                       \
-           msg="$$All$$all $$tests behaved as expected";               \
-           if test "$$xfail" -eq 1; then xfailures=failure;            \
-           else xfailures=failures; fi;                                \
-           msg="$$msg ($$xfail expected $$xfailures).  ";              \
-           exit=true;;                                                 \
-         fail=*:xpass=0:xfail=*)                                       \
-           msg="$$fail of $$all $$tests failed.  ";                    \
-           exit=false;;                                                \
-         fail=*:xpass=*:xfail=*)                                       \
-           msg="$$failures of $$all $$tests did not behave as expected"; \
-           if test "$$xpass" -eq 1; then xpasses=pass;                 \
-           else xpasses=passes; fi;                                    \
-           msg="$$msg ($$xpass unexpected $$xpasses).  ";              \
-           exit=false;;                                                \
-         *)                                                            \
-           echo >&2 "incorrect case"; exit 4;;                         \
-       esac;                                                           \
-       if test "$$skip" -ne 0; then                                    \
-         if test "$$skip" -eq 1; then                                  \
-           msg="$$msg($$skip test was not run).  ";                    \
-         else                                                          \
-           msg="$$msg($$skip tests were not run).  ";                  \
-         fi;                                                           \
-       fi;                                                             \
+       @$(am__set_TESTS_bases); \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+                   done`; \
+       if test -n "$$redo_bases"; then \
+         redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+         redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+         if $(am__make_dryrun); then :; else \
+           rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+         fi; \
+       fi; \
+       if test -n "$$am__remaking_logs"; then \
+         echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+              "recursion detected" >&2; \
+       else \
+         am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+       fi; \
+       if $(am__make_dryrun); then :; else \
+         st=0;  \
+         errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+         for i in $$redo_bases; do \
+           test -f $$i.trs && test -r $$i.trs \
+             || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+           test -f $$i.log && test -r $$i.log \
+             || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+         done; \
+         test $$st -eq 0 || exit 1; \
+       fi
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
+       results=`for b in $$bases; do echo $$b.trs; done`; \
+       test -n "$$results" || results=/dev/null; \
+       all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+       pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+       fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+       skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+       xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+       xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+       error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+       if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+         success=true; \
+       else \
+         success=false; \
+       fi; \
+       br='==================='; br=$$br$$br$$br$$br; \
+       result_count () \
+       { \
+           if test x"$$1" = x"--maybe-color"; then \
+             maybe_colorize=yes; \
+           elif test x"$$1" = x"--no-color"; then \
+             maybe_colorize=no; \
+           else \
+             echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+           fi; \
+           shift; \
+           desc=$$1 count=$$2; \
+           if test $$maybe_colorize = yes && test $$count -gt 0; then \
+             color_start=$$3 color_end=$$std; \
+           else \
+             color_start= color_end=; \
+           fi; \
+           echo "$${color_start}# $$desc $$count$${color_end}"; \
+       }; \
+       create_testsuite_report () \
+       { \
+         result_count $$1 "TOTAL:" $$all   "$$brg"; \
+         result_count $$1 "PASS: " $$pass  "$$grn"; \
+         result_count $$1 "SKIP: " $$skip  "$$blu"; \
+         result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+         result_count $$1 "FAIL: " $$fail  "$$red"; \
+         result_count $$1 "XPASS:" $$xpass "$$red"; \
+         result_count $$1 "ERROR:" $$error "$$mgn"; \
+       }; \
        {                                                               \
          echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |       \
            $(am__rst_title);                                           \
-         echo "$$msg";                                                 \
+         create_testsuite_report --no-color;                           \
          echo;                                                         \
          echo ".. contents:: :depth: 2";                               \
          echo;                                                         \
-         for f in $$list; do                                           \
-           test -r $$f && read line < $$f || line=;                    \
-           case $$line in                                              \
-             PASS:*|XFAIL:*);;                                         \
-             *) echo; cat $$f;;                                        \
-           esac;                                                       \
-         done;                                                         \
-       } >$(TEST_SUITE_LOG).tmp;                                       \
+         for b in $$bases; do echo $$b; done                           \
+           | $(am__create_global_log);                                 \
+       } >$(TEST_SUITE_LOG).tmp || exit 1;                             \
        mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
-       if test "$$failures" -ne 0; then                                \
-         msg="$${msg}See $(subdir)/$(TEST_SUITE_LOG).  ";              \
-         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
-           msg="$${msg}Please report to $(PACKAGE_BUGREPORT).  ";      \
-         fi;                                                           \
-       fi;                                                             \
-       test x"$$VERBOSE" = x || $$exit || cat $(TEST_SUITE_LOG);       \
-       $(am__tty_colors);                                              \
-       if $$exit; then                                                 \
+       if $$success; then                                              \
          col="$$grn";                                                  \
         else                                                           \
          col="$$red";                                                  \
+         test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);               \
+       fi;                                                             \
+       echo "$${col}$$br$${std}";                                      \
+       echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";   \
+       echo "$${col}$$br$${std}";                                      \
+       create_testsuite_report --maybe-color;                          \
+       echo "$$col$$br$$std";                                          \
+       if $$success; then :; else                                      \
+         echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";         \
+         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
+           echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+         fi;                                                           \
+         echo "$$col$$br$$std";                                        \
        fi;                                                             \
-       echo "$$msg" | $(am__text_box) "col=$$col" "std=$$std";         \
-       $$exit
+       $$success || exit 1
 
-# Run all the tests.
 check-TESTS:
-       @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
+       @list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+       @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
        @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-       @list='$(TEST_LOGS)';                                           \
-       list=`for f in $$list; do                                       \
-         test .log = $$f || echo $$f;                                  \
-       done | tr '\012\015' '  '`;                                     \
-       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list"
-
-.log.html:
-       @list='$(RST2HTML) $$RST2HTML rst2html rst2html.py';            \
-       for r2h in $$list; do                                           \
-         if ($$r2h --version) >/dev/null 2>&1; then                    \
-           R2H=$$r2h;                                                  \
-         fi;                                                           \
-       done;                                                           \
-       if test -z "$$R2H"; then                                        \
-         echo >&2 "cannot find rst2html, cannot create $@";            \
-         exit 2;                                                       \
-       fi;                                                             \
-       $$R2H $< >$@.tmp
-       @mv $@.tmp $@
-
-# Be sure to run check first, and then to convert the result.
-# Beware of concurrent executions.  Run "check" not "check-TESTS", as
-# check-SCRIPTS and other dependencies are rebuilt by the former only.
-# And expect check to fail.
-check-html:
-       @if $(MAKE) $(AM_MAKEFLAGS) check; then                 \
-         rv=0; else rv=$$?;                                    \
-       fi;                                                     \
-       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_HTML) || exit 4;   \
-       exit $$rv
-recheck recheck-html:
-       @target=`echo $@ | sed 's,^re,,'`;                              \
-       list='$(TEST_LOGS)';                                            \
-       list=`for f in $$list; do                                       \
-               test -f $$f || continue;                                \
-               if test -r $$f && read line < $$f; then                 \
-                 case $$line in FAIL*|XPASS*) echo $$f;; esac;         \
-               else echo $$f; fi;                                      \
-             done | tr '\012\015' '  '`;                               \
-       list=`echo "$$list" | sed 's/ *$$//'`;                          \
-       $(MAKE) $(AM_MAKEFLAGS) $$target AM_MAKEFLAGS='$(AM_MAKEFLAGS) TEST_LOGS="'"$$list"'"'
+       @set +e; $(am__set_TESTS_bases); \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+       log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+       exit $$?;
+recheck: all $(check_LIBRARIES) $(check_PROGRAMS)
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       bases=`for i in $$bases; do echo $$i; done \
+                | $(am__list_recheck_tests)` || exit 1; \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       log_list=`echo $$log_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+               am__force_recheck=am--force-recheck \
+               TEST_LOGS="$$log_list"; \
+       exit $$?
 test-alloca-opt.log: test-alloca-opt$(EXEEXT)
-       @p='test-alloca-opt$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-alloca-opt$(EXEEXT)'; \
+       b='test-alloca-opt'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-areadlink.log: test-areadlink$(EXEEXT)
+       @p='test-areadlink$(EXEEXT)'; \
+       b='test-areadlink'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-argmatch.log: test-argmatch$(EXEEXT)
-       @p='test-argmatch$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-argmatch$(EXEEXT)'; \
+       b='test-argmatch'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-binary-io.sh.log: test-binary-io.sh
-       @p='test-binary-io.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-binary-io.sh'; \
+       b='test-binary-io.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-bitrotate.log: test-bitrotate$(EXEEXT)
-       @p='test-bitrotate$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-bitrotate$(EXEEXT)'; \
+       b='test-bitrotate'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-btowc1.sh.log: test-btowc1.sh
-       @p='test-btowc1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-btowc1.sh'; \
+       b='test-btowc1.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-btowc2.sh.log: test-btowc2.sh
-       @p='test-btowc2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-btowc2.sh'; \
+       b='test-btowc2.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-c-ctype.log: test-c-ctype$(EXEEXT)
-       @p='test-c-ctype$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-c-ctype$(EXEEXT)'; \
+       b='test-c-ctype'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-c-stack.sh.log: test-c-stack.sh
-       @p='test-c-stack.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-c-stack.sh'; \
+       b='test-c-stack.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-c-stack2.sh.log: test-c-stack2.sh
-       @p='test-c-stack2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-c-stack2.sh'; \
+       b='test-c-stack2.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-c-strcase.sh.log: test-c-strcase.sh
-       @p='test-c-strcase.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-c-strcase.sh'; \
+       b='test-c-strcase.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-close.log: test-close$(EXEEXT)
+       @p='test-close$(EXEEXT)'; \
+       b='test-close'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-dirname.log: test-dirname$(EXEEXT)
-       @p='test-dirname$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-dirname$(EXEEXT)'; \
+       b='test-dirname'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-dup2.log: test-dup2$(EXEEXT)
-       @p='test-dup2$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-dup2$(EXEEXT)'; \
+       b='test-dup2'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-environ.log: test-environ$(EXEEXT)
-       @p='test-environ$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-environ$(EXEEXT)'; \
+       b='test-environ'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-errno.log: test-errno$(EXEEXT)
-       @p='test-errno$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-errno$(EXEEXT)'; \
+       b='test-errno'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-exclude1.sh.log: test-exclude1.sh
-       @p='test-exclude1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-exclude1.sh'; \
+       b='test-exclude1.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-exclude2.sh.log: test-exclude2.sh
-       @p='test-exclude2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-exclude2.sh'; \
+       b='test-exclude2.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-exclude3.sh.log: test-exclude3.sh
-       @p='test-exclude3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-exclude3.sh'; \
+       b='test-exclude3.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-exclude4.sh.log: test-exclude4.sh
-       @p='test-exclude4.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-exclude4.sh'; \
+       b='test-exclude4.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-exclude5.sh.log: test-exclude5.sh
-       @p='test-exclude5.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-exclude5.sh'; \
+       b='test-exclude5.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-exclude6.sh.log: test-exclude6.sh
-       @p='test-exclude6.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-exclude6.sh'; \
+       b='test-exclude6.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-exclude7.sh.log: test-exclude7.sh
-       @p='test-exclude7.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-exclude7.sh'; \
+       b='test-exclude7.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-exclude8.sh.log: test-exclude8.sh
-       @p='test-exclude8.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-exclude8.sh'; \
+       b='test-exclude8.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-fcntl-h.log: test-fcntl-h$(EXEEXT)
-       @p='test-fcntl-h$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-fcntl-h$(EXEEXT)'; \
+       b='test-fcntl-h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-fcntl.log: test-fcntl$(EXEEXT)
-       @p='test-fcntl$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-fcntl$(EXEEXT)'; \
+       b='test-fcntl'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fdopen.log: test-fdopen$(EXEEXT)
+       @p='test-fdopen$(EXEEXT)'; \
+       b='test-fdopen'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fgetc.log: test-fgetc$(EXEEXT)
+       @p='test-fgetc$(EXEEXT)'; \
+       b='test-fgetc'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-filenamecat.log: test-filenamecat$(EXEEXT)
-       @p='test-filenamecat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-filenamecat$(EXEEXT)'; \
+       b='test-filenamecat'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-float.log: test-float$(EXEEXT)
-       @p='test-float$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-float$(EXEEXT)'; \
+       b='test-float'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-fnmatch.log: test-fnmatch$(EXEEXT)
-       @p='test-fnmatch$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-fnmatch$(EXEEXT)'; \
+       b='test-fnmatch'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fputc.log: test-fputc$(EXEEXT)
+       @p='test-fputc$(EXEEXT)'; \
+       b='test-fputc'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fread.log: test-fread$(EXEEXT)
+       @p='test-fread$(EXEEXT)'; \
+       b='test-fread'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-freopen-safer.log: test-freopen-safer$(EXEEXT)
-       @p='test-freopen-safer$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-freopen-safer$(EXEEXT)'; \
+       b='test-freopen-safer'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-freopen.log: test-freopen$(EXEEXT)
-       @p='test-freopen$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-freopen$(EXEEXT)'; \
+       b='test-freopen'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fstat.log: test-fstat$(EXEEXT)
+       @p='test-fstat$(EXEEXT)'; \
+       b='test-fstat'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fwrite.log: test-fwrite$(EXEEXT)
+       @p='test-fwrite$(EXEEXT)'; \
+       b='test-fwrite'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-getcwd-lgpl.log: test-getcwd-lgpl$(EXEEXT)
-       @p='test-getcwd-lgpl$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-getcwd-lgpl$(EXEEXT)'; \
+       b='test-getcwd-lgpl'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-getdtablesize.log: test-getdtablesize$(EXEEXT)
-       @p='test-getdtablesize$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-getdtablesize$(EXEEXT)'; \
+       b='test-getdtablesize'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-getopt.log: test-getopt$(EXEEXT)
-       @p='test-getopt$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-getopt$(EXEEXT)'; \
+       b='test-getopt'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-gettimeofday.log: test-gettimeofday$(EXEEXT)
-       @p='test-gettimeofday$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-gettimeofday$(EXEEXT)'; \
+       b='test-gettimeofday'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-hash.log: test-hash$(EXEEXT)
-       @p='test-hash$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-hash$(EXEEXT)'; \
+       b='test-hash'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-iconv-h.log: test-iconv-h$(EXEEXT)
-       @p='test-iconv-h$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-iconv-h$(EXEEXT)'; \
+       b='test-iconv-h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-iconv.log: test-iconv$(EXEEXT)
-       @p='test-iconv$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-iconv$(EXEEXT)'; \
+       b='test-iconv'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-ignore-value.log: test-ignore-value$(EXEEXT)
-       @p='test-ignore-value$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-ignore-value$(EXEEXT)'; \
+       b='test-ignore-value'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-intprops.log: test-intprops$(EXEEXT)
-       @p='test-intprops$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-intprops$(EXEEXT)'; \
+       b='test-intprops'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-inttostr.log: test-inttostr$(EXEEXT)
-       @p='test-inttostr$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-inttostr$(EXEEXT)'; \
+       b='test-inttostr'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-inttypes.log: test-inttypes$(EXEEXT)
-       @p='test-inttypes$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-inttypes$(EXEEXT)'; \
+       b='test-inttypes'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-iswblank.log: test-iswblank$(EXEEXT)
-       @p='test-iswblank$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-iswblank$(EXEEXT)'; \
+       b='test-iswblank'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-langinfo.log: test-langinfo$(EXEEXT)
-       @p='test-langinfo$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-langinfo$(EXEEXT)'; \
+       b='test-langinfo'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-locale.log: test-locale$(EXEEXT)
-       @p='test-locale$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-locale$(EXEEXT)'; \
+       b='test-locale'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-localeconv.log: test-localeconv$(EXEEXT)
+       @p='test-localeconv$(EXEEXT)'; \
+       b='test-localeconv'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-lstat.log: test-lstat$(EXEEXT)
-       @p='test-lstat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-lstat$(EXEEXT)'; \
+       b='test-lstat'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-malloc-gnu.log: test-malloc-gnu$(EXEEXT)
-       @p='test-malloc-gnu$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-malloc-gnu$(EXEEXT)'; \
+       b='test-malloc-gnu'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-malloca.log: test-malloca$(EXEEXT)
-       @p='test-malloca$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-malloca$(EXEEXT)'; \
+       b='test-malloca'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbrtowc1.sh.log: test-mbrtowc1.sh
-       @p='test-mbrtowc1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbrtowc1.sh'; \
+       b='test-mbrtowc1.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbrtowc2.sh.log: test-mbrtowc2.sh
-       @p='test-mbrtowc2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbrtowc2.sh'; \
+       b='test-mbrtowc2.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbrtowc3.sh.log: test-mbrtowc3.sh
-       @p='test-mbrtowc3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbrtowc3.sh'; \
+       b='test-mbrtowc3.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbrtowc4.sh.log: test-mbrtowc4.sh
-       @p='test-mbrtowc4.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbrtowc4.sh'; \
+       b='test-mbrtowc4.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbrtowc-w32-1.sh.log: test-mbrtowc-w32-1.sh
-       @p='test-mbrtowc-w32-1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbrtowc-w32-1.sh'; \
+       b='test-mbrtowc-w32-1.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbrtowc-w32-2.sh.log: test-mbrtowc-w32-2.sh
-       @p='test-mbrtowc-w32-2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbrtowc-w32-2.sh'; \
+       b='test-mbrtowc-w32-2.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbrtowc-w32-3.sh.log: test-mbrtowc-w32-3.sh
-       @p='test-mbrtowc-w32-3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbrtowc-w32-3.sh'; \
+       b='test-mbrtowc-w32-3.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbrtowc-w32-4.sh.log: test-mbrtowc-w32-4.sh
-       @p='test-mbrtowc-w32-4.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbrtowc-w32-4.sh'; \
+       b='test-mbrtowc-w32-4.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbrtowc-w32-5.sh.log: test-mbrtowc-w32-5.sh
-       @p='test-mbrtowc-w32-5.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbrtowc-w32-5.sh'; \
+       b='test-mbrtowc-w32-5.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbscasecmp.sh.log: test-mbscasecmp.sh
-       @p='test-mbscasecmp.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbscasecmp.sh'; \
+       b='test-mbscasecmp.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbsinit.sh.log: test-mbsinit.sh
-       @p='test-mbsinit.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbsinit.sh'; \
+       b='test-mbsinit.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbsrtowcs1.sh.log: test-mbsrtowcs1.sh
-       @p='test-mbsrtowcs1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbsrtowcs1.sh'; \
+       b='test-mbsrtowcs1.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbsrtowcs2.sh.log: test-mbsrtowcs2.sh
-       @p='test-mbsrtowcs2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbsrtowcs2.sh'; \
+       b='test-mbsrtowcs2.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbsrtowcs3.sh.log: test-mbsrtowcs3.sh
-       @p='test-mbsrtowcs3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbsrtowcs3.sh'; \
+       b='test-mbsrtowcs3.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbsrtowcs4.sh.log: test-mbsrtowcs4.sh
-       @p='test-mbsrtowcs4.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbsrtowcs4.sh'; \
+       b='test-mbsrtowcs4.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbsstr1.log: test-mbsstr1$(EXEEXT)
-       @p='test-mbsstr1$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbsstr1$(EXEEXT)'; \
+       b='test-mbsstr1'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbsstr2.sh.log: test-mbsstr2.sh
-       @p='test-mbsstr2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbsstr2.sh'; \
+       b='test-mbsstr2.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-mbsstr3.sh.log: test-mbsstr3.sh
-       @p='test-mbsstr3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-mbsstr3.sh'; \
+       b='test-mbsstr3.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-memchr.log: test-memchr$(EXEEXT)
-       @p='test-memchr$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-memchr$(EXEEXT)'; \
+       b='test-memchr'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-nl_langinfo.sh.log: test-nl_langinfo.sh
-       @p='test-nl_langinfo.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-nl_langinfo.sh'; \
+       b='test-nl_langinfo.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-open.log: test-open$(EXEEXT)
-       @p='test-open$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-open$(EXEEXT)'; \
+       b='test-open'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-pathmax.log: test-pathmax$(EXEEXT)
+       @p='test-pathmax$(EXEEXT)'; \
+       b='test-pathmax'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-quotearg-simple.log: test-quotearg-simple$(EXEEXT)
-       @p='test-quotearg-simple$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-quotearg-simple$(EXEEXT)'; \
+       b='test-quotearg-simple'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-raise.log: test-raise$(EXEEXT)
+       @p='test-raise$(EXEEXT)'; \
+       b='test-raise'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-readlink.log: test-readlink$(EXEEXT)
+       @p='test-readlink$(EXEEXT)'; \
+       b='test-readlink'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-regex.log: test-regex$(EXEEXT)
+       @p='test-regex$(EXEEXT)'; \
+       b='test-regex'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-setenv.log: test-setenv$(EXEEXT)
-       @p='test-setenv$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-setenv$(EXEEXT)'; \
+       b='test-setenv'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-setlocale1.sh.log: test-setlocale1.sh
-       @p='test-setlocale1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-setlocale1.sh'; \
+       b='test-setlocale1.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-setlocale2.sh.log: test-setlocale2.sh
-       @p='test-setlocale2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-setlocale2.sh'; \
+       b='test-setlocale2.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-sh-quote.log: test-sh-quote$(EXEEXT)
+       @p='test-sh-quote$(EXEEXT)'; \
+       b='test-sh-quote'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-sigaction.log: test-sigaction$(EXEEXT)
-       @p='test-sigaction$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
-test-signal.log: test-signal$(EXEEXT)
-       @p='test-signal$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-sigaction$(EXEEXT)'; \
+       b='test-sigaction'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-signal-h.log: test-signal-h$(EXEEXT)
+       @p='test-signal-h$(EXEEXT)'; \
+       b='test-signal-h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-sigprocmask.log: test-sigprocmask$(EXEEXT)
-       @p='test-sigprocmask$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-sigprocmask$(EXEEXT)'; \
+       b='test-sigprocmask'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-sleep.log: test-sleep$(EXEEXT)
-       @p='test-sleep$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-sleep$(EXEEXT)'; \
+       b='test-sleep'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-snprintf.log: test-snprintf$(EXEEXT)
-       @p='test-snprintf$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-snprintf$(EXEEXT)'; \
+       b='test-snprintf'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-stat.log: test-stat$(EXEEXT)
-       @p='test-stat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-stat$(EXEEXT)'; \
+       b='test-stat'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-stat-time.log: test-stat-time$(EXEEXT)
-       @p='test-stat-time$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-stat-time$(EXEEXT)'; \
+       b='test-stat-time'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-stdbool.log: test-stdbool$(EXEEXT)
-       @p='test-stdbool$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-stdbool$(EXEEXT)'; \
+       b='test-stdbool'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-stddef.log: test-stddef$(EXEEXT)
-       @p='test-stddef$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-stddef$(EXEEXT)'; \
+       b='test-stddef'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-stdint.log: test-stdint$(EXEEXT)
-       @p='test-stdint$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-stdint$(EXEEXT)'; \
+       b='test-stdint'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-stdio.log: test-stdio$(EXEEXT)
-       @p='test-stdio$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-stdio$(EXEEXT)'; \
+       b='test-stdio'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-stdlib.log: test-stdlib$(EXEEXT)
-       @p='test-stdlib$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-stdlib$(EXEEXT)'; \
+       b='test-stdlib'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-strerror.log: test-strerror$(EXEEXT)
-       @p='test-strerror$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-strerror$(EXEEXT)'; \
+       b='test-strerror'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-strftime.log: test-strftime$(EXEEXT)
-       @p='test-strftime$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-strftime$(EXEEXT)'; \
+       b='test-strftime'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-striconv.log: test-striconv$(EXEEXT)
-       @p='test-striconv$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-striconv$(EXEEXT)'; \
+       b='test-striconv'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-string.log: test-string$(EXEEXT)
-       @p='test-string$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-string$(EXEEXT)'; \
+       b='test-string'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-strings.log: test-strings$(EXEEXT)
-       @p='test-strings$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-strings$(EXEEXT)'; \
+       b='test-strings'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-strnlen.log: test-strnlen$(EXEEXT)
-       @p='test-strnlen$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-strnlen$(EXEEXT)'; \
+       b='test-strnlen'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-strtoull.log: test-strtoull$(EXEEXT)
+       @p='test-strtoull$(EXEEXT)'; \
+       b='test-strtoull'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-strtoumax.log: test-strtoumax$(EXEEXT)
-       @p='test-strtoumax$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-strtoumax$(EXEEXT)'; \
+       b='test-strtoumax'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-symlink.log: test-symlink$(EXEEXT)
-       @p='test-symlink$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-symlink$(EXEEXT)'; \
+       b='test-symlink'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-sys_stat.log: test-sys_stat$(EXEEXT)
-       @p='test-sys_stat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-sys_stat$(EXEEXT)'; \
+       b='test-sys_stat'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-sys_time.log: test-sys_time$(EXEEXT)
-       @p='test-sys_time$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-sys_time$(EXEEXT)'; \
+       b='test-sys_time'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-sys_types.log: test-sys_types$(EXEEXT)
+       @p='test-sys_types$(EXEEXT)'; \
+       b='test-sys_types'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-sys_wait.log: test-sys_wait$(EXEEXT)
-       @p='test-sys_wait$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-sys_wait$(EXEEXT)'; \
+       b='test-sys_wait'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-init.sh.log: test-init.sh
+       @p='test-init.sh'; \
+       b='test-init.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-time.log: test-time$(EXEEXT)
-       @p='test-time$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-time$(EXEEXT)'; \
+       b='test-time'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-unistd.log: test-unistd$(EXEEXT)
-       @p='test-unistd$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-unistd$(EXEEXT)'; \
+       b='test-unistd'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-u8-mbtoucr.log: test-u8-mbtoucr$(EXEEXT)
-       @p='test-u8-mbtoucr$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-u8-mbtoucr$(EXEEXT)'; \
+       b='test-u8-mbtoucr'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-u8-uctomb.log: test-u8-uctomb$(EXEEXT)
-       @p='test-u8-uctomb$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-u8-uctomb$(EXEEXT)'; \
+       b='test-u8-uctomb'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-uc_width.log: test-uc_width$(EXEEXT)
-       @p='test-uc_width$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-uc_width$(EXEEXT)'; \
+       b='test-uc_width'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 uniwidth/test-uc_width2.sh.log: uniwidth/test-uc_width2.sh
-       @p='uniwidth/test-uc_width2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='uniwidth/test-uc_width2.sh'; \
+       b='uniwidth/test-uc_width2.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-unsetenv.log: test-unsetenv$(EXEEXT)
-       @p='test-unsetenv$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-unsetenv$(EXEEXT)'; \
+       b='test-unsetenv'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-update-copyright.sh.log: test-update-copyright.sh
-       @p='test-update-copyright.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-update-copyright.sh'; \
+       b='test-update-copyright.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-usleep.log: test-usleep$(EXEEXT)
-       @p='test-usleep$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-usleep$(EXEEXT)'; \
+       b='test-usleep'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-vasnprintf.log: test-vasnprintf$(EXEEXT)
-       @p='test-vasnprintf$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-vasnprintf$(EXEEXT)'; \
+       b='test-vasnprintf'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-vasprintf.log: test-vasprintf$(EXEEXT)
+       @p='test-vasprintf$(EXEEXT)'; \
+       b='test-vasprintf'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-vc-list-files-git.sh.log: test-vc-list-files-git.sh
-       @p='test-vc-list-files-git.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-vc-list-files-git.sh'; \
+       b='test-vc-list-files-git.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-vc-list-files-cvs.sh.log: test-vc-list-files-cvs.sh
-       @p='test-vc-list-files-cvs.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-vc-list-files-cvs.sh'; \
+       b='test-vc-list-files-cvs.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-verify.log: test-verify$(EXEEXT)
-       @p='test-verify$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-verify$(EXEEXT)'; \
+       b='test-verify'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-verify.sh.log: test-verify.sh
-       @p='test-verify.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-verify.sh'; \
+       b='test-verify.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-version-etc.sh.log: test-version-etc.sh
-       @p='test-version-etc.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-version-etc.sh'; \
+       b='test-version-etc.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-wchar.log: test-wchar$(EXEEXT)
-       @p='test-wchar$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-wchar$(EXEEXT)'; \
+       b='test-wchar'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-wcrtomb.sh.log: test-wcrtomb.sh
-       @p='test-wcrtomb.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-wcrtomb.sh'; \
+       b='test-wcrtomb.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-wcrtomb-w32-1.sh.log: test-wcrtomb-w32-1.sh
-       @p='test-wcrtomb-w32-1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-wcrtomb-w32-1.sh'; \
+       b='test-wcrtomb-w32-1.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-wcrtomb-w32-2.sh.log: test-wcrtomb-w32-2.sh
-       @p='test-wcrtomb-w32-2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-wcrtomb-w32-2.sh'; \
+       b='test-wcrtomb-w32-2.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-wcrtomb-w32-3.sh.log: test-wcrtomb-w32-3.sh
-       @p='test-wcrtomb-w32-3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-wcrtomb-w32-3.sh'; \
+       b='test-wcrtomb-w32-3.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-wcrtomb-w32-4.sh.log: test-wcrtomb-w32-4.sh
-       @p='test-wcrtomb-w32-4.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-wcrtomb-w32-4.sh'; \
+       b='test-wcrtomb-w32-4.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-wcrtomb-w32-5.sh.log: test-wcrtomb-w32-5.sh
-       @p='test-wcrtomb-w32-5.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-wcrtomb-w32-5.sh'; \
+       b='test-wcrtomb-w32-5.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-wctype-h.log: test-wctype-h$(EXEEXT)
-       @p='test-wctype-h$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-wctype-h$(EXEEXT)'; \
+       b='test-wctype-h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-wcwidth.log: test-wcwidth$(EXEEXT)
-       @p='test-wcwidth$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-wcwidth$(EXEEXT)'; \
+       b='test-wcwidth'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-xalloc-die.sh.log: test-xalloc-die.sh
-       @p='test-xalloc-die.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-xalloc-die.sh'; \
+       b='test-xalloc-die.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-xstrtol.sh.log: test-xstrtol.sh
-       @p='test-xstrtol.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-xstrtol.sh'; \
+       b='test-xstrtol.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 test-xstrtoumax.sh.log: test-xstrtoumax.sh
-       @p='test-xstrtoumax.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='test-xstrtoumax.sh'; \
+       b='test-xstrtoumax.sh'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-xvasprintf.log: test-xvasprintf$(EXEEXT)
+       @p='test-xvasprintf$(EXEEXT)'; \
+       b='test-xvasprintf'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 .test.log:
-       @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='$<'; \
+       $(am__set_b); \
+       $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 @am__EXEEXT_TRUE@.test$(EXEEXT).log:
-@am__EXEEXT_TRUE@      @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post)
+@am__EXEEXT_TRUE@      @p='$<'; \
+@am__EXEEXT_TRUE@      $(am__set_b); \
+@am__EXEEXT_TRUE@      $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@      --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@      $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@      "$$tst" $(AM_TESTS_FD_REDIRECT)
 
 distdir: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -2973,13 +4061,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
@@ -3030,8 +4115,7 @@ install-strip:
 mostlyclean-generic:
        -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
        -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
-       -test -z "$(TEST_LOGS_TMP)" || rm -f $(TEST_LOGS_TMP)
-       -test -z "$(TEST_SUITE_HTML)" || rm -f $(TEST_SUITE_HTML)
+       -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
        -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
@@ -3123,67 +4207,25 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
-       check-am check-html cscopelist-recursive ctags-recursive \
-       install install-am install-strip recheck recheck-html \
-       tags-recursive
+.MAKE: $(am__recursive_targets) all check check-am install install-am \
+       install-strip
 
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-TESTS check-am check-html clean \
-       clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
-       clean-local clean-noinstLIBRARIES clean-noinstPROGRAMS \
-       cscopelist cscopelist-recursive ctags ctags-recursive \
-       distclean distclean-compile distclean-generic distclean-tags \
-       distdir dvi dvi-am html html-am info info-am install \
-       install-am install-data install-data-am install-dvi \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+       check-TESTS check-am clean clean-checkLIBRARIES \
+       clean-checkPROGRAMS clean-generic clean-local \
+       clean-noinstLIBRARIES clean-noinstPROGRAMS cscopelist-am ctags \
+       ctags-am distclean distclean-compile distclean-generic \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-pdf install-pdf-am install-ps install-ps-am \
        install-strip installcheck installcheck-am installdirs \
        installdirs-am maintainer-clean maintainer-clean-generic \
        mostlyclean mostlyclean-compile mostlyclean-generic \
-       mostlyclean-local pdf pdf-am ps ps-am recheck recheck-html \
-       tags tags-recursive uninstall uninstall-am
-
-
-# We need the following in order to create <float.h> when the system
-# doesn't have one that works with the given compiler.
-@GL_GENERATE_FLOAT_H_TRUE@float.h: float.in.h $(top_builddir)/config.status
-@GL_GENERATE_FLOAT_H_TRUE@     $(AM_V_GEN)rm -f $@-t $@ && \
-@GL_GENERATE_FLOAT_H_TRUE@     { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-@GL_GENERATE_FLOAT_H_TRUE@       sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-@GL_GENERATE_FLOAT_H_TRUE@           -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-@GL_GENERATE_FLOAT_H_TRUE@           -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-@GL_GENERATE_FLOAT_H_TRUE@           -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-@GL_GENERATE_FLOAT_H_TRUE@           -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \
-@GL_GENERATE_FLOAT_H_TRUE@           < $(srcdir)/float.in.h; \
-@GL_GENERATE_FLOAT_H_TRUE@     } > $@-t && \
-@GL_GENERATE_FLOAT_H_TRUE@     mv $@-t $@
-@GL_GENERATE_FLOAT_H_FALSE@float.h: $(top_builddir)/config.status
-@GL_GENERATE_FLOAT_H_FALSE@    rm -f $@
-
-# We need the following in order to create <locale.h> when the system
-# doesn't have one that provides all definitions.
-locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \
-             -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \
-             -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \
-             -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
-             -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
-             -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \
-             -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/locale.in.h; \
-       } > $@-t && \
-       mv $@-t $@
+       mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \
+       uninstall uninstall-am
+
 # The arg-nonnull.h that gets inserted into generated .h files is the same as
 # build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
 # off.
index f512844..9125e2a 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* argmatch.c -- find a match for a string in an array
 
-   Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2011 Free Software
+   Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -79,7 +77,7 @@ argmatch_exit_fn argmatch_die = __argmatch_die;
    synonyms, i.e., for
      "yes", "yop" -> 0
      "no", "nope" -> 1
-   "y" is a valid argument, for `0', and "n" for `1'.  */
+   "y" is a valid argument, for 0, and "n" for 1.  */
 
 ptrdiff_t
 argmatch (const char *arg, const char *const *arglist,
@@ -152,17 +150,17 @@ argmatch_valid (const char *const *arglist,
 
   /* We try to put synonyms on the same line.  The assumption is that
      synonyms follow each other */
-  fprintf (stderr, _("Valid arguments are:"));
+  fputs (_("Valid arguments are:"), stderr);
   for (i = 0; arglist[i]; i++)
     if ((i == 0)
         || memcmp (last_val, vallist + valsize * i, valsize))
       {
-        fprintf (stderr, "\n  - `%s'", arglist[i]);
+        fprintf (stderr, "\n  - %s", quote (arglist[i]));
         last_val = vallist + valsize * i;
       }
     else
       {
-        fprintf (stderr, ", `%s'", arglist[i]);
+        fprintf (stderr, ", %s", quote (arglist[i]));
       }
   putc ('\n', stderr);
 }
@@ -271,7 +269,7 @@ main (int argc, const char *const *argv)
     backup_type = XARGMATCH (program_name, argv[1],
                              backup_args, backup_vals);
 
-  printf ("The version control is `%s'\n",
+  printf ("The version control is '%s'\n",
           ARGMATCH_TO_ARGUMENT (backup_type, backup_args, backup_vals));
 
   return 0;
index 7bf3d6f..2e0275c 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* argmatch.h -- definitions and prototypes for argmatch.c
 
-   Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2011 Free Software
+   Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    to the same values in VALLIST).  */
 
 ptrdiff_t argmatch (char const *arg, char const *const *arglist,
-                    char const *vallist, size_t valsize);
+                    char const *vallist, size_t valsize) _GL_ATTRIBUTE_PURE;
 
 # define ARGMATCH(Arg, Arglist, Vallist) \
   argmatch (Arg, Arglist, (char const *) (Vallist), sizeof *(Vallist))
 
 /* xargmatch calls this function when it fails.  This function should not
    return.  By default, this is a function that calls ARGMATCH_DIE which
-   in turn defaults to `exit (exit_failure)'.  */
+   in turn defaults to 'exit (exit_failure)'.  */
 typedef void (*argmatch_exit_fn) (void);
 extern argmatch_exit_fn argmatch_die;
 
@@ -95,7 +93,8 @@ ptrdiff_t __xargmatch_internal (char const *context,
 
 char const *argmatch_to_argument (char const *value,
                                   char const *const *arglist,
-                                  char const *vallist, size_t valsize);
+                                  char const *vallist, size_t valsize)
+  _GL_ATTRIBUTE_PURE;
 
 # define ARGMATCH_TO_ARGUMENT(Value, Arglist, Vallist)                  \
   argmatch_to_argument (Value, Arglist,                                 \
diff --git a/gnulib-tests/fdopen.c b/gnulib-tests/fdopen.c
new file mode 100644 (file)
index 0000000..c717f71
--- /dev/null
@@ -0,0 +1,69 @@
+/* Open a stream with a given file descriptor.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <stdio.h>
+
+#include <errno.h>
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+# include "msvc-inval.h"
+#endif
+
+#undef fdopen
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static FILE *
+fdopen_nothrow (int fd, const char *mode)
+{
+  FILE *result;
+
+  TRY_MSVC_INVAL
+    {
+      result = fdopen (fd, mode);
+    }
+  CATCH_MSVC_INVAL
+    {
+      result = NULL;
+    }
+  DONE_MSVC_INVAL;
+
+  return result;
+}
+#else
+# define fdopen_nothrow fdopen
+#endif
+
+FILE *
+rpl_fdopen (int fd, const char *mode)
+{
+  int saved_errno = errno;
+  FILE *fp;
+
+  errno = 0;
+  fp = fdopen_nothrow (fd, mode);
+  if (fp == NULL)
+    {
+      if (errno == 0)
+        errno = EBADF;
+    }
+  else
+    errno = saved_errno;
+
+  return fp;
+}
index 0b44da7..0b7f528 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Manipulating the FPU control word.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2007.
 
    This program is free software: you can redistribute it and/or modify
@@ -32,7 +30,8 @@
 
    On some platforms, such as NetBSD, the default precision is set to
    "double precision".  This means that 'long double' instructions will operate
-   only as 'double', i.e. lead wrong results.
+   only as 'double', i.e. lead to wrong results.  Similarly on FreeBSD 6.4, at
+   least for the division of 'long double' numbers.
 
    The FPU control word is under control of the application, i.e. it is
    not required to be set either way by the ABI.  (In fact, the i386 ABI
index 8a2a3ab..d550f35 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2013 Free Software Foundation, Inc.
    This file is part of gnulib.
 
    This program is free software: you can redistribute it and/or modify
@@ -34,7 +32,7 @@ typedef int dummy;
    (perhaps because the absolute name was longer than PATH_MAX, or
    because of missing read/search permissions on parent directories)
    or SIZE was too small.  If successful, returns BUF.  If BUF is
-   NULL, an array is allocated with `malloc'; the array is SIZE bytes
+   NULL, an array is allocated with 'malloc'; the array is SIZE bytes
    long, unless SIZE == 0, in which case it is as big as
    necessary.  */
 
index 377375b..274c591 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* getpagesize emulation for systems where it cannot be done in a C macro.
 
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -24,7 +22,7 @@
 /* Specification. */
 #include <unistd.h>
 
-/* This implementation is only for native Win32 systems.  */
+/* This implementation is only for native Windows systems.  */
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 
 # define WIN32_LEAN_AND_MEAN
index c99e270..55aa168 100644 (file)
@@ -1,11 +1,23 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
 #
-# This file is free software, distributed under the terms of the GNU
-# General Public License.  As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file.  If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
@@ -55,6 +67,14 @@ EXTRA_DIST += test-alloca-opt.c
 
 ## end   gnulib module alloca-opt-tests
 
+## begin gnulib module areadlink-tests
+
+TESTS += test-areadlink
+check_PROGRAMS += test-areadlink
+EXTRA_DIST += test-areadlink.h test-areadlink.c macros.h
+
+## end   gnulib module areadlink-tests
+
 ## begin gnulib module argmatch
 
 libtests_a_SOURCES += argmatch.c
@@ -73,12 +93,6 @@ EXTRA_DIST += test-argmatch.c macros.h
 
 ## end   gnulib module argmatch-tests
 
-## begin gnulib module binary-io
-
-libtests_a_SOURCES += binary-io.h
-
-## end   gnulib module binary-io
-
 ## begin gnulib module binary-io-tests
 
 TESTS += test-binary-io.sh
@@ -135,6 +149,14 @@ EXTRA_DIST += test-c-strcase.sh test-c-strcasecmp.c test-c-strncasecmp.c macros.
 
 ## end   gnulib module c-strcase-tests
 
+## begin gnulib module close-tests
+
+TESTS += test-close
+check_PROGRAMS += test-close
+EXTRA_DIST += test-close.c signature.h macros.h
+
+## end   gnulib module close-tests
+
 ## begin gnulib module dirname-tests
 
 TESTS += test-dirname
@@ -204,44 +226,39 @@ EXTRA_DIST += test-fcntl.c signature.h macros.h
 
 ## end   gnulib module fcntl-tests
 
-## begin gnulib module filenamecat-tests
+## begin gnulib module fdopen
 
-TESTS += test-filenamecat
-check_PROGRAMS += test-filenamecat
-test_filenamecat_LDADD = $(LDADD) @LIBINTL@
-EXTRA_DIST += test-filenamecat.c
 
-## end   gnulib module filenamecat-tests
+EXTRA_DIST += fdopen.c
 
-## begin gnulib module float
+EXTRA_libtests_a_SOURCES += fdopen.c
 
-BUILT_SOURCES += $(FLOAT_H)
+## end   gnulib module fdopen
 
-# We need the following in order to create <float.h> when the system
-# doesn't have one that works with the given compiler.
-if GL_GENERATE_FLOAT_H
-float.h: float.in.h $(top_builddir)/config.status
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \
-             < $(srcdir)/float.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-else
-float.h: $(top_builddir)/config.status
-       rm -f $@
-endif
-MOSTLYCLEANFILES += float.h float.h-t
+## begin gnulib module fdopen-tests
+
+TESTS += test-fdopen
+check_PROGRAMS += test-fdopen
+EXTRA_DIST += test-fdopen.c signature.h macros.h
+
+## end   gnulib module fdopen-tests
+
+## begin gnulib module fgetc-tests
+
+TESTS += test-fgetc
+check_PROGRAMS += test-fgetc
+EXTRA_DIST += test-fgetc.c signature.h macros.h
 
-EXTRA_DIST += float.c float.in.h
+## end   gnulib module fgetc-tests
 
-EXTRA_libtests_a_SOURCES += float.c
+## begin gnulib module filenamecat-tests
+
+TESTS += test-filenamecat
+check_PROGRAMS += test-filenamecat
+test_filenamecat_LDADD = $(LDADD) @LIBINTL@
+EXTRA_DIST += test-filenamecat.c
 
-## end   gnulib module float
+## end   gnulib module filenamecat-tests
 
 ## begin gnulib module float-tests
 
@@ -266,6 +283,22 @@ EXTRA_DIST += fpucw.h
 
 ## end   gnulib module fpucw
 
+## begin gnulib module fputc-tests
+
+TESTS += test-fputc
+check_PROGRAMS += test-fputc
+EXTRA_DIST += test-fputc.c signature.h macros.h
+
+## end   gnulib module fputc-tests
+
+## begin gnulib module fread-tests
+
+TESTS += test-fread
+check_PROGRAMS += test-fread
+EXTRA_DIST += test-fread.c signature.h macros.h
+
+## end   gnulib module fread-tests
+
 ## begin gnulib module freopen-safer-tests
 
 TESTS += test-freopen-safer
@@ -283,6 +316,22 @@ EXTRA_DIST += test-freopen.c signature.h macros.h
 
 ## end   gnulib module freopen-tests
 
+## begin gnulib module fstat-tests
+
+TESTS += test-fstat
+check_PROGRAMS += test-fstat
+EXTRA_DIST += test-fstat.c signature.h macros.h
+
+## end   gnulib module fstat-tests
+
+## begin gnulib module fwrite-tests
+
+TESTS += test-fwrite
+check_PROGRAMS += test-fwrite
+EXTRA_DIST += test-fwrite.c signature.h macros.h
+
+## end   gnulib module fwrite-tests
+
 ## begin gnulib module getcwd-lgpl
 
 
@@ -296,6 +345,7 @@ EXTRA_libtests_a_SOURCES += getcwd-lgpl.c
 
 TESTS += test-getcwd-lgpl
 check_PROGRAMS += test-getcwd-lgpl
+test_getcwd_lgpl_LDADD = $(LDADD) $(LIBINTL)
 EXTRA_DIST += test-getcwd-lgpl.c signature.h macros.h
 
 ## end   gnulib module getcwd-lgpl-tests
@@ -415,38 +465,6 @@ EXTRA_DIST += test-langinfo.c
 
 ## end   gnulib module langinfo-tests
 
-## begin gnulib module locale
-
-BUILT_SOURCES += locale.h
-
-# We need the following in order to create <locale.h> when the system
-# doesn't have one that provides all definitions.
-locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f $@-t $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \
-             -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \
-             -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \
-             -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
-             -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
-             -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \
-             -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
-             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
-             < $(srcdir)/locale.in.h; \
-       } > $@-t && \
-       mv $@-t $@
-MOSTLYCLEANFILES += locale.h locale.h-t
-
-EXTRA_DIST += locale.in.h
-
-## end   gnulib module locale
-
 ## begin gnulib module locale-tests
 
 TESTS += test-locale
@@ -455,6 +473,14 @@ EXTRA_DIST += test-locale.c
 
 ## end   gnulib module locale-tests
 
+## begin gnulib module localeconv-tests
+
+TESTS += test-localeconv
+check_PROGRAMS += test-localeconv
+EXTRA_DIST += test-localeconv.c signature.h macros.h
+
+## end   gnulib module localeconv-tests
+
 ## begin gnulib module lstat-tests
 
 TESTS += test-lstat
@@ -566,6 +592,14 @@ EXTRA_DIST += test-open.h test-open.c signature.h macros.h
 
 ## end   gnulib module open-tests
 
+## begin gnulib module pathmax-tests
+
+TESTS += test-pathmax
+check_PROGRAMS += test-pathmax
+EXTRA_DIST += test-pathmax.c
+
+## end   gnulib module pathmax-tests
+
 ## begin gnulib module putenv
 
 
@@ -584,6 +618,31 @@ EXTRA_DIST += test-quotearg-simple.c test-quotearg.h macros.h
 
 ## end   gnulib module quotearg-simple-tests
 
+## begin gnulib module raise-tests
+
+TESTS += test-raise
+check_PROGRAMS += test-raise
+EXTRA_DIST += test-raise.c signature.h macros.h
+
+## end   gnulib module raise-tests
+
+## begin gnulib module readlink-tests
+
+TESTS += test-readlink
+check_PROGRAMS += test-readlink
+EXTRA_DIST += test-readlink.h test-readlink.c signature.h macros.h
+
+## end   gnulib module readlink-tests
+
+## begin gnulib module regex-tests
+
+TESTS += test-regex
+check_PROGRAMS += test-regex
+test_regex_LDADD = $(LDADD) @LIBINTL@
+EXTRA_DIST += test-regex.c macros.h
+
+## end   gnulib module regex-tests
+
 ## begin gnulib module same-inode
 
 
@@ -630,6 +689,15 @@ EXTRA_DIST += test-setlocale1.sh test-setlocale1.c test-setlocale2.sh test-setlo
 
 ## end   gnulib module setlocale-tests
 
+## begin gnulib module sh-quote-tests
+
+TESTS += test-sh-quote
+check_PROGRAMS += test-sh-quote
+test_sh_quote_LDADD = $(LDADD) @LIBINTL@
+EXTRA_DIST += test-sh-quote.c
+
+## end   gnulib module sh-quote-tests
+
 ## begin gnulib module sigaction-tests
 
 TESTS += test-sigaction
@@ -638,13 +706,13 @@ EXTRA_DIST += test-sigaction.c signature.h macros.h
 
 ## end   gnulib module sigaction-tests
 
-## begin gnulib module signal-tests
+## begin gnulib module signal-h-tests
 
-TESTS += test-signal
-check_PROGRAMS += test-signal
-EXTRA_DIST += test-signal.c
+TESTS += test-signal-h
+check_PROGRAMS += test-signal-h
+EXTRA_DIST += test-signal-h.c
 
-## end   gnulib module signal-tests
+## end   gnulib module signal-h-tests
 
 ## begin gnulib module sigprocmask-tests
 
@@ -654,12 +722,6 @@ EXTRA_DIST += test-sigprocmask.c signature.h macros.h
 
 ## end   gnulib module sigprocmask-tests
 
-## begin gnulib module size_max
-
-libtests_a_SOURCES += size_max.h
-
-## end   gnulib module size_max
-
 ## begin gnulib module sleep
 
 
@@ -805,6 +867,7 @@ EXTRA_DIST += test-snprintf.c signature.h macros.h
 
 TESTS += test-stat
 check_PROGRAMS += test-stat
+test_stat_LDADD = $(LDADD) $(LIBINTL)
 EXTRA_DIST += test-stat.h test-stat.c signature.h macros.h
 
 ## end   gnulib module stat-tests
@@ -907,6 +970,14 @@ EXTRA_DIST += test-strnlen.c zerosize-ptr.h signature.h macros.h
 
 ## end   gnulib module strnlen-tests
 
+## begin gnulib module strtoull-tests
+
+TESTS += test-strtoull
+check_PROGRAMS += test-strtoull
+EXTRA_DIST += test-strtoull.c signature.h macros.h
+
+## end   gnulib module strtoull-tests
+
 ## begin gnulib module strtoumax-tests
 
 TESTS += test-strtoumax
@@ -948,6 +1019,14 @@ EXTRA_DIST += test-sys_time.c
 
 ## end   gnulib module sys_time-tests
 
+## begin gnulib module sys_types-tests
+
+TESTS += test-sys_types
+check_PROGRAMS += test-sys_types
+EXTRA_DIST += test-sys_types.c
+
+## end   gnulib module sys_types-tests
+
 ## begin gnulib module sys_wait-tests
 
 TESTS += test-sys_wait
@@ -956,6 +1035,14 @@ EXTRA_DIST += test-sys_wait.c test-sys_wait.h
 
 ## end   gnulib module sys_wait-tests
 
+## begin gnulib module test-framework-sh-tests
+
+TESTS += test-init.sh
+EXTRA_DIST += init.sh
+EXTRA_DIST += test-init.sh
+
+## end   gnulib module test-framework-sh-tests
+
 ## begin gnulib module time-tests
 
 TESTS += test-time
@@ -1046,15 +1133,6 @@ EXTRA_DIST += test-usleep.c signature.h macros.h
 
 ## end   gnulib module usleep-tests
 
-## begin gnulib module vasnprintf
-
-
-EXTRA_DIST += asnprintf.c float+.h printf-args.c printf-args.h printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h
-
-EXTRA_libtests_a_SOURCES += asnprintf.c printf-args.c printf-parse.c vasnprintf.c
-
-## end   gnulib module vasnprintf
-
 ## begin gnulib module vasnprintf-tests
 
 TESTS += test-vasnprintf
@@ -1064,12 +1142,21 @@ EXTRA_DIST += test-vasnprintf.c macros.h
 
 ## end   gnulib module vasnprintf-tests
 
+## begin gnulib module vasprintf-tests
+
+TESTS += test-vasprintf
+check_PROGRAMS += test-vasprintf
+
+EXTRA_DIST += test-vasprintf.c signature.h macros.h
+
+## end   gnulib module vasprintf-tests
+
 ## begin gnulib module vc-list-files-tests
 
 TESTS += test-vc-list-files-git.sh
 TESTS += test-vc-list-files-cvs.sh
 TESTS_ENVIRONMENT += abs_aux_dir='$(abs_aux_dir)'
-EXTRA_DIST += test-vc-list-files-git.sh test-vc-list-files-cvs.sh init.sh
+EXTRA_DIST += test-vc-list-files-git.sh test-vc-list-files-cvs.sh
 
 ## end   gnulib module vc-list-files-tests
 
@@ -1078,7 +1165,7 @@ EXTRA_DIST += test-vc-list-files-git.sh test-vc-list-files-cvs.sh init.sh
 TESTS_ENVIRONMENT += MAKE='$(MAKE)'
 TESTS += test-verify test-verify.sh
 check_PROGRAMS += test-verify
-EXTRA_DIST += test-verify.c test-verify.sh init.sh
+EXTRA_DIST += test-verify.c test-verify.sh
 
 ## end   gnulib module verify-tests
 
@@ -1156,23 +1243,17 @@ EXTRA_DIST += test-wcwidth.c signature.h macros.h
 TESTS += test-xalloc-die.sh
 check_PROGRAMS += test-xalloc-die
 test_xalloc_die_LDADD = $(LDADD) @LIBINTL@
-EXTRA_DIST += test-xalloc-die.c test-xalloc-die.sh init.sh
+EXTRA_DIST += test-xalloc-die.c test-xalloc-die.sh
 
 ## end   gnulib module xalloc-die-tests
 
-## begin gnulib module xsize
-
-libtests_a_SOURCES += xsize.h
-
-## end   gnulib module xsize
-
 ## begin gnulib module xstrtol-tests
 
 TESTS += test-xstrtol.sh
 check_PROGRAMS += test-xstrtol test-xstrtoul
 test_xstrtol_LDADD = $(LDADD) @LIBINTL@
 test_xstrtoul_LDADD = $(LDADD) @LIBINTL@
-EXTRA_DIST += init.sh test-xstrtol.c test-xstrtoul.c test-xstrtol.sh
+EXTRA_DIST += test-xstrtol.c test-xstrtoul.c test-xstrtol.sh
 
 ## end   gnulib module xstrtol-tests
 
@@ -1181,10 +1262,20 @@ EXTRA_DIST += init.sh test-xstrtol.c test-xstrtoul.c test-xstrtol.sh
 TESTS += test-xstrtoumax.sh
 check_PROGRAMS += test-xstrtoumax
 test_xstrtoumax_LDADD = $(LDADD) @LIBINTL@
-EXTRA_DIST += init.sh test-xstrtoumax.c test-xstrtoumax.sh
+EXTRA_DIST += test-xstrtoumax.c test-xstrtoumax.sh
 
 ## end   gnulib module xstrtoumax-tests
 
+## begin gnulib module xvasprintf-tests
+
+TESTS += test-xvasprintf
+check_PROGRAMS += test-xvasprintf
+test_xvasprintf_LDADD = $(LDADD) @LIBINTL@
+
+EXTRA_DIST += test-xvasprintf.c macros.h
+
+## end   gnulib module xvasprintf-tests
+
 # Clean up after Solaris cc.
 clean-local:
        rm -rf SunWS_cache
index f7af300..e967a76 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* hash-pjw.c -- compute a hash value from a NUL-terminated string.
 
-   Copyright (C) 2001, 2003, 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003, 2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a7aeb34..f6dcab8 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* hash-pjw.h -- declaration for a simple hash function
-   Copyright (C) 2001, 2003, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -22,4 +20,4 @@
    and return the hash code modulo TABLESIZE.
    The result is platform dependent: it depends on the size of the 'size_t'
    type and on the signedness of the 'char' type.  */
-extern size_t hash_pjw (void const *x, size_t tablesize);
+extern size_t hash_pjw (void const *x, size_t tablesize) _GL_ATTRIBUTE_PURE;
index 0da6c1e..bd2048e 100644 (file)
@@ -1,6 +1,6 @@
 # source this file; set up for tests
 
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -61,7 +61,7 @@ ME_=`expr "./$0" : '.*/\(.*\)$'`
 
 # We use a trap below for cleanup.  This requires us to go through
 # hoops to get the right exit status transported through the handler.
-# So use `Exit STATUS' instead of `exit STATUS' inside of the tests.
+# So use 'Exit STATUS' instead of 'exit STATUS' inside of the tests.
 # Turn off errexit here so that we don't trip the bug with OSF1/Tru64
 # sh inside this function.
 Exit () { set +e; (exit $1); exit $1; }
@@ -74,7 +74,20 @@ Exit () { set +e; (exit $1); exit $1; }
 # the reason for skip/failure to console, rather than to the .log files.
 : ${stderr_fileno_=2}
 
-warn_ () { echo "$@" 1>&$stderr_fileno_; }
+# Note that correct expansion of "$*" depends on IFS starting with ' '.
+# Always write the full diagnostic to stderr.
+# When stderr_fileno_ is not 2, also emit the first line of the
+# diagnostic to that file descriptor.
+warn_ ()
+{
+  # If IFS does not start with ' ', set it and emit the warning in a subshell.
+  case $IFS in
+    ' '*) printf '%s\n' "$*" >&2
+          test $stderr_fileno_ = 2 \
+            || { printf '%s\n' "$*" | sed 1q >&$stderr_fileno_ ; } ;;
+    *) (IFS=' '; warn_ "$@");;
+  esac
+}
 fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; }
 skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; }
 fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; }
@@ -159,7 +172,7 @@ else
     if test "$re_shell_" = __current__; then
       # 'eval'ing this code makes Solaris 10's /bin/sh exit with
       # $? set to 2.  It does not evaluate any of the code after the
-      # "unexpected" first `('.  Thus, we must run it in a subshell.
+      # "unexpected" first '('.  Thus, we must run it in a subshell.
       ( eval "$gl_shell_test_script_" ) > /dev/null 2>&1
     else
       "$re_shell_" -c "$gl_shell_test_script_" 2>/dev/null
@@ -194,6 +207,14 @@ else
   fi
 fi
 
+# If this is bash, turn off all aliases.
+test -n "$BASH_VERSION" && unalias -a
+
+# Note that when supporting $EXEEXT (transparently mapping from PROG_NAME to
+# PROG_NAME.exe), we want to support hyphen-containing names like test-acos.
+# That is part of the shell-selection test above.  Why use aliases rather
+# than functions?  Because support for hyphen-containing aliases is more
+# widespread than that for hyphen-containing function names.
 test -n "$EXEEXT" && shopt -s expand_aliases
 
 # Enable glibc's malloc-perturbing option.
@@ -208,14 +229,105 @@ export MALLOC_PERTURB_
 # a partition, or to undo any other global state changes.
 cleanup_ () { :; }
 
-if ( diff --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then
-  compare () { diff -u "$@"; }
+# Emit a header similar to that from diff -u;  Print the simulated "diff"
+# command so that the order of arguments is clear.  Don't bother with @@ lines.
+emit_diff_u_header_ ()
+{
+  printf '%s\n' "diff -u $*" \
+    "--- $1    1970-01-01" \
+    "+++ $2    1970-01-01"
+}
+
+# Arrange not to let diff or cmp operate on /dev/null,
+# since on some systems (at least OSF/1 5.1), that doesn't work.
+# When there are not two arguments, or no argument is /dev/null, return 2.
+# When one argument is /dev/null and the other is not empty,
+# cat the nonempty file to stderr and return 1.
+# Otherwise, return 0.
+compare_dev_null_ ()
+{
+  test $# = 2 || return 2
+
+  if test "x$1" = x/dev/null; then
+    test -s "$2" || return 0
+    emit_diff_u_header_ "$@"; sed 's/^/+/' "$2"
+    return 1
+  fi
+
+  if test "x$2" = x/dev/null; then
+    test -s "$1" || return 0
+    emit_diff_u_header_ "$@"; sed 's/^/-/' "$1"
+    return 1
+  fi
+
+  return 2
+}
+
+if diff_out_=`exec 2>/dev/null; diff -u "$0" "$0" < /dev/null` \
+   && diff -u Makefile "$0" 2>/dev/null | grep '^[+]#!' >/dev/null; then
+  # diff accepts the -u option and does not (like AIX 7 'diff') produce an
+  # extra space on column 1 of every content line.
+  if test -z "$diff_out_"; then
+    compare_ () { diff -u "$@"; }
+  else
+    compare_ ()
+    {
+      if diff -u "$@" > diff.out; then
+        # No differences were found, but Solaris 'diff' produces output
+        # "No differences encountered". Hide this output.
+        rm -f diff.out
+        true
+      else
+        cat diff.out
+        rm -f diff.out
+        false
+      fi
+    }
+  fi
+elif diff_out_=`exec 2>/dev/null; diff -c "$0" "$0" < /dev/null`; then
+  if test -z "$diff_out_"; then
+    compare_ () { diff -c "$@"; }
+  else
+    compare_ ()
+    {
+      if diff -c "$@" > diff.out; then
+        # No differences were found, but AIX and HP-UX 'diff' produce output
+        # "No differences encountered" or "There are no differences between the
+        # files.". Hide this output.
+        rm -f diff.out
+        true
+      else
+        cat diff.out
+        rm -f diff.out
+        false
+      fi
+    }
+  fi
 elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then
-  compare () { cmp -s "$@"; }
+  compare_ () { cmp -s "$@"; }
 else
-  compare () { cmp "$@"; }
+  compare_ () { cmp "$@"; }
 fi
 
+# Usage: compare EXPECTED ACTUAL
+#
+# Given compare_dev_null_'s preprocessing, defer to compare_ if 2 or more.
+# Otherwise, propagate $? to caller: any diffs have already been printed.
+compare ()
+{
+  # This looks like it can be factored to use a simple "case $?"
+  # after unchecked compare_dev_null_ invocation, but that would
+  # fail in a "set -e" environment.
+  if compare_dev_null_ "$@"; then
+    return 0
+  else
+    case $? in
+      1) return 1;;
+      *) compare_ "$@";;
+    esac
+  fi
+}
+
 # An arbitrary prefix to help distinguish test directories.
 testdir_prefix_ () { printf gt; }
 
@@ -299,8 +411,7 @@ path_prepend_ ()
     case $path_dir_ in
       '') fail_ "invalid path dir: '$1'";;
       /*) abs_path_dir_=$path_dir_;;
-      *) abs_path_dir_=`cd "$initial_cwd_/$path_dir_" && echo "$PWD"` \
-           || fail_ "invalid path dir: $path_dir_";;
+      *) abs_path_dir_=$initial_cwd_/$path_dir_;;
     esac
     case $abs_path_dir_ in
       *:*) fail_ "invalid path dir: '$abs_path_dir_'";;
@@ -336,7 +447,7 @@ setup_ ()
   pfx_=`testdir_prefix_`
   test_dir_=`mktempd_ "$initial_cwd_" "$pfx_-$ME_.XXXX"` \
     || fail_ "failed to create temporary directory in $initial_cwd_"
-  cd "$test_dir_"
+  cd "$test_dir_" || fail_ "failed to cd to temporary directory"
 
   # As autoconf-generated configure scripts do, ensure that IFS
   # is defined initially, so that saving and restoring $IFS works.
@@ -426,7 +537,7 @@ mktempd_ ()
   esac
 
   # First, try to use mktemp.
-  d=`unset TMPDIR; mktemp -d -t -p "$destdir_" "$template_" 2>/dev/null` \
+  d=`unset TMPDIR; { mktemp -d -t -p "$destdir_" "$template_"; } 2>/dev/null` \
     || fail=1
 
   # The resulting name must be in the specified directory.
diff --git a/gnulib-tests/locale.in.h b/gnulib-tests/locale.in.h
deleted file mode 100644 (file)
index 29d5575..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* A POSIX <locale.h>.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef _@GUARD_PREFIX@_LOCALE_H
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-@PRAGMA_COLUMNS@
-
-/* The include_next requires a split double-inclusion guard.  */
-#@INCLUDE_NEXT@ @NEXT_LOCALE_H@
-
-#ifndef _@GUARD_PREFIX@_LOCALE_H
-#define _@GUARD_PREFIX@_LOCALE_H
-
-/* NetBSD 5.0 mis-defines NULL.  */
-#include <stddef.h>
-
-/* MacOS X 10.5 defines the locale_t type in <xlocale.h>.  */
-#if @HAVE_XLOCALE_H@
-# include <xlocale.h>
-#endif
-
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
-
-/* The definition of _GL_ARG_NONNULL is copied here.  */
-
-/* The definition of _GL_WARN_ON_USE is copied here.  */
-
-/* The LC_MESSAGES locale category is specified in POSIX, but not in ISO C.
-   On systems that don't define it, use the same value as GNU libintl.  */
-#if !defined LC_MESSAGES
-# define LC_MESSAGES 1729
-#endif
-
-#if @GNULIB_SETLOCALE@
-# if @REPLACE_SETLOCALE@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef setlocale
-#   define setlocale rpl_setlocale
-#   define GNULIB_defined_setlocale 1
-#  endif
-_GL_FUNCDECL_RPL (setlocale, char *, (int category, const char *locale));
-_GL_CXXALIAS_RPL (setlocale, char *, (int category, const char *locale));
-# else
-_GL_CXXALIAS_SYS (setlocale, char *, (int category, const char *locale));
-# endif
-_GL_CXXALIASWARN (setlocale);
-#elif defined GNULIB_POSIXCHECK
-# undef setlocale
-# if HAVE_RAW_DECL_SETLOCALE
-_GL_WARN_ON_USE (setlocale, "setlocale works differently on native Windows - "
-                 "use gnulib module setlocale for portability");
-# endif
-#endif
-
-#if @GNULIB_DUPLOCALE@
-# if @REPLACE_DUPLOCALE@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef duplocale
-#   define duplocale rpl_duplocale
-#  endif
-_GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale));
-# else
-#  if @HAVE_DUPLOCALE@
-_GL_CXXALIAS_SYS (duplocale, locale_t, (locale_t locale));
-#  endif
-# endif
-# if @HAVE_DUPLOCALE@
-_GL_CXXALIASWARN (duplocale);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef duplocale
-# if HAVE_RAW_DECL_DUPLOCALE
-_GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - "
-                 "use gnulib module duplocale for portability");
-# endif
-#endif
-
-#endif /* _@GUARD_PREFIX@_LOCALE_H */
-#endif /* _@GUARD_PREFIX@_LOCALE_H */
index ca7bae0..60ba894 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Common macros used by gnulib tests.
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -68,3 +66,8 @@
 /* STREQ (str1, str2)
    Return true if two strings compare equal.  */
 #define STREQ(a, b) (strcmp (a, b) == 0)
+
+/* Some numbers in the interval [0,1).  */
+extern const float randomf[1000];
+extern const double randomd[1000];
+extern const long double randoml[1000];
index 300198d..5461273 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2011 Free Software
+/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2013 Free Software
    Foundation, Inc.
 
    NOTE: The canonical source of this file is maintained with the GNU C
 #include <string.h>
 #include <unistd.h>
 
-#if HAVE_GNU_LD
-# define environ __environ
-#else
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+#endif
+
+#if _LIBC
+# if HAVE_GNU_LD
+#  define environ __environ
+# else
 extern char **environ;
+# endif
 #endif
 
 #if _LIBC
-/* This lock protects against simultaneous modifications of `environ'.  */
+/* This lock protects against simultaneous modifications of 'environ'.  */
 # include <bits/libc-lock.h>
 __libc_lock_define_initialized (static, envlock)
 # define LOCK   __libc_lock_lock (envlock)
@@ -57,7 +62,9 @@ static int
 _unsetenv (const char *name)
 {
   size_t len;
+#if !HAVE_DECL__PUTENV
   char **ep;
+#endif
 
   if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
     {
@@ -67,6 +74,21 @@ _unsetenv (const char *name)
 
   len = strlen (name);
 
+#if HAVE_DECL__PUTENV
+  {
+    int putenv_result, putenv_errno;
+    char *name_ = malloc (len + 2);
+    memcpy (name_, name, len);
+    name_[len] = '=';
+    name_[len + 1] = 0;
+    putenv_result = _putenv (name_);
+    putenv_errno = errno;
+    free (name_);
+    __set_errno (putenv_errno);
+    return putenv_result;
+  }
+#else
+
   LOCK;
 
   ep = environ;
@@ -87,17 +109,17 @@ _unsetenv (const char *name)
   UNLOCK;
 
   return 0;
+#endif
 }
 
 
 /* Put STRING, which is of the form "NAME=VALUE", in the environment.
-   If STRING contains no `=', then remove STRING from the environment.  */
+   If STRING contains no '=', then remove STRING from the environment.  */
 int
 putenv (char *string)
 {
-  const char *const name_end = strchr (string, '=');
-  register size_t size;
-  register char **ep;
+  const char *name_end = strchr (string, '=');
+  char **ep;
 
   if (name_end == NULL)
     {
@@ -105,30 +127,68 @@ putenv (char *string)
       return _unsetenv (string);
     }
 
-  size = 0;
-  for (ep = environ; *ep != NULL; ++ep)
-    if (!strncmp (*ep, string, name_end - string) &&
-        (*ep)[name_end - string] == '=')
+#if HAVE_DECL__PUTENV
+  /* Rely on _putenv to allocate the new environment.  If other
+     parts of the application use _putenv, the !HAVE_DECL__PUTENV code
+     would fight over who owns the environ vector, causing a crash.  */
+  if (name_end[1])
+    return _putenv (string);
+  else
+    {
+      /* _putenv ("NAME=") unsets NAME, so invoke _putenv ("NAME= ")
+         to allocate the environ vector and then replace the new
+         entry with "NAME=".  */
+      int putenv_result, putenv_errno;
+      char *name_x = malloc (name_end - string + sizeof "= ");
+      if (!name_x)
+        return -1;
+      memcpy (name_x, string, name_end - string + 1);
+      name_x[name_end - string + 1] = ' ';
+      name_x[name_end - string + 2] = 0;
+      putenv_result = _putenv (name_x);
+      putenv_errno = errno;
+      for (ep = environ; *ep; ep++)
+        if (strcmp (*ep, name_x) == 0)
+          {
+            *ep = string;
+            break;
+          }
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+      if (putenv_result == 0)
+        {
+          /* _putenv propagated "NAME= " into the subprocess environment;
+             fix that by calling SetEnvironmentVariable directly.  */
+          name_x[name_end - string] = 0;
+          putenv_result = SetEnvironmentVariable (name_x, "") ? 0 : -1;
+          putenv_errno = ENOMEM; /* ENOMEM is the only way to fail.  */
+        }
+# endif
+      free (name_x);
+      __set_errno (putenv_errno);
+      return putenv_result;
+    }
+#else
+  for (ep = environ; *ep; ep++)
+    if (strncmp (*ep, string, name_end - string) == 0
+        && (*ep)[name_end - string] == '=')
       break;
-    else
-      ++size;
 
-  if (*ep == NULL)
+  if (*ep)
+    *ep = string;
+  else
     {
       static char **last_environ = NULL;
-      char **new_environ = (char **) malloc ((size + 2) * sizeof (char *));
-      if (new_environ == NULL)
+      size_t size = ep - environ;
+      char **new_environ = malloc ((size + 2) * sizeof *new_environ);
+      if (! new_environ)
         return -1;
-      (void) memcpy ((void *) new_environ, (void *) environ,
-                     size * sizeof (char *));
-      new_environ[size] = (char *) string;
-      new_environ[size + 1] = NULL;
+      new_environ[0] = string;
+      memcpy (new_environ + 1, environ, (size + 1) * sizeof *new_environ);
       free (last_environ);
       last_environ = new_environ;
       environ = new_environ;
     }
-  else
-    *ep = string;
 
   return 0;
+#endif
 }
index 34645b9..3843b07 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Determine whether two stat buffers refer to the same file.
 
-   Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #ifndef SAME_INODE_H
 # define SAME_INODE_H 1
 
-# define SAME_INODE(Stat_buf_1, Stat_buf_2) \
-   ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
-    && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
+# ifdef __VMS
+#  define SAME_INODE(a, b)             \
+    ((a).st_ino[0] == (b).st_ino[0]    \
+     && (a).st_ino[1] == (b).st_ino[1] \
+     && (a).st_ino[2] == (b).st_ino[2] \
+     && (a).st_dev == (b).st_dev)
+# else
+#  define SAME_INODE(a, b)    \
+    ((a).st_ino == (b).st_ino \
+     && (a).st_dev == (b).st_dev)
+# endif
 
 #endif
index d2f4470..995a0f2 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1992, 1995-2003, 2005-2011 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2003, 2005-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software: you can redistribute it and/or modify
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #if !_LIBC
+/* Don't use __attribute__ __nonnull__ in this compilation unit.  Otherwise gcc
+   optimizes away the name == NULL test below.  */
+# define _GL_ARG_NONNULL(params)
+
 # define _GL_USE_STDLIB_ALLOC 1
 # include <config.h>
 #endif
 
-/* Don't use __attribute__ __nonnull__ in this compilation unit.  Otherwise gcc
-   optimizes away the name == NULL test below.  */
-#define _GL_ARG_NONNULL(params)
-
 #include <alloca.h>
 
 /* Specification.  */
@@ -51,7 +49,7 @@
 #endif
 
 #if _LIBC
-/* This lock protects against simultaneous modifications of `environ'.  */
+/* This lock protects against simultaneous modifications of 'environ'.  */
 # include <bits/libc-lock.h>
 __libc_lock_define_initialized (static, envlock)
 # define LOCK   __libc_lock_lock (envlock)
@@ -105,11 +103,11 @@ static void *known_values;
 static char **last_environ;
 
 
-/* This function is used by `setenv' and `putenv'.  The difference between
+/* This function is used by 'setenv' and 'putenv'.  The difference between
    the two functions is that for the former must create a new string which
-   is then placed in the environment, while the argument of `putenv'
+   is then placed in the environment, while the argument of 'putenv'
    must be used directly.  This is all complicated by the fact that we try
-   to reuse values once generated for a `setenv' call since we can never
+   to reuse values once generated for a 'setenv' call since we can never
    free the strings.  */
 int
 __add_to_environ (const char *name, const char *value, const char *combined,
@@ -301,7 +299,7 @@ setenv (const char *name, const char *value, int replace)
   return __add_to_environ (name, value, NULL, replace);
 }
 
-/* The `clearenv' was planned to be added to POSIX.1 but probably
+/* The 'clearenv' was planned to be added to POSIX.1 but probably
    never made it.  Nevertheless the POSIX.9 standard (POSIX bindings
    for Fortran 77) requires this function.  */
 int
index e66fa78..c729fa6 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Set the current locale.
-   Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2009, 2011-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -76,7 +74,7 @@ category_to_name (int category)
 
 # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 
-/* The native Win32 setlocale() function expects locale names of the form
+/* The native Windows setlocale() function expects locale names of the form
    "German" or "German_Germany" or "DEU", but not "de" or "de_DE".  We need
    to convert the names from the form with ISO 639 language code and ISO 3166
    country code to the form with English names or with three-letter identifier.
index 793827d..45a8e02 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Macro for checking that a function declaration is compliant.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 305e02d..4c97d7d 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Pausing execution of the current thread.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2007.
 
    This program is free software: you can redistribute it and/or modify
@@ -37,7 +35,7 @@ sleep (unsigned int seconds)
   unsigned int remaining;
 
   /* Sleep for 1 second many times, because
-       1. Sleep is not interruptiple by Ctrl-C,
+       1. Sleep is not interruptible by Ctrl-C,
        2. we want to avoid arithmetic overflow while multiplying with 1000.  */
   for (remaining = seconds; remaining > 0; remaining--)
     Sleep (1000);
index 885880f..9c4ab3f 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Formatted output to strings.
-   Copyright (C) 2004, 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006-2013 Free Software Foundation, Inc.
    Written by Simon Josefsson and Paul Eggert.
 
    This program is free software; you can redistribute it and/or modify
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 9339e9a..d3c9f21 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Stub for symlink().
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 85f1e8d..d94e1d1 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of optional automatic memory allocation.
-   Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -46,7 +44,7 @@ main ()
     {
       /* Try various values.
          n = 0 gave a crash on Alpha with gcc-2.5.8.
-         Some versions of MacOS X have a stack size limit of 512 KB.  */
+         Some versions of Mac OS X have a stack size limit of 512 KB.  */
       func (34);
       func (134);
       func (399);
diff --git a/gnulib-tests/test-areadlink.c b/gnulib-tests/test-areadlink.c
new file mode 100644 (file)
index 0000000..2357680
--- /dev/null
@@ -0,0 +1,53 @@
+/* Tests of areadlink.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
+
+#include <config.h>
+
+#include "areadlink.h"
+
+#include <fcntl.h>
+#include <errno.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include "ignore-value.h"
+#include "macros.h"
+
+#define BASE "test-areadlink.t"
+
+#include "test-areadlink.h"
+
+/* Wrapper for testing areadlink.  */
+static char *
+do_areadlink (char const *name, size_t ignored _GL_UNUSED)
+{
+  return areadlink (name);
+}
+
+int
+main (void)
+{
+  /* Remove any leftovers from a previous partial run.  */
+  ignore_value (system ("rm -rf " BASE "*"));
+
+  return test_areadlink (do_areadlink, true);
+}
diff --git a/gnulib-tests/test-areadlink.h b/gnulib-tests/test-areadlink.h
new file mode 100644 (file)
index 0000000..ccc7187
--- /dev/null
@@ -0,0 +1,83 @@
+/* Tests of areadlink and friends.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
+
+/* This file is designed to test areadlink(a),
+   areadlink_with_size(a,b), and areadlinkat(AT_FDCWD,a).  FUNC is the
+   function to test; a length is always supplied, but may be ignored.
+   Assumes that BASE and ASSERT are already defined, and that
+   appropriate headers are already included.  If PRINT, warn before
+   skipping symlink tests with status 77.  */
+
+static int
+test_areadlink (char * (*func) (char const *, size_t), bool print)
+{
+  /* Sanity checks of failures.  Mingw lacks symlink, but areadlink can
+     still distinguish between various errors.  */
+  errno = 0;
+  ASSERT (func ("no_such", 1) == NULL);
+  ASSERT (errno == ENOENT);
+  errno = 0;
+  ASSERT (func ("no_such/", 1) == NULL);
+  ASSERT (errno == ENOENT);
+  errno = 0;
+  ASSERT (func ("", 1) == NULL);
+  ASSERT (errno == ENOENT || errno == EINVAL);
+  errno = 0;
+  ASSERT (func (".", 1) == NULL);
+  ASSERT (errno == EINVAL);
+  errno = 0;
+  ASSERT (func ("./", 1) == NULL);
+  ASSERT (errno == EINVAL);
+  ASSERT (close (creat (BASE "file", 0600)) == 0);
+  errno = 0;
+  ASSERT (func (BASE "file", 1) == NULL);
+  ASSERT (errno == EINVAL);
+  errno = 0;
+  ASSERT (func (BASE "file/", 1) == NULL);
+  ASSERT (errno == ENOTDIR || errno == EINVAL); /* AIX yields EINVAL */
+  ASSERT (unlink (BASE "file") == 0);
+
+  /* Now test actual symlinks.  */
+  if (symlink (BASE "dir", BASE "link"))
+    {
+      if (print)
+        fputs ("skipping test: symlinks not supported on this file system\n",
+               stderr);
+      return 77;
+    }
+  ASSERT (mkdir (BASE "dir", 0700) == 0);
+  errno = 0;
+  ASSERT (func (BASE "link/", 1) == NULL);
+  ASSERT (errno == EINVAL);
+  {
+    /* Too small a guess is okay.  */
+    char *buf = func (BASE "link", 1);
+    ASSERT (buf);
+    ASSERT (strcmp (buf, BASE "dir") == 0);
+    free (buf);
+    /* Too large a guess is okay.  */
+    buf = func (BASE "link", 10000000);
+    ASSERT (buf);
+    ASSERT (strcmp (buf, BASE "dir") == 0);
+    free (buf);
+  }
+  ASSERT (rmdir (BASE "dir") == 0);
+  ASSERT (unlink (BASE "link") == 0);
+
+  return 0;
+}
index 902c9bf..9e24dc1 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of exact or abbreviated match search.
-   Copyright (C) 1990, 1998-1999, 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 1990, 1998-1999, 2001-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 8311fb1..b258d51 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of binary mode I/O.
-   Copyright (C) 2005, 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #include "macros.h"
 
 int
-main ()
+main (int argc, char *argv[])
 {
   /* Test the O_BINARY macro.  */
   {
     int fd =
-      open ("t-bin-out2.tmp", O_CREAT | O_TRUNC | O_RDWR | O_BINARY, 0600);
+      open ("t-bin-out0.tmp", O_CREAT | O_TRUNC | O_RDWR | O_BINARY, 0600);
     if (write (fd, "Hello\n", 6) < 0)
       exit (1);
     close (fd);
   }
   {
     struct stat statbuf;
-    if (stat ("t-bin-out2.tmp", &statbuf) < 0)
+    if (stat ("t-bin-out0.tmp", &statbuf) < 0)
       exit (1);
     ASSERT (statbuf.st_size == 6);
   }
-  unlink ("t-bin-out2.tmp");
 
-  /* Test the SET_BINARY macro.  */
-  SET_BINARY (1);
-  fputs ("Hello\n", stdout);
-  fclose (stdout);
-  fclose (stderr);
-  {
-    struct stat statbuf;
-    if (stat ("t-bin-out1.tmp", &statbuf) < 0)
-      exit (1);
-    ASSERT (statbuf.st_size == 6);
-  }
+  switch (argv[1][0])
+    {
+    case '1':
+      /* Test the set_binary_mode() function.  */
+      set_binary_mode (1, O_BINARY);
+      fputs ("Hello\n", stdout);
+      break;
+
+    case '2':
+      /* Test the SET_BINARY macro.  */
+      SET_BINARY (1);
+      fputs ("Hello\n", stdout);
+      break;
+
+    default:
+      break;
+    }
 
   return 0;
 }
index 33e128c..c4dd6e9 100755 (executable)
@@ -3,8 +3,11 @@
 tmpfiles=""
 trap 'rm -fr $tmpfiles' 1 2 3 15
 
-tmpfiles="$tmpfiles t-bin-out1.tmp t-bin-out2.tmp"
-./test-binary-io${EXEEXT} > t-bin-out1.tmp || exit 1
+tmpfiles="$tmpfiles t-bin-out0.tmp t-bin-out1.tmp t-bin-out2.tmp"
+./test-binary-io${EXEEXT} 1 > t-bin-out1.tmp || exit 1
+cmp t-bin-out0.tmp t-bin-out1.tmp > /dev/null || exit 1
+./test-binary-io${EXEEXT} 2 > t-bin-out2.tmp || exit 1
+cmp t-bin-out0.tmp t-bin-out2.tmp > /dev/null || exit 1
 
 rm -fr $tmpfiles
 
index 3a71ff3..380f08d 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <bitrotate.h> substitute.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 3c0ca73..7779469 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of conversion of unibyte character to wide character.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 2d39b15..c0aa662 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of character handling in C locale.
-   Copyright (C) 2005, 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 00b5762..24fccf3 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of c-stack module.
-   Copyright (C) 2002, 2004, 2006, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2006, 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 66eded7..26d9ca4 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of case-insensitive string comparison function.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 19861b2..075f15e 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of case-insensitive string comparison function.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
similarity index 52%
rename from lib/quote.c
rename to gnulib-tests/test-close.c
index 1989c8c..974ed1b 100644 (file)
@@ -1,7 +1,5 @@
-/* quote.c - quote arguments for output
-
-   Copyright (C) 1998-2001, 2003, 2005-2006, 2009-2011 Free Software
-   Foundation, Inc.
+/* Test closing a file or socket.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-/* Written by Paul Eggert <eggert@twinsun.com> */
-
 #include <config.h>
 
-#include "quotearg.h"
-#include "quote.h"
+#include <unistd.h>
 
-/* Return an unambiguous printable representation of NAME,
-   allocated in slot N, suitable for diagnostics.  */
-char const *
-quote_n (int n, char const *name)
-{
-  return quotearg_n_style (n, locale_quoting_style, name);
-}
+#include "signature.h"
+SIGNATURE_CHECK (close, int, (int));
+
+#include <errno.h>
+
+#include "macros.h"
 
-/* Return an unambiguous printable representation of NAME,
-   suitable for diagnostics.  */
-char const *
-quote (char const *name)
+int
+main (void)
 {
-  return quote_n (0, name);
+  /* Test behaviour for invalid file descriptors.  */
+  {
+    errno = 0;
+    ASSERT (close (-1) == -1);
+    ASSERT (errno == EBADF);
+  }
+  {
+    close (99);
+    errno = 0;
+    ASSERT (close (99) == -1);
+    ASSERT (errno == EBADF);
+  }
+
+  return 0;
 }
index bd0ab20..a017bce 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test the gnulib dirname module.
-   Copyright (C) 2005-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -151,14 +149,15 @@ main (void)
                  || (dirlen + 1 == strlen (dir) && dir[dirlen] == '.'))))
         {
           ok = false;
-          printf ("dir_name `%s': got `%s' len %d, expected `%s' len %ld\n",
+          printf ("dir_name '%s': got '%s' len %d,"
+                  " expected '%s' len %ld\n",
                   t->name, dir, dirlen,
                   t->dir, (unsigned long) strlen (t->dir));
         }
       if (strcmp (last, t->last))
         {
           ok = false;
-          printf ("last_component `%s': got `%s', expected `%s'\n",
+          printf ("last_component '%s': got '%s', expected '%s'\n",
                   t->name, last, t->last);
         }
       if (! (strcmp (base, t->base) == 0
@@ -167,21 +166,22 @@ main (void)
                      && ISSLASH (base[baselen])))))
         {
           ok = false;
-          printf ("base_name `%s': got `%s' len %d, expected `%s' len %ld\n",
+          printf ("base_name '%s': got '%s' len %d,"
+                  " expected '%s' len %ld\n",
                   t->name, base, baselen,
                   t->base, (unsigned long) strlen (t->base));
         }
       if (strcmp (stripped, t->stripped) || modified != t->modified)
         {
           ok = false;
-          printf ("strip_trailing_slashes `%s': got %s %s, expected %s %s\n",
+          printf ("strip_trailing_slashes '%s': got %s %s, expected %s %s\n",
                   t->name, stripped, modified ? "changed" : "unchanged",
                   t->stripped, t->modified ? "changed" : "unchanged");
         }
       if (t->absolute != absolute)
         {
           ok = false;
-          printf ("`%s': got %s, expected %s\n", t->name,
+          printf ("'%s': got %s, expected %s\n", t->name,
                   absolute ? "absolute" : "relative",
                   t->absolute ? "absolute" : "relative");
         }
index 4b344e6..9600c85 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test duplicating file descriptors.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -35,9 +33,11 @@ SIGNATURE_CHECK (dup2, int, (int, int));
 #endif
 
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Get declarations of the Win32 API functions.  */
+/* Get declarations of the native Windows API functions.  */
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
+/* Get _get_osfhandle.  */
+# include "msvc-nothrow.h"
 #endif
 
 #include "macros.h"
@@ -47,7 +47,7 @@ static int
 is_open (int fd)
 {
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-  /* On Win32, the initial state of unassigned standard file
+  /* On native Windows, the initial state of unassigned standard file
      descriptors is that they are open but point to an
      INVALID_HANDLE_VALUE, and there is no fcntl.  */
   return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE;
@@ -65,7 +65,7 @@ static int
 is_inheritable (int fd)
 {
 # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-  /* On Win32, the initial state of unassigned standard file
+  /* On native Windows, the initial state of unassigned standard file
      descriptors is that they are open but point to an
      INVALID_HANDLE_VALUE, and there is no fcntl.  */
   HANDLE h = (HANDLE) _get_osfhandle (fd);
@@ -122,6 +122,10 @@ main (void)
   errno = 0;
   ASSERT (dup2 (-1, fd) == -1);
   ASSERT (errno == EBADF);
+  close (99);
+  errno = 0;
+  ASSERT (dup2 (99, fd) == -1);
+  ASSERT (errno == EBADF);
   errno = 0;
   ASSERT (dup2 (AT_FDCWD, fd) == -1);
   ASSERT (errno == EBADF);
index d592220..cb3d9f6 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of environ variable.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 5836dd8..29eb510 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <errno.h> substitute.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -100,6 +98,8 @@ int e115 = EINPROGRESS;
 int e116 = ESTALE;
 int e122 = EDQUOT;
 int e125 = ECANCELED;
+int e130 = EOWNERDEAD;
+int e131 = ENOTRECOVERABLE;
 
 /* Don't verify that these errno values are all different, except for possibly
    EWOULDBLOCK == EAGAIN.  Even Linux/x86 does not pass this check: it has
index a2c5083..bad2837 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test suite for exclude.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
    This file is part of the GNUlib Library.
 
    This program is free software: you can redistribute it and/or modify
@@ -106,6 +104,15 @@ main (int argc, char **argv)
             exclude_options &= ~flag;
           else
             exclude_options |= flag;
+
+          /* Skip this test if invoked with -leading-dir on a system that
+             lacks support for FNM_LEADING_DIR. */
+          if (strcmp (s, "leading_dir") == 0 && FNM_LEADING_DIR == 0)
+            exit (77);
+
+          /* Likewise for -casefold and FNM_CASEFOLD.  */
+          if (strcmp (s, "casefold") == 0 && FNM_CASEFOLD == 0)
+            exit (77);
         }
       else if (add_exclude_file (add_exclude, exclude, opt,
                                  exclude_options, '\n') != 0)
index 9c5f709..df62699 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test suite for exclude.
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 # This file is part of the GNUlib Library.
 #
 # This program is free software: you can redistribute it and/or modify
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TMP=excltmp.$$
-LIST=flist.$$
-ERR=0
+. "${srcdir=.}/init.sh"; path_prepend_ .
+fail=0
 
 # Test literal matches
 
-cat > $LIST <<EOT
+cat > in <<EOT
 foo*
 bar
 Baz
 EOT
 
-cat > $TMP <<EOT
+cat > expected <<EOT
 foo: 0
 foo*: 1
 bar: 1
@@ -37,9 +36,15 @@ baz: 0
 bar/qux: 0
 EOT
 
-./test-exclude$EXEEXT $LIST -- foo 'foo*' bar foobar baz bar/qux |
- tr -d '\015' |
- diff -c $TMP - || ERR=1
+test-exclude in -- foo 'foo*' bar foobar baz bar/qux > out || exit $?
 
-rm -f $TMP $LIST
-exit $ERR
+# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
+# does not understand '\r'.
+case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac
+
+# normalize output
+LC_ALL=C tr -d "$cr" < out > k && mv k out
+
+compare expected out || fail=1
+
+Exit $fail
index 7011754..bc35be8 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test suite for exclude.
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 # This file is part of the GNUlib Library.
 #
 # This program is free software: you can redistribute it and/or modify
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TMP=excltmp.$$
-LIST=flist.$$
-ERR=0
+. "${srcdir=.}/init.sh"; path_prepend_ .
+fail=0
 
-cat > $LIST <<EOT
+cat > in <<EOT
 foo*
 bar
 Baz
@@ -28,7 +27,7 @@ EOT
 
 # Test case-insensitive literal matches
 
-cat > $TMP <<EOT
+cat > expected <<EOT
 foo: 0
 foo*: 1
 bar: 1
@@ -37,9 +36,15 @@ baz: 1
 bar/qux: 0
 EOT
 
-./test-exclude$EXEEXT -casefold $LIST -- foo 'foo*' bar foobar baz bar/qux |
- tr -d '\015' |
- diff -c $TMP - || ERR=1
+test-exclude -casefold in -- foo 'foo*' bar foobar baz bar/qux > out || exit $?
 
-rm -f $TMP $LIST
-exit $ERR
+# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
+# does not understand '\r'.
+case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac
+
+# normalize output
+LC_ALL=C tr -d "$cr" < out > k && mv k out
+
+compare expected out || fail=1
+
+Exit $fail
index 6b8512e..497c58f 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test suite for exclude.
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 # This file is part of the GNUlib Library.
 #
 # This program is free software: you can redistribute it and/or modify
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TMP=excltmp.$$
-LIST=flist.$$
-ERR=0
+. "${srcdir=.}/init.sh"; path_prepend_ .
+fail=0
 
 # Test include
 
-cat > $LIST <<EOT
+cat > in <<EOT
 foo*
 bar
 Baz
 EOT
 
-cat > $TMP <<EOT
+cat > expected <<EOT
 foo: 1
 foo*: 0
 bar: 0
@@ -37,9 +36,15 @@ baz: 1
 bar/qux: 1
 EOT
 
-./test-exclude$EXEEXT -include $LIST -- foo 'foo*' bar foobar baz bar/qux |
- tr -d '\015' |
- diff -c $TMP - || ERR=1
+test-exclude -include in -- foo 'foo*' bar foobar baz bar/qux > out || exit $?
 
-rm -f $TMP $LIST
-exit $ERR
+# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
+# does not understand '\r'.
+case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac
+
+# normalize output
+LC_ALL=C tr -d "$cr" < out > k && mv k out
+
+compare expected out || fail=1
+
+Exit $fail
index 99c4c9f..f450dbb 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test suite for exclude.
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 # This file is part of the GNUlib Library.
 #
 # This program is free software: you can redistribute it and/or modify
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TMP=excltmp.$$
-LIST=flist.$$
-ERR=0
+. "${srcdir=.}/init.sh"; path_prepend_ .
+fail=0
 
 # Test wildcard matching
 
-cat > $LIST <<EOT
+cat > in <<EOT
 foo*
 bar
 Baz
 EOT
 
-cat > $TMP <<EOT
+cat > expected <<EOT
 foobar: 1
 EOT
 
-./test-exclude$EXEEXT -wildcards $LIST -- foobar |
- tr -d '\015' |
- diff -c $TMP - || ERR=1
+test-exclude -wildcards in -- foobar > out || exit $?
 
-rm -f $TMP $LIST
-exit $ERR
+# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
+# does not understand '\r'.
+case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac
+
+# normalize output
+LC_ALL=C tr -d "$cr" < out > k && mv k out
+
+compare expected out || fail=1
+
+Exit $fail
index 7f95ea7..1dac96b 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test suite for exclude.
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 # This file is part of the GNUlib Library.
 #
 # This program is free software: you can redistribute it and/or modify
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TMP=excltmp.$$
-LIST=flist.$$
-ERR=0
+. "${srcdir=.}/init.sh"; path_prepend_ .
+fail=0
 
 # Test FNM_LEADING_DIR
 
-cat > $LIST <<EOT
+cat > in <<EOT
 foo*
 bar
 Baz
 EOT
 
-cat > $TMP <<EOT
+cat > expected <<EOT
 bar: 1
 bar/qux: 1
 barz: 0
 foo/bar: 1
 EOT
 
-./test-exclude$EXEEXT -leading_dir $LIST -- bar bar/qux barz foo/bar |
- tr -d '\015' |
- diff -c $TMP - || ERR=1
+test-exclude -leading_dir in -- bar bar/qux barz foo/bar > out || exit $?
 
-rm -f $TMP $LIST
-exit $ERR
+# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
+# does not understand '\r'.
+case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac
+
+# normalize output
+LC_ALL=C tr -d "$cr" < out > k && mv k out
+
+compare expected out || fail=1
+
+Exit $fail
index eb4f5f1..c0b1cba 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test suite for exclude.
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 # This file is part of the GNUlib Library.
 #
 # This program is free software: you can redistribute it and/or modify
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TMP=excltmp.$$
-LIST=flist.$$
-ERR=0
+. "${srcdir=.}/init.sh"; path_prepend_ .
+fail=0
 
 # Test anchored
 
-cat > $LIST <<EOT
+cat > in <<EOT
 foo*
 bar
 Baz
 EOT
 
-cat > $TMP <<EOT
+cat > expected <<EOT
 bar: 1
 foo/bar: 0
 EOT
 
-./test-exclude$EXEEXT -anchored $LIST -- bar foo/bar |
- tr -d '\015' |
- diff -c $TMP - || ERR=1
+test-exclude -anchored in -- bar foo/bar > out || exit $?
 
-rm -f $TMP $LIST
-exit $ERR
+# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
+# does not understand '\r'.
+case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac
+
+# normalize output
+LC_ALL=C tr -d "$cr" < out > k && mv k out
+
+compare expected out || fail=1
+
+Exit $fail
index 03ed2a6..cb1e0cb 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test suite for exclude.
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 # This file is part of the GNUlib Library.
 #
 # This program is free software: you can redistribute it and/or modify
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TMP=excltmp.$$
-LIST=flist.$$
-ERR=0
+. "${srcdir=.}/init.sh"; path_prepend_ .
+fail=0
 
 # Test exclude precedence
 
-cat > $LIST <<EOT
+cat > in <<EOT
 foo*
 bar
 Baz
 EOT
 
-cat > $TMP <<EOT
-bar: 1
+cat > expected <<EOT
 bar: 0
+bar: 1
 EOT
 
-./test-exclude$EXEEXT $LIST -include $LIST -- bar |
- tr -d '\015' >$TMP.1
-./test-exclude$EXEEXT -include $LIST -no-include $LIST -- bar |
- tr -d '\015' >>$TMP.1
+test-exclude in -include in -- bar > out || exit $?
+test-exclude -include in -no-include in -- bar >> out || exit $?
+
+# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
+# does not understand '\r'.
+case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac
+
+# normalize output
+LC_ALL=C tr -d "$cr" < out > k && mv k out
 
-diff -c $TMP $TMP.1 || ERR=1
+compare expected out || fail=1
 
-rm -f $TMP $TMP.1 $LIST
-exit $ERR
+Exit $fail
index 9592070..9cbdbac 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test suite for exclude.
-# Copyright (C) 2010-2011 Free Software Foundation, Inc.
+# Copyright (C) 2010-2013 Free Software Foundation, Inc.
 # This file is part of the GNUlib Library.
 #
 # This program is free software: you can redistribute it and/or modify
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-TMP=excltmp.$$
-LIST=flist.$$
-ERR=0
+. "${srcdir=.}/init.sh"; path_prepend_ .
+fail=0
 
 # Test escaped metacharacters.
 
-cat > $LIST <<'EOT'
+cat > in <<'EOT'
 f\*e
 b[a\*]r
 EOT
 
-cat > $TMP <<'EOT'
+cat > expected <<'EOT'
 f*e: 1
 file: 0
 bar: 1
 EOT
 
-./test-exclude$EXEEXT -wildcards $LIST -- 'f*e' 'file' 'bar' |
- tr -d '\015' | diff -c $TMP - || ERR=1
+test-exclude -wildcards in -- 'f*e' 'file' 'bar' > out || exit $?
 
-rm -f $TMP $LIST
-exit $ERR
+# Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
+# does not understand '\r'.
+case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac
+
+# normalize output
+LC_ALL=C tr -d "$cr" < out > k && mv k out
+
+compare expected out || fail=1
+
+Exit $fail
index 57fd579..e30ff19 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <fcntl.h> substitute.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -23,9 +21,9 @@
 #include <fcntl.h>
 
 /* Check that the various O_* macros are defined.  */
-int o = O_DIRECT | O_DIRECTORY | O_DSYNC | O_NDELAY | O_NOATIME | O_NONBLOCK
-        | O_NOCTTY | O_NOFOLLOW | O_NOLINKS | O_RSYNC | O_SYNC | O_TTY_INIT
-        | O_BINARY | O_TEXT;
+int o = (O_DIRECT | O_DIRECTORY | O_DSYNC | O_IGNORE_CTTY | O_NDELAY | O_NOATIME
+        | O_NONBLOCK | O_NOCTTY | O_NOFOLLOW | O_NOLINK | O_NOLINKS | O_NOTRANS
+        | O_RSYNC | O_SYNC | O_TTY_INIT | O_BINARY | O_TEXT);
 
 /* Check that the various SEEK_* macros are defined.  */
 int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET };
@@ -33,6 +31,11 @@ int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET };
 /* Check that the FD_* macros are defined.  */
 int i = FD_CLOEXEC;
 
+/* Check that the types are all defined.  */
+pid_t t1;
+off_t t2;
+mode_t t3;
+
 int
 main (void)
 {
@@ -58,7 +61,7 @@ main (void)
 #if O_SEARCH && O_EXEC != O_SEARCH && O_SEARCH != O_RDONLY
     case O_SEARCH:
 #endif
-      i = O_ACCMODE == (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH);
+      i = ! (~O_ACCMODE & (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH));
       break;
 
       /* Everyone should have these */
@@ -81,6 +84,9 @@ main (void)
 #if O_DSYNC
     case O_DSYNC:
 #endif
+#if O_IGNORE_CTTY
+    case O_IGNORE_CTTY:
+#endif
 #if O_NOATIME
     case O_NOATIME:
 #endif
@@ -93,9 +99,15 @@ main (void)
 #if O_NOFOLLOW
     case O_NOFOLLOW:
 #endif
+#if O_NOLINK
+    case O_NOLINK:
+#endif
 #if O_NOLINKS
     case O_NOLINKS:
 #endif
+#if O_NOTRANS
+    case O_NOTRANS:
+#endif
 #if O_RSYNC && O_RSYNC != O_DSYNC
     case O_RSYNC:
 #endif
index 6b4ad09..67d1b41 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of fcntl(2).
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -33,9 +31,11 @@ SIGNATURE_CHECK (fcntl, int, (int, int, ...));
 #include <unistd.h>
 
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Get declarations of the Win32 API functions.  */
+/* Get declarations of the native Windows API functions.  */
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
+/* Get _get_osfhandle.  */
+# include "msvc-nothrow.h"
 #endif
 
 #include "binary-io.h"
@@ -51,7 +51,7 @@ static bool
 is_open (int fd)
 {
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-  /* On Win32, the initial state of unassigned standard file
+  /* On native Windows, the initial state of unassigned standard file
      descriptors is that they are open but point to an
      INVALID_HANDLE_VALUE, and there is no fcntl.  */
   return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE;
@@ -68,7 +68,7 @@ static bool
 is_inheritable (int fd)
 {
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-  /* On Win32, the initial state of unassigned standard file
+  /* On native Windows, the initial state of unassigned standard file
      descriptors is that they are open but point to an
      INVALID_HANDLE_VALUE, and there is no fcntl.  */
   HANDLE h = (HANDLE) _get_osfhandle (fd);
@@ -314,7 +314,7 @@ main (void)
   ASSERT (is_mode (fd + 2, O_TEXT));
   ASSERT (close (fd + 2) == 0);
 
-  /* Test F_GETFD.  */
+  /* Test F_GETFD on invalid file descriptors.  */
   errno = 0;
   ASSERT (fcntl (-1, F_GETFD) == -1);
   ASSERT (errno == EBADF);
@@ -324,6 +324,8 @@ main (void)
   errno = 0;
   ASSERT (fcntl (10000000, F_GETFD) == -1);
   ASSERT (errno == EBADF);
+
+  /* Test F_GETFD, the FD_CLOEXEC bit.  */
   {
     int result = fcntl (fd, F_GETFD);
     ASSERT (0 <= result);
@@ -335,6 +337,71 @@ main (void)
     ASSERT (close (fd + 1) == 0);
   }
 
+#ifdef F_SETFD
+  /* Test F_SETFD on invalid file descriptors.  */
+  errno = 0;
+  ASSERT (fcntl (-1, F_SETFD, 0) == -1);
+  ASSERT (errno == EBADF);
+  errno = 0;
+  ASSERT (fcntl (fd + 1, F_SETFD, 0) == -1);
+  ASSERT (errno == EBADF);
+  errno = 0;
+  ASSERT (fcntl (10000000, F_SETFD, 0) == -1);
+  ASSERT (errno == EBADF);
+#endif
+
+#ifdef F_GETFL
+  /* Test F_GETFL on invalid file descriptors.  */
+  errno = 0;
+  ASSERT (fcntl (-1, F_GETFL) == -1);
+  ASSERT (errno == EBADF);
+  errno = 0;
+  ASSERT (fcntl (fd + 1, F_GETFL) == -1);
+  ASSERT (errno == EBADF);
+  errno = 0;
+  ASSERT (fcntl (10000000, F_GETFL) == -1);
+  ASSERT (errno == EBADF);
+#endif
+
+#ifdef F_SETFL
+  /* Test F_SETFL on invalid file descriptors.  */
+  errno = 0;
+  ASSERT (fcntl (-1, F_SETFL, 0) == -1);
+  ASSERT (errno == EBADF);
+  errno = 0;
+  ASSERT (fcntl (fd + 1, F_SETFL, 0) == -1);
+  ASSERT (errno == EBADF);
+  errno = 0;
+  ASSERT (fcntl (10000000, F_SETFL, 0) == -1);
+  ASSERT (errno == EBADF);
+#endif
+
+#ifdef F_GETOWN
+  /* Test F_GETOWN on invalid file descriptors.  */
+  errno = 0;
+  ASSERT (fcntl (-1, F_GETOWN) == -1);
+  ASSERT (errno == EBADF);
+  errno = 0;
+  ASSERT (fcntl (fd + 1, F_GETOWN) == -1);
+  ASSERT (errno == EBADF);
+  errno = 0;
+  ASSERT (fcntl (10000000, F_GETOWN) == -1);
+  ASSERT (errno == EBADF);
+#endif
+
+#ifdef F_SETOWN
+  /* Test F_SETFL on invalid file descriptors.  */
+  errno = 0;
+  ASSERT (fcntl (-1, F_SETOWN, 0) == -1);
+  ASSERT (errno == EBADF);
+  errno = 0;
+  ASSERT (fcntl (fd + 1, F_SETOWN, 0) == -1);
+  ASSERT (errno == EBADF);
+  errno = 0;
+  ASSERT (fcntl (10000000, F_SETOWN, 0) == -1);
+  ASSERT (errno == EBADF);
+#endif
+
   /* Cleanup.  */
   ASSERT (close (fd) == 0);
   ASSERT (unlink (file) == 0);
diff --git a/gnulib-tests/test-fdopen.c b/gnulib-tests/test-fdopen.c
new file mode 100644 (file)
index 0000000..671c5e3
--- /dev/null
@@ -0,0 +1,56 @@
+/* Test opening a stream with a file descriptor.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fdopen, FILE *, (int, const char *));
+
+#include <errno.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+int
+main (void)
+{
+  /* Test behaviour for invalid file descriptors.  */
+  {
+    FILE *fp;
+
+    errno = 0;
+    fp = fdopen (-1, "r");
+    if (fp == NULL)
+      ASSERT (errno == EBADF);
+    else
+      fclose (fp);
+  }
+  {
+    FILE *fp;
+
+    close (99);
+    errno = 0;
+    fp = fdopen (99, "r");
+    if (fp == NULL)
+      ASSERT (errno == EBADF);
+    else
+      fclose (fp);
+  }
+
+  return 0;
+}
diff --git a/gnulib-tests/test-fgetc.c b/gnulib-tests/test-fgetc.c
new file mode 100644 (file)
index 0000000..b4a617a
--- /dev/null
@@ -0,0 +1,97 @@
+/* Test of fgetc() function.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fgetc, int, (FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "msvc-inval.h"
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+  const char *filename = "test-fgetc.txt";
+
+  /* We don't have an fgetc() function that installs an invalid parameter
+     handler so far.  So install that handler here, explicitly.  */
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+    && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+  gl_msvc_inval_ensure_handler ();
+#endif
+
+  /* Prepare a file.  */
+  {
+    const char text[] = "hello world";
+    int fd = open (filename, O_RDWR | O_CREAT | O_TRUNC, 0600);
+    ASSERT (fd >= 0);
+    ASSERT (write (fd, text, sizeof (text)) == sizeof (text));
+    ASSERT (close (fd) == 0);
+  }
+
+  /* Test that fgetc() sets errno if someone else closes the stream
+     fd behind the back of stdio.  */
+  {
+    FILE *fp = fopen (filename, "r");
+    ASSERT (fp != NULL);
+    ASSERT (close (fileno (fp)) == 0);
+    errno = 0;
+    ASSERT (fgetc (fp) == EOF);
+    ASSERT (errno == EBADF);
+    ASSERT (ferror (fp));
+    fclose (fp);
+  }
+
+  /* Test that fgetc() sets errno if the stream was constructed with
+     an invalid file descriptor.  */
+  {
+    FILE *fp = fdopen (-1, "r");
+    if (fp != NULL)
+      {
+        errno = 0;
+        ASSERT (fgetc (fp) == EOF);
+        ASSERT (errno == EBADF);
+        ASSERT (ferror (fp));
+        fclose (fp);
+      }
+  }
+  {
+    FILE *fp;
+    close (99);
+    fp = fdopen (99, "r");
+    if (fp != NULL)
+      {
+        errno = 0;
+        ASSERT (fgetc (fp) == EOF);
+        ASSERT (errno == EBADF);
+        ASSERT (ferror (fp));
+        fclose (fp);
+      }
+  }
+
+  /* Clean up.  */
+  unlink (filename);
+
+  return 0;
+}
index 658d9fa..2d29cd4 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of concatenation of two arbitrary file names.
 
-   Copyright (C) 1996-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1996-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index cb4c1cf..7d3142f 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <float.h> substitute.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -300,14 +298,7 @@ test_long_double (void)
 
   /* Check that 'long double' is at least as wide as 'double'.  */
   ASSERT (LDBL_MANT_DIG >= DBL_MANT_DIG);
-
-  /* Normally, we would also assert this:
-       ASSERT (LDBL_MIN_EXP <= DBL_MIN_EXP);
-     but at least on powerpc64 with gcc-4.4.4, it would fail:
-     $ :|gcc -dD -E -include stddef.h -|grep -E 'L?DBL_MIN_EXP'
-     #define __DBL_MIN_EXP__ (-1021)
-     #define __LDBL_MIN_EXP__ (-968)
-  */
+  ASSERT (LDBL_MIN_EXP - LDBL_MANT_DIG <= DBL_MIN_EXP - DBL_MANT_DIG);
   ASSERT (LDBL_MAX_EXP >= DBL_MAX_EXP);
 
   /* Check the value of LDBL_DIG.  */
index ff71612..71304a4 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of fnmatch string matching function.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gnulib-tests/test-fputc.c b/gnulib-tests/test-fputc.c
new file mode 100644 (file)
index 0000000..e05f641
--- /dev/null
@@ -0,0 +1,91 @@
+/* Test of fputc() function.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fputc, int, (int, FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "msvc-inval.h"
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+  const char *filename = "test-fputc.txt";
+
+  /* We don't have an fputc() function that installs an invalid parameter
+     handler so far.  So install that handler here, explicitly.  */
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+    && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+  gl_msvc_inval_ensure_handler ();
+#endif
+
+  /* Test that fputc() on an unbuffered stream sets errno if someone else
+     closes the stream fd behind the back of stdio.  */
+  {
+    FILE *fp = fopen (filename, "w");
+    ASSERT (fp != NULL);
+    setvbuf (fp, NULL, _IONBF, 0);
+    ASSERT (close (fileno (fp)) == 0);
+    errno = 0;
+    ASSERT (fputc ('x', fp) == EOF);
+    ASSERT (errno == EBADF);
+    ASSERT (ferror (fp));
+    fclose (fp);
+  }
+
+  /* Test that fputc() on an unbuffered stream sets errno if the stream
+     was constructed with an invalid file descriptor.  */
+  {
+    FILE *fp = fdopen (-1, "w");
+    if (fp != NULL)
+      {
+        setvbuf (fp, NULL, _IONBF, 0);
+        errno = 0;
+        ASSERT (fputc ('x', fp) == EOF);
+        ASSERT (errno == EBADF);
+        ASSERT (ferror (fp));
+        fclose (fp);
+      }
+  }
+  {
+    FILE *fp;
+    close (99);
+    fp = fdopen (99, "w");
+    if (fp != NULL)
+      {
+        setvbuf (fp, NULL, _IONBF, 0);
+        errno = 0;
+        ASSERT (fputc ('x', fp) == EOF);
+        ASSERT (errno == EBADF);
+        ASSERT (ferror (fp));
+        fclose (fp);
+      }
+  }
+
+  /* Clean up.  */
+  unlink (filename);
+
+  return 0;
+}
diff --git a/gnulib-tests/test-fread.c b/gnulib-tests/test-fread.c
new file mode 100644 (file)
index 0000000..a807e0a
--- /dev/null
@@ -0,0 +1,100 @@
+/* Test of fread() function.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fread, size_t, (void *, size_t, size_t, FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "msvc-inval.h"
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+  const char *filename = "test-fread.txt";
+
+  /* We don't have an fread() function that installs an invalid parameter
+     handler so far.  So install that handler here, explicitly.  */
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+    && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+  gl_msvc_inval_ensure_handler ();
+#endif
+
+  /* Prepare a file.  */
+  {
+    const char text[] = "hello world";
+    int fd = open (filename, O_RDWR | O_CREAT | O_TRUNC, 0600);
+    ASSERT (fd >= 0);
+    ASSERT (write (fd, text, sizeof (text)) == sizeof (text));
+    ASSERT (close (fd) == 0);
+  }
+
+  /* Test that fread() sets errno if someone else closes the stream
+     fd behind the back of stdio.  */
+  {
+    FILE *fp = fopen (filename, "r");
+    char buf[5];
+    ASSERT (fp != NULL);
+    ASSERT (close (fileno (fp)) == 0);
+    errno = 0;
+    ASSERT (fread (buf, 1, sizeof (buf), fp) == 0);
+    ASSERT (errno == EBADF);
+    ASSERT (ferror (fp));
+    fclose (fp);
+  }
+
+  /* Test that fread() sets errno if the stream was constructed with
+     an invalid file descriptor.  */
+  {
+    FILE *fp = fdopen (-1, "r");
+    if (fp != NULL)
+      {
+        char buf[1];
+        errno = 0;
+        ASSERT (fread (buf, 1, 1, fp) == 0);
+        ASSERT (errno == EBADF);
+        ASSERT (ferror (fp));
+        fclose (fp);
+      }
+  }
+  {
+    FILE *fp;
+    close (99);
+    fp = fdopen (99, "r");
+    if (fp != NULL)
+      {
+        char buf[1];
+        errno = 0;
+        ASSERT (fread (buf, 1, 1, fp) == 0);
+        ASSERT (errno == EBADF);
+        ASSERT (ferror (fp));
+        fclose (fp);
+      }
+  }
+
+  /* Clean up.  */
+  unlink (filename);
+
+  return 0;
+}
index e7bb197..5d658f7 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of reopening a stream.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 10eed6e..4b54d8d 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of opening a file stream.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #include "signature.h"
 SIGNATURE_CHECK (freopen, FILE *, (char const *, char const *, FILE *));
 
+#include <errno.h>
+#include <unistd.h>
+
 #include "macros.h"
 
 int
 main ()
 {
+  const char *filename = "test-freopen.txt";
+
   ASSERT (freopen ("/dev/null", "r", stdin) != NULL);
 
+#if 0 /* freopen (NULL, ...) is unsupported on most platforms.  */
+  /* Test that freopen() sets errno if someone else closes the stream
+     fd behind the back of stdio.  */
+  {
+    FILE *fp = fopen (filename, "w+");
+    ASSERT (fp != NULL);
+    ASSERT (close (fileno (fp)) == 0);
+    errno = 0;
+    ASSERT (freopen (NULL, "r", fp) == NULL);
+    perror("freopen");
+    ASSERT (errno == EBADF);
+    fclose (fp);
+  }
+
+  /* Test that freopen() sets errno if the stream was constructed with
+     an invalid file descriptor.  */
+  {
+    FILE *fp = fdopen (-1, "w+");
+    if (fp != NULL)
+      {
+        errno = 0;
+        ASSERT (freopen (NULL, "r", fp) == NULL);
+        ASSERT (errno == EBADF);
+        fclose (fp);
+      }
+  }
+  {
+    FILE *fp;
+    close (99);
+    fp = fdopen (99, "w+");
+    if (fp != NULL)
+      {
+        errno = 0;
+        ASSERT (freopen (NULL, "r", fp) == NULL);
+        ASSERT (errno == EBADF);
+        fclose (fp);
+      }
+  }
+#endif
+
+  /* Clean up.  */
+  unlink (filename);
+
   return 0;
 }
diff --git a/gnulib-tests/test-fstat.c b/gnulib-tests/test-fstat.c
new file mode 100644 (file)
index 0000000..8ce1527
--- /dev/null
@@ -0,0 +1,50 @@
+/* Tests of fstat() function.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <sys/stat.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fstat, int, (int, struct stat *));
+
+#include <errno.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+int
+main (int argc, char *argv[])
+{
+  /* Test behaviour for invalid file descriptors.  */
+  {
+    struct stat statbuf;
+
+    errno = 0;
+    ASSERT (fstat (-1, &statbuf) == -1);
+    ASSERT (errno == EBADF);
+  }
+  {
+    struct stat statbuf;
+
+    close (99);
+    errno = 0;
+    ASSERT (fstat (99, &statbuf) == -1);
+    ASSERT (errno == EBADF);
+  }
+
+  return 0;
+}
diff --git a/gnulib-tests/test-fwrite.c b/gnulib-tests/test-fwrite.c
new file mode 100644 (file)
index 0000000..ef72338
--- /dev/null
@@ -0,0 +1,94 @@
+/* Test of fwrite() function.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fwrite, size_t, (const void *, size_t, size_t, FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "msvc-inval.h"
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+  const char *filename = "test-fwrite.txt";
+
+  /* We don't have an fwrite() function that installs an invalid parameter
+     handler so far.  So install that handler here, explicitly.  */
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+    && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+  gl_msvc_inval_ensure_handler ();
+#endif
+
+  /* Test that fwrite() on an unbuffered stream sets errno if someone else
+     closes the stream fd behind the back of stdio.  */
+  {
+    FILE *fp = fopen (filename, "w");
+    char buf[5] = "world";
+    ASSERT (fp != NULL);
+    setvbuf (fp, NULL, _IONBF, 0);
+    ASSERT (close (fileno (fp)) == 0);
+    errno = 0;
+    ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0);
+    ASSERT (errno == EBADF);
+    ASSERT (ferror (fp));
+    fclose (fp);
+  }
+
+  /* Test that fwrite() on an unbuffered stream sets errno if the stream
+     was constructed with an invalid file descriptor.  */
+  {
+    FILE *fp = fdopen (-1, "w");
+    if (fp != NULL)
+      {
+        char buf[5] = "world";
+        setvbuf (fp, NULL, _IONBF, 0);
+        errno = 0;
+        ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0);
+        ASSERT (errno == EBADF);
+        ASSERT (ferror (fp));
+        fclose (fp);
+      }
+  }
+  {
+    FILE *fp;
+    close (99);
+    fp = fdopen (99, "w");
+    if (fp != NULL)
+      {
+        char buf[5] = "world";
+        setvbuf (fp, NULL, _IONBF, 0);
+        errno = 0;
+        ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0);
+        ASSERT (errno == EBADF);
+        ASSERT (ferror (fp));
+        fclose (fp);
+      }
+  }
+
+  /* Clean up.  */
+  unlink (filename);
+
+  return 0;
+}
index 1dda95d..e3e7b7a 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of getcwd() function.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 727a573..7046481 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of getdtablesize() function.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index cef0924..7caf027 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of command line argument processing.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 3ce7146..450cf0d 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of command line argument processing.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 12ea7ff..345a796 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of command line argument processing.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 32e66b0..2c60876 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /*
- * Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+ * Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
  * Written by Jim Meyering.
  *
  * This program is free software: you can redistribute it and/or modify
index 55c5f86..57c094c 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /*
- * Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ * Copyright (C) 2009-2013 Free Software Foundation, Inc.
  * Written by Jim Meyering
  *
  * This program is free software: you can redistribute it and/or modify
index 3ae9755..7132b33 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <iconv.h> substitute.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 54a69e3..a39ca58 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of character set conversion.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 486c3ac..cb4cf14 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test the "ignore-value" module.
 
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gnulib-tests/test-init.sh b/gnulib-tests/test-init.sh
new file mode 100755 (executable)
index 0000000..6eb6b43
--- /dev/null
@@ -0,0 +1,73 @@
+#!/bin/sh
+# Unit tests for init.sh
+# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+# This file is part of the GNUlib Library.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+: ${srcdir=.}
+. "$srcdir/init.sh"; path_prepend_ .
+
+fail=0
+
+test_compare()
+{
+  touch empty || fail=1
+  echo xyz > in || fail=1
+
+  compare /dev/null /dev/null >out 2>err || fail=1
+  test -s out && fail_ "out not empty: $(cat out)"
+  # "err" should be empty, too, but has "set -x" output when VERBOSE=yes
+  case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
+
+  compare /dev/null empty >out 2>err || fail=1
+  test -s out && fail_ "out not empty: $(cat out)"
+  case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
+
+  compare in in >out 2>err || fail=1
+  test -s out && fail_ "out not empty: $(cat out)"
+  case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
+
+  compare /dev/null in >out 2>err && fail=1
+  cat <<\EOF > exp
+diff -u /dev/null in
+--- /dev/null  1970-01-01
++++ in 1970-01-01
++xyz
+EOF
+  compare exp out || fail=1
+  case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
+
+  compare empty in >out 2>err && fail=1
+  # Compare against expected output only if compare is using diff -u.
+  if grep @ out >/dev/null; then
+    # Remove the TAB-date suffix on each --- and +++ line,
+    # for both the expected and the actual output files.
+    # Also remove the @@ line, since Solaris 5.10 and GNU diff formats differ:
+    # -@@ -0,0 +1 @@
+    # +@@ -1,0 +1,1 @@
+    sed 's/    .*//;/^@@/d' out > k && mv k out
+    cat <<\EOF > exp
+--- empty
++++ in
++xyz
+EOF
+    compare exp out || fail=1
+  fi
+  case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
+}
+
+test_compare
+
+Exit $fail
index d1b7e25..8b91a79 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test intprops.h.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 7b877ad..8f21a1c 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test inttostr functions, and incidentally, INT_BUFSIZE_BOUND
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2010-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 659c638..db1a97e 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <inttypes.h> substitute.
-   Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,9 +18,6 @@
 
 #include <config.h>
 
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
-#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
-#define __STDC_FORMAT_MACROS 1 /* to make it work also in C++ mode */
 #include <inttypes.h>
 
 #include <stddef.h>
index f101c93..5805425 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of iswblank() function.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 47b325a..44e931e 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <langinfo.h> substitute.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a6b689c..3fb7b85 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <locale.h> substitute.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -40,6 +38,10 @@ int a[] =
 locale_t b = LC_GLOBAL_LOCALE;
 #endif
 
+/* Check that the 'struct lconv' type is defined.  */
+struct lconv l;
+int ls;
+
 /* Check that NULL can be passed through varargs as a pointer type,
    per POSIX 2008.  */
 verify (sizeof NULL == sizeof (void *));
@@ -47,5 +49,31 @@ verify (sizeof NULL == sizeof (void *));
 int
 main ()
 {
+  /* Check that 'struct lconv' has the ISO C and POSIX specified members.  */
+  ls += sizeof (*l.decimal_point);
+  ls += sizeof (*l.thousands_sep);
+  ls += sizeof (*l.grouping);
+  ls += sizeof (*l.mon_decimal_point);
+  ls += sizeof (*l.mon_thousands_sep);
+  ls += sizeof (*l.mon_grouping);
+  ls += sizeof (*l.positive_sign);
+  ls += sizeof (*l.negative_sign);
+  ls += sizeof (*l.currency_symbol);
+  ls += sizeof (l.frac_digits);
+  ls += sizeof (l.p_cs_precedes);
+  ls += sizeof (l.p_sign_posn);
+  ls += sizeof (l.p_sep_by_space);
+  ls += sizeof (l.n_cs_precedes);
+  ls += sizeof (l.n_sign_posn);
+  ls += sizeof (l.n_sep_by_space);
+  ls += sizeof (*l.int_curr_symbol);
+  ls += sizeof (l.int_frac_digits);
+  ls += sizeof (l.int_p_cs_precedes);
+  ls += sizeof (l.int_p_sign_posn);
+  ls += sizeof (l.int_p_sep_by_space);
+  ls += sizeof (l.int_n_cs_precedes);
+  ls += sizeof (l.int_n_sign_posn);
+  ls += sizeof (l.int_n_sep_by_space);
+
   return 0;
 }
diff --git a/gnulib-tests/test-localeconv.c b/gnulib-tests/test-localeconv.c
new file mode 100644 (file)
index 0000000..da3344f
--- /dev/null
@@ -0,0 +1,72 @@
+/* Test of localeconv() function.
+   Copyright (C) 2012-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2012.  */
+
+#include <config.h>
+
+#include <locale.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (localeconv, struct lconv *, (void));
+
+#include <limits.h>
+#include <string.h>
+
+#include "macros.h"
+
+int
+main ()
+{
+  /* Test localeconv() result in the "C" locale.  */
+  {
+    struct lconv *l = localeconv ();
+
+    ASSERT (STREQ (l->decimal_point, "."));
+    ASSERT (STREQ (l->thousands_sep, ""));
+#if !(defined __FreeBSD__ || defined __sun)
+    ASSERT (STREQ (l->grouping, ""));
+#endif
+
+    ASSERT (STREQ (l->mon_decimal_point, ""));
+    ASSERT (STREQ (l->mon_thousands_sep, ""));
+#if !(defined __FreeBSD__ || defined __sun)
+    ASSERT (STREQ (l->mon_grouping, ""));
+#endif
+    ASSERT (STREQ (l->positive_sign, ""));
+    ASSERT (STREQ (l->negative_sign, ""));
+
+    ASSERT (STREQ (l->currency_symbol, ""));
+    ASSERT (l->frac_digits == CHAR_MAX);
+    ASSERT (l->p_cs_precedes == CHAR_MAX);
+    ASSERT (l->p_sign_posn == CHAR_MAX);
+    ASSERT (l->p_sep_by_space == CHAR_MAX);
+    ASSERT (l->n_cs_precedes == CHAR_MAX);
+    ASSERT (l->n_sign_posn == CHAR_MAX);
+    ASSERT (l->n_sep_by_space == CHAR_MAX);
+
+    ASSERT (STREQ (l->int_curr_symbol, ""));
+    ASSERT (l->int_frac_digits == CHAR_MAX);
+    ASSERT (l->int_p_cs_precedes == CHAR_MAX);
+    ASSERT (l->int_p_sign_posn == CHAR_MAX);
+    ASSERT (l->int_p_sep_by_space == CHAR_MAX);
+    ASSERT (l->int_n_cs_precedes == CHAR_MAX);
+    ASSERT (l->int_n_sign_posn == CHAR_MAX);
+    ASSERT (l->int_n_sep_by_space == CHAR_MAX);
+  }
+
+  return 0;
+}
index 8ada8b0..d520193 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of lstat() function.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 9ccba9e..b8f1767 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of lstat() function.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 0bb1656..ca0eafa 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of malloc function.
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2010-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 3be20ac..7d5e62e 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of safe automatic memory allocation.
-   Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -47,7 +45,7 @@ main ()
     {
       /* Try various values.
          n = 0 gave a crash on Alpha with gcc-2.5.8.
-         Some versions of MacOS X have a stack size limit of 512 KB.  */
+         Some versions of Mac OS X have a stack size limit of 512 KB.  */
       func (34);
       func (134);
       func (399);
index 51f0887..2125bdf 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of conversion of multibyte character to wide character.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index ba49d7b..4d2d5cb 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of conversion of multibyte character to wide character.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index db8c3ba..d2d65d9 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of case-insensitive string comparison function.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 3bead93..931f059 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of test for initial conversion state.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 96958ad..d48a30b 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of conversion of string to wide string.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index b7372b5..61d0032 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of searching in a string.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a674774..caccb42 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of searching in a string.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index adf6cab..f5cfdde 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of searching in a string.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 6578d09..0ca4589 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /*
- * Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2013 Free Software Foundation, Inc.
  * Written by Eric Blake and Bruno Haible
  *
  * This program is free software: you can redistribute it and/or modify
index bcc04ee..d31e54f 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of nl_langinfo replacement.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index f8721e4..f04144f 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of opening a file descriptor.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index e0e5265..babb239 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of opening a file descriptor.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gnulib-tests/test-pathmax.c b/gnulib-tests/test-pathmax.c
new file mode 100644 (file)
index 0000000..81a0350
--- /dev/null
@@ -0,0 +1,32 @@
+/* Test of "pathmax.h".
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#include <config.h>
+
+#include "pathmax.h"
+
+/* Check that PATH_MAX is a constant if it is defined.  */
+#ifdef PATH_MAX
+int a = PATH_MAX;
+#endif
+
+int
+main (void)
+{
+  return 0;
+}
index 2eb30ad..e7aa8fb 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of quotearg family of functions.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* Written by Eric Blake <ebb9@byu.net>, 2008.  */
 
@@ -29,6 +26,7 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "localcharset.h"
 #include "progname.h"
 #include "macros.h"
 
@@ -87,12 +85,12 @@ static struct result_groups results_g[] = {
       "a\\\\b", LQ_ENC RQ_ENC, LQ RQ } },
 
   /* locale_quoting_style */
-  { { "`'", "`\\0001\\0'", 9, "`simple'", "` \\t\\n\\'\"\\033?""?/\\\\'",
-      "`a:b'", "`a\\\\b'", "`" LQ_ENC RQ_ENC "'", "`" LQ RQ "'" },
-    { "`'", "`\\0001\\0'", 9, "`simple'", "` \\t\\n\\'\"\\033?""?/\\\\'",
-      "`a:b'", "`a\\\\b'", "`" LQ_ENC RQ_ENC "'", "`" LQ RQ "'" },
-    { "`'", "`\\0001\\0'", 9, "`simple'", "` \\t\\n\\'\"\\033?""?/\\\\'",
-      "`a\\:b'", "`a\\\\b'", "`" LQ_ENC RQ_ENC "'", "`" LQ RQ "'" } },
+  { { "''", "'\\0001\\0'", 9, "'simple'", "' \\t\\n\\'\"\\033?""?/\\\\'",
+      "'a:b'", "'a\\\\b'", "'" LQ_ENC RQ_ENC "'", "'" LQ RQ "'" },
+    { "''", "'\\0001\\0'", 9, "'simple'", "' \\t\\n\\'\"\\033?""?/\\\\'",
+      "'a:b'", "'a\\\\b'", "'" LQ_ENC RQ_ENC "'", "'" LQ RQ "'" },
+    { "''", "'\\0001\\0'", 9, "'simple'", "' \\t\\n\\'\"\\033?""?/\\\\'",
+      "'a\\:b'", "'a\\\\b'", "'" LQ_ENC RQ_ENC "'", "'" LQ RQ "'" } },
 
   /* clocale_quoting_style */
   { { "\"\"", "\"\\0001\\0\"", 9, "\"simple\"",
@@ -247,12 +245,20 @@ main (int argc _GL_UNUSED, char *argv[])
   for (i = literal_quoting_style; i <= clocale_quoting_style; i++)
     {
       set_quoting_style (NULL, (enum quoting_style) i);
-      compare_strings (use_quotearg_buffer, &results_g[i].group1, ascii_only);
-      compare_strings (use_quotearg, &results_g[i].group2, ascii_only);
-      if (i == c_quoting_style)
-        compare_strings (use_quote_double_quotes, &results_g[i].group2,
-                         ascii_only);
-      compare_strings (use_quotearg_colon, &results_g[i].group3, ascii_only);
+      if (!(i == locale_quoting_style || i == clocale_quoting_style)
+          || (strcmp (locale_charset (), "ASCII") == 0
+              || strcmp (locale_charset (), "ANSI_X3.4-1968") == 0))
+        {
+          compare_strings (use_quotearg_buffer, &results_g[i].group1,
+                           ascii_only);
+          compare_strings (use_quotearg, &results_g[i].group2,
+                           ascii_only);
+          if (i == c_quoting_style)
+            compare_strings (use_quote_double_quotes, &results_g[i].group2,
+                             ascii_only);
+          compare_strings (use_quotearg_colon, &results_g[i].group3,
+                           ascii_only);
+        }
     }
 
   set_quoting_style (NULL, literal_quoting_style);
index 0b9d057..02e0c13 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of quotearg family of functions.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* Written by Eric Blake <ebb9@byu.net>, 2008.  */
 
diff --git a/gnulib-tests/test-raise.c b/gnulib-tests/test-raise.c
new file mode 100644 (file)
index 0000000..3c58b6b
--- /dev/null
@@ -0,0 +1,50 @@
+/* Test raising a signal.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <signal.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (raise, int, (int));
+
+#include <stdlib.h>
+
+#include "macros.h"
+
+/* It is safe to use _Noreturn here: exit() never returns, and GCC knows that
+   exit() is a non-returning function, even on platforms where its declaration
+   in <stdlib.h> does not have the 'noreturn' attribute.  */
+static _Noreturn void
+handler (int sig)
+{
+  exit (0);
+}
+
+int
+main (void)
+{
+  /* Test behaviour for invalid argument.  */
+  ASSERT (raise (-1) != 0);
+
+  /* Test behaviour for SIGINT.  */
+  ASSERT (signal (SIGINT, handler) != SIG_ERR);
+
+  raise (SIGINT);
+
+  /* We should not get here, because the handler takes away the control.  */
+  exit (1);
+}
diff --git a/gnulib-tests/test-readlink.c b/gnulib-tests/test-readlink.c
new file mode 100644 (file)
index 0000000..e59ebe4
--- /dev/null
@@ -0,0 +1,48 @@
+/* Tests of readlink.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (readlink, ssize_t, (char const *, char *, size_t));
+
+#include <fcntl.h>
+#include <errno.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+
+#include "ignore-value.h"
+#include "macros.h"
+
+#define BASE "test-readlink.t"
+
+#include "test-readlink.h"
+
+int
+main (void)
+{
+  /* Remove any leftovers from a previous partial run.  */
+  ignore_value (system ("rm -rf " BASE "*"));
+
+  return test_readlink (readlink, true);
+}
diff --git a/gnulib-tests/test-readlink.h b/gnulib-tests/test-readlink.h
new file mode 100644 (file)
index 0000000..d19f9b3
--- /dev/null
@@ -0,0 +1,119 @@
+/* Tests of readlink.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009.  */
+
+/* This file is designed to test both readlink(a,b,c) and
+   readlinkat(AT_FDCWD,a,b,c).  FUNC is the function to test.  Assumes
+   that BASE and ASSERT are already defined, and that appropriate
+   headers are already included.  If PRINT, warn before skipping
+   symlink tests with status 77.  */
+
+static int
+test_readlink (ssize_t (*func) (char const *, char *, size_t), bool print)
+{
+  char buf[80];
+
+  /* Sanity checks of failures.  Mingw lacks symlink, but readlink can
+     still distinguish between various errors.  */
+  memset (buf, 0xff, sizeof buf);
+  errno = 0;
+  ASSERT (func ("no_such", buf, sizeof buf) == -1);
+  ASSERT (errno == ENOENT);
+  errno = 0;
+  ASSERT (func ("no_such/", buf, sizeof buf) == -1);
+  ASSERT (errno == ENOENT);
+  errno = 0;
+  ASSERT (func ("", buf, sizeof buf) == -1);
+  ASSERT (errno == ENOENT || errno == EINVAL);
+  errno = 0;
+  ASSERT (func (".", buf, sizeof buf) == -1);
+  ASSERT (errno == EINVAL);
+  errno = 0;
+  ASSERT (func ("./", buf, sizeof buf) == -1);
+  ASSERT (errno == EINVAL);
+  ASSERT (close (creat (BASE "file", 0600)) == 0);
+  errno = 0;
+  ASSERT (func (BASE "file", buf, sizeof buf) == -1);
+  ASSERT (errno == EINVAL);
+  errno = 0;
+  ASSERT (func (BASE "file/", buf, sizeof buf) == -1);
+  ASSERT (errno == ENOTDIR || errno == EINVAL); /* AIX yields EINVAL */
+
+  /* Now test actual symlinks.  */
+  if (symlink (BASE "dir", BASE "link"))
+    {
+      ASSERT (unlink (BASE "file") == 0);
+      if (print)
+        fputs ("skipping test: symlinks not supported on this file system\n",
+               stderr);
+      return 77;
+    }
+  ASSERT (mkdir (BASE "dir", 0700) == 0);
+  errno = 0;
+  ASSERT (func (BASE "link/", buf, sizeof buf) == -1);
+  ASSERT (errno == EINVAL);
+  ASSERT (symlink (BASE "link", BASE "link2") == 0);
+  errno = 0;
+  ASSERT (func (BASE "link2/", buf, sizeof buf) == -1);
+  ASSERT (errno == EINVAL);
+  ASSERT (unlink (BASE "link2") == 0);
+  ASSERT (symlink (BASE "file", BASE "link2") == 0);
+  errno = 0;
+  ASSERT (func (BASE "link2/", buf, sizeof buf) == -1);
+  ASSERT (errno == ENOTDIR || errno == EINVAL); /* AIX yields EINVAL */
+  ASSERT (unlink (BASE "file") == 0);
+  ASSERT (unlink (BASE "link2") == 0);
+  {
+    /* Up till now, no readlink has been successful, so buf should be
+       unchanged.  */
+    int i;
+    for (i = 0; i < sizeof buf; i++)
+      ASSERT (buf[i] == (char) 0xff);
+  }
+  {
+    size_t len = strlen (BASE "dir");
+    /* When passing too small of a buffer, expect the truncated
+       length, or an ERANGE failure.  However, a size of 0 is not
+       portable enough to test.  */
+    ssize_t result;
+    errno = 0;
+    result = readlink (BASE "link", buf, 1);
+    if (result == -1)
+      {
+        ASSERT (errno == ERANGE);
+        ASSERT (buf[0] == (char) 0xff);
+      }
+    else
+      {
+        ASSERT (result == 1);
+        ASSERT (buf[0] == BASE[0]);
+      }
+    ASSERT (buf[1] == (char) 0xff);
+    ASSERT (func (BASE "link", buf, len) == len);
+    ASSERT (strncmp (buf, BASE "dir", len) == 0);
+    ASSERT (buf[len] == (char) 0xff);
+    ASSERT (func (BASE "link", buf, sizeof buf) == len);
+    ASSERT (strncmp (buf, BASE "dir", len) == 0);
+    /* POSIX says rest of buf is unspecified; but in practice, it is
+       either left alone, or NUL-terminated.  */
+    ASSERT (buf[len] == '\0' || buf[len] == (char) 0xff);
+  }
+  ASSERT (rmdir (BASE "dir") == 0);
+  ASSERT (unlink (BASE "link") == 0);
+
+  return 0;
+}
diff --git a/gnulib-tests/test-regex.c b/gnulib-tests/test-regex.c
new file mode 100644 (file)
index 0000000..5a94c14
--- /dev/null
@@ -0,0 +1,192 @@
+/* Test regular expressions
+   Copyright 1996-2001, 2003-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include "regex.h"
+
+#include <locale.h>
+#include <limits.h>
+#include <string.h>
+#if HAVE_DECL_ALARM
+# include <unistd.h>
+# include <signal.h>
+#endif
+
+#include "localcharset.h"
+
+int
+main (void)
+{
+  int result = 0;
+  static struct re_pattern_buffer regex;
+  unsigned char folded_chars[UCHAR_MAX + 1];
+  int i;
+  const char *s;
+  struct re_registers regs;
+
+#if HAVE_DECL_ALARM
+  /* Some builds of glibc go into an infinite loop on this test.  */
+  int alarm_value = 2;
+  signal (SIGALRM, SIG_DFL);
+  alarm (alarm_value);
+#endif
+  if (setlocale (LC_ALL, "en_US.UTF-8"))
+    {
+      {
+        /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html
+           This test needs valgrind to catch the bug on Debian
+           GNU/Linux 3.1 x86, but it might catch the bug better
+           on other platforms and it shouldn't hurt to try the
+           test here.  */
+        static char const pat[] = "insert into";
+        static char const data[] =
+          "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK";
+        re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE
+                       | RE_ICASE);
+        memset (&regex, 0, sizeof regex);
+        s = re_compile_pattern (pat, sizeof pat - 1, &regex);
+        if (s)
+          result |= 1;
+        else if (re_search (&regex, data, sizeof data - 1,
+                            0, sizeof data - 1, &regs)
+                 != -1)
+          result |= 1;
+      }
+
+      /* Check whether it's really a UTF-8 locale.
+         On mingw, the setlocale call succeeds but returns
+         "English_United States.1252", with locale_charset() returning
+         "CP1252".  */
+      if (strcmp (locale_charset (), "UTF-8") == 0)
+        {
+          /* This test is from glibc bug 15078.
+             The test case is from Andreas Schwab in
+             <http://www.sourceware.org/ml/libc-alpha/2013-01/msg00967.html>.
+          */
+          static char const pat[] = "[^x]x";
+          static char const data[] =
+            "\xe1\x80\x80\xe1\x80\xbb\xe1\x80\xbd\xe1\x80\x94\xe1\x80"
+            "\xba\xe1\x80\xaf\xe1\x80\x95\xe1\x80\xbax";
+          re_set_syntax (0);
+          memset (&regex, 0, sizeof regex);
+          s = re_compile_pattern (pat, sizeof pat - 1, &regex);
+          if (s)
+            result |= 1;
+          else if (re_search (&regex, data, sizeof data - 1,
+                              0, sizeof data - 1, 0)
+                   != 21)
+            result |= 1;
+        }
+
+      if (! setlocale (LC_ALL, "C"))
+        return 1;
+    }
+
+  /* This test is from glibc bug 3957, reported by Andrew Mackey.  */
+  re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE);
+  memset (&regex, 0, sizeof regex);
+  s = re_compile_pattern ("a[^x]b", 6, &regex);
+  if (s)
+    result |= 2;
+  /* This should fail, but succeeds for glibc-2.5.  */
+  else if (re_search (&regex, "a\nb", 3, 0, 3, &regs) != -1)
+    result |= 2;
+
+  /* This regular expression is from Spencer ere test number 75
+     in grep-2.3.  */
+  re_set_syntax (RE_SYNTAX_POSIX_EGREP);
+  memset (&regex, 0, sizeof regex);
+  for (i = 0; i <= UCHAR_MAX; i++)
+    folded_chars[i] = i;
+  regex.translate = folded_chars;
+  s = re_compile_pattern ("a[[:@:>@:]]b\n", 11, &regex);
+  /* This should fail with _Invalid character class name_ error.  */
+  if (!s)
+    result |= 4;
+
+  /* Ensure that [b-a] is diagnosed as invalid, when
+     using RE_NO_EMPTY_RANGES. */
+  re_set_syntax (RE_SYNTAX_POSIX_EGREP | RE_NO_EMPTY_RANGES);
+  memset (&regex, 0, sizeof regex);
+  s = re_compile_pattern ("a[b-a]", 6, &regex);
+  if (s == 0)
+    result |= 8;
+
+  /* This should succeed, but does not for glibc-2.1.3.  */
+  memset (&regex, 0, sizeof regex);
+  s = re_compile_pattern ("{1", 2, &regex);
+  if (s)
+    result |= 8;
+
+  /* The following example is derived from a problem report
+     against gawk from Jorge Stolfi <stolfi@ic.unicamp.br>.  */
+  memset (&regex, 0, sizeof regex);
+  s = re_compile_pattern ("[an\371]*n", 7, &regex);
+  if (s)
+    result |= 8;
+  /* This should match, but does not for glibc-2.2.1.  */
+  else if (re_match (&regex, "an", 2, 0, &regs) != 2)
+    result |= 8;
+
+  memset (&regex, 0, sizeof regex);
+  s = re_compile_pattern ("x", 1, &regex);
+  if (s)
+    result |= 8;
+  /* glibc-2.2.93 does not work with a negative RANGE argument.  */
+  else if (re_search (&regex, "wxy", 3, 2, -2, &regs) != 1)
+    result |= 8;
+
+  /* The version of regex.c in older versions of gnulib
+     ignored RE_ICASE.  Detect that problem too.  */
+  re_set_syntax (RE_SYNTAX_EMACS | RE_ICASE);
+  memset (&regex, 0, sizeof regex);
+  s = re_compile_pattern ("x", 1, &regex);
+  if (s)
+    result |= 16;
+  else if (re_search (&regex, "WXY", 3, 0, 3, &regs) < 0)
+    result |= 16;
+
+  /* Catch a bug reported by Vin Shelton in
+     http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html
+     */
+  re_set_syntax (RE_SYNTAX_POSIX_BASIC
+                 & ~RE_CONTEXT_INVALID_DUP
+                 & ~RE_NO_EMPTY_RANGES);
+  memset (&regex, 0, sizeof regex);
+  s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, &regex);
+  if (s)
+    result |= 32;
+
+  /* REG_STARTEND was added to glibc on 2004-01-15.
+     Reject older versions.  */
+  if (! REG_STARTEND)
+    result |= 64;
+
+#if 0
+  /* It would be nice to reject hosts whose regoff_t values are too
+     narrow (including glibc on hosts with 64-bit ptrdiff_t and
+     32-bit int), but we should wait until glibc implements this
+     feature.  Otherwise, support for equivalence classes and
+     multibyte collation symbols would always be broken except
+     when compiling --without-included-regex.   */
+  if (sizeof (regoff_t) < sizeof (ptrdiff_t)
+      || sizeof (regoff_t) < sizeof (ssize_t))
+    result |= 64;
+#endif
+
+  return result;
+}
index f909a77..0a53ac4 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Tests of setenv.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 5776661..b20c037 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of setting the current locale.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 917cb9a..cad9e2f 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of setting the current locale.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 723e74e..904e147 100755 (executable)
@@ -2,14 +2,16 @@
 
 # Test locale names with likely unsupported encoding in Unix syntax.
 for name in ar_SA.ISO-8859-1 fr_FR.CP1251 zh_TW.GB18030 zh_CN.BIG5; do
-  LC_ALL=$name ./test-setlocale2${EXEEXT} 1 || exit 1
+  env LC_ALL=$name ./test-setlocale2${EXEEXT} 1 || exit 1
 done
 
 # Test locale names with likely unsupported encoding in native Windows syntax.
 for name in "Arabic_Saudi Arabia.1252" "Arabic_Saudi Arabia.65001" \
             French_France.65001 Japanese_Japan.65001 Turkish_Turkey.65001 \
             Chinese_Taiwan.65001 Chinese_China.54936 Chinese_China.65001; do
-  LC_ALL=$name ./test-setlocale2${EXEEXT} 1 || exit 1
+  # Here we use 'env' to set the LC_ALL environment variable, because on
+  # Solaris 11 2011-11, the /bin/sh refuses to do it for Turkish_Turkey.65001.
+  env LC_ALL="$name" ./test-setlocale2${EXEEXT} 1 || exit 1
 done
 
 exit 0
diff --git a/gnulib-tests/test-sh-quote.c b/gnulib-tests/test-sh-quote.c
new file mode 100644 (file)
index 0000000..198d5fa
--- /dev/null
@@ -0,0 +1,203 @@
+/* Test of sh-quote module.
+   Copyright (C) 2012-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2012.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "sh-quote.h"
+
+#include <limits.h>
+#include <string.h>
+
+#include "macros.h"
+
+static void
+check_one (const char *input, const char *expected)
+{
+  char buf[1000];
+  size_t output_len;
+  char *output;
+  char *bufend;
+
+  output_len = shell_quote_length (input);
+
+  output = shell_quote (input);
+  ASSERT (strlen (output) == output_len);
+
+  ASSERT (output_len <= sizeof (buf) - 2);
+  memset (buf, '\0', output_len + 1);
+  buf[output_len + 1] = '%';
+  bufend = shell_quote_copy (buf, input);
+  ASSERT (bufend == buf + output_len);
+  ASSERT (memcmp (buf, output, output_len + 1) == 0);
+  ASSERT (buf[output_len + 1] == '%');
+
+  ASSERT (strcmp (output, expected) == 0);
+
+  free (output);
+}
+
+int
+main (void)
+{
+  /* Check the shell_quote_length, shell_quote_copy, shell_quote functions.  */
+  {
+    int c;
+
+    /* Empty argument.  */
+    check_one ("", "''");
+
+    /* Identifier or number.  */
+    check_one ("foo", "foo");
+    check_one ("phr0ck", "phr0ck");
+
+    /* Whitespace would be interpreted as argument separator by the shell.  */
+    check_one ("foo\tbar", "'foo\tbar'");
+    check_one ("foo\nbar", "'foo\nbar'");
+    check_one ("foo\rbar", "'foo\rbar'");
+    check_one ("foo bar", "'foo bar'");
+
+    /* '!' at the beginning of argv[0] would introduce a negated command.  */
+    check_one ("!foo", "'!foo'");
+
+    /* '"' would be interpreted as the start of a string.  */
+    check_one ("\"foo\"bar", "'\"foo\"bar'");
+
+    /* '#' at the beginning of an argument would be interpreted as the start
+       of a comment.  */
+    check_one ("#foo", "'#foo'");
+
+    /* '$' at the beginning of an argument would be interpreted as a variable
+       reference.  */
+    check_one ("$foo", "'$foo'");
+
+    /* '&' at the beginning of an argument would be interpreted as a background
+       task indicator.  */
+    check_one ("&", "'&'");
+
+    /* "'" would be interpreted as the start of a string.  */
+    check_one ("'foo'bar", "''\\''foo'\\''bar'"); /* or "\"'foo'bar\"" */
+
+    /* '(' at the beginning of argv[0] would introduce a subshell command.  */
+    check_one ("(", "'('");
+
+    /* ')' at the beginning of an argument would be interpreted as the end of
+       the command.  */
+    check_one (")", "')'");
+
+    /* '*' would be interpreted as a wildcard character.  */
+    check_one ("*", "'*'");
+    check_one ("*foo", "'*foo'");
+
+    /* ';' at the beginning of an argument would be interpreted as an empty
+       statement in argv[0] and as the end of the command otherwise.  */
+    check_one (";", "';'");
+    check_one ("foo;", "'foo;'");
+
+    /* '<' would be interpreted as a redirection of stdin.  */
+    check_one ("<", "'<'");
+
+    /* '=' inside argv[0] would be interpreted as an environment variable
+       assignment.  */
+    check_one ("foo=bar", "'foo=bar'");
+
+    /* '>' would be interpreted as a redirection of stdout.  */
+    check_one (">", "'>'");
+
+    /* '?' would be interpreted as a wildcard character.  */
+    check_one ("?", "'?'");
+    check_one ("foo?bar", "'foo?bar'");
+
+    /* '^' would be interpreted in old /bin/sh, e.g. SunOS 4.1.4.  */
+    check_one ("^", "'^'");
+
+    /* "[...]" would be interpreted as a wildcard pattern.  */
+    check_one ("[", "'['");
+    check_one ("]", "]"); /* or "']'" */
+
+    /* '\' would be interpreted as an escape character.  */
+    check_one ("\\foo", "'\\foo'");
+
+    /* '`' would be interpreted as the start of a command substitution.  */
+    check_one ("`foo", "'`foo'");
+
+    /* '{' at the beginning of argv[0] would introduce a complex command.  */
+    check_one ("{", "'{'");
+
+    /* '|' at the beginning of an argument would be interpreted as a pipe
+       between commands.  */
+    check_one ("|", "'|'");
+
+    /* '}' at the beginning of an argument would be interpreted as the end of
+       the command.  */
+    check_one ("}", "'}'");
+
+    /* '~' at the beginning of an argument would be interpreted as a reference
+       to a user's home directory.  */
+    check_one ("~", "'~'");
+    check_one ("~foo", "'~foo'");
+
+    /* A string that contains both ' and ".  */
+    check_one ("foo'bar\"baz", "'foo'\\''bar\"baz'"); /* or "\"foo'bar\\\"baz\"" */
+
+    /* All other characters don't need quoting.  */
+    for (c = 1; c <= UCHAR_MAX; c++)
+      if (strchr ("\t\n\r !\"#$&'()*;<=>?^[\\]`{|}~", c) == NULL)
+        {
+          char s[5];
+          s[0] = 'a';
+          s[1] = (char) c;
+          s[2] = 'z';
+          s[3] = (char) c;
+          s[4] = '\0';
+
+          check_one (s, s);
+        }
+  }
+
+  /* Check the shell_quote_argv function.  */
+  {
+    char *argv[1];
+    char *result;
+    argv[0] = NULL;
+    result = shell_quote_argv (argv);
+    ASSERT (strcmp (result, "") == 0);
+    free (result);
+  }
+  {
+    char *argv[2];
+    char *result;
+    argv[0] = (char *) "foo bar/baz";
+    argv[1] = NULL;
+    result = shell_quote_argv (argv);
+    ASSERT (strcmp (result, "'foo bar/baz'") == 0); /* or "\"foo bar/baz\"" */
+    free (result);
+  }
+  {
+    char *argv[3];
+    char *result;
+    argv[0] = (char *) "foo bar/baz";
+    argv[1] = (char *) "$";
+    argv[2] = NULL;
+    result = shell_quote_argv (argv);
+    ASSERT (strcmp (result, "'foo bar/baz' '$'") == 0); /* or "\"foo bar/baz\" \"\\$\"" */
+    free (result);
+  }
+
+  return 0;
+}
index fca2006..2b5ba53 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of sigaction() function.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
similarity index 94%
rename from gnulib-tests/test-signal.c
rename to gnulib-tests/test-signal-h.c
index 46c3bbc..93c0b71 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <signal.h> substitute.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a4cab83..6aaf74d 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of sigprocmask.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -46,9 +44,15 @@ int
 main (int argc, char *argv[])
 {
   sigset_t set;
-  int pid = getpid ();
+  pid_t pid = getpid ();
   char command[80];
 
+  if (sizeof (int) < sizeof pid && 0x7fffffff < pid)
+    {
+      fputs ("Skipping test: pid too large\n", stderr);
+      return 77;
+    }
+
   signal (SIGINT, sigint_handler);
 
   sigemptyset (&set);
@@ -62,7 +66,7 @@ main (int argc, char *argv[])
   ASSERT (sigprocmask (SIG_BLOCK, &set, NULL) == 0);
 
   /* Request a SIGINT signal from outside.  */
-  sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, pid);
+  sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, (int) pid);
   ASSERT (system (command) == 0);
 
   /* Wait.  */
index 4b29441..d232cd0 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of sleep() function.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 2bcda1f..8057357 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of snprintf() function.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 84ef25c..2b4f0f1 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <stat-time.h>.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index c8899f5..b59dbf4 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Tests of stat.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 1983cbc..5409e05 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Tests of stat.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 396b6e8..3c13ca2 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <stdbool.h> substitute.
-   Copyright (C) 2002-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 6dc4431..f42b4e0 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <stddef.h> substitute.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 6dadbab..1c559b0 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <stdint.h> substitute.
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -23,8 +21,6 @@
 /* Whether to enable pedantic checks. */
 #define DO_PEDANTIC 0
 
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
-#define __STDC_CONSTANT_MACROS 1 /* likewise */
 #include <stdint.h>
 
 #include "verify.h"
index 00f3fba..89c6548 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <stdio.h> substitute.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 206bb33..6d38156 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <stdlib.h> substitute.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index f4deaa7..6d5db0f 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of strerror() function.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* Written by Eric Blake <ebb9@byu.net>, 2007.  */
 
@@ -66,7 +63,7 @@ main (void)
   ASSERT (strstr (str, "ndefined") == NULL);
 
   /* POSIX requires strerror to produce a non-NULL result for all
-     inputs; as an extension, we also guarantee a non-empty reseult.
+     inputs; as an extension, we also guarantee a non-empty result.
      Reporting EINVAL is optional.  */
   errno = 0;
   str = strerror (-3);
index be356a1..28bdaa9 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test that posixtime works as required.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -40,6 +38,7 @@ struct posixtm_test
 static struct posixtm_test const T[] =
   {
     { 1300000000, 0,            "%F", "2011-03-13" },
+    { 0,          10,           "%T.%N", "00:00:00.000000010" },
     { 0,          0,            NULL, NULL }
   };
 
index c978c35..c77dc6c 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of character set conversion.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 87772e3..76922d1 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <string.h> substitute.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 4c55fcd..7873cfe 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <strings.h> substitute.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 505e5f4..33de935 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /*
- * Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ * Copyright (C) 2010-2013 Free Software Foundation, Inc.
  * Written by Eric Blake
  *
  * This program is free software: you can redistribute it and/or modify
diff --git a/gnulib-tests/test-strtoull.c b/gnulib-tests/test-strtoull.c
new file mode 100644 (file)
index 0000000..e69be3d
--- /dev/null
@@ -0,0 +1,180 @@
+/*
+ * Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include "signature.h"
+#ifndef strtoull
+SIGNATURE_CHECK (strtoull, unsigned long long, (const char *, char **, int));
+#endif
+
+#include <errno.h>
+
+#include "macros.h"
+
+int
+main (void)
+{
+  /* Subject sequence empty or invalid.  */
+  {
+    const char input[] = "";
+    char *ptr;
+    unsigned long long result;
+    errno = 0;
+    result = strtoull (input, &ptr, 10);
+    ASSERT (result == 0);
+    ASSERT (ptr == input);
+    ASSERT (errno == 0 || errno == EINVAL);
+  }
+  {
+    const char input[] = " ";
+    char *ptr;
+    unsigned long long result;
+    errno = 0;
+    result = strtoull (input, &ptr, 10);
+    ASSERT (result == 0);
+    ASSERT (ptr == input);
+    ASSERT (errno == 0 || errno == EINVAL);
+  }
+  {
+    const char input[] = " +";
+    char *ptr;
+    unsigned long long result;
+    errno = 0;
+    result = strtoull (input, &ptr, 10);
+    ASSERT (result == 0);
+    ASSERT (ptr == input);
+    ASSERT (errno == 0 || errno == EINVAL);
+  }
+  {
+    const char input[] = " -";
+    char *ptr;
+    unsigned long long result;
+    errno = 0;
+    result = strtoull (input, &ptr, 10);
+    ASSERT (result == 0);
+    ASSERT (ptr == input);
+    ASSERT (errno == 0 || errno == EINVAL);
+  }
+
+  /* Simple integer values.  */
+  {
+    const char input[] = "0";
+    char *ptr;
+    unsigned long long result;
+    errno = 0;
+    result = strtoull (input, &ptr, 10);
+    ASSERT (result == 0);
+    ASSERT (ptr == input + 1);
+    ASSERT (errno == 0);
+  }
+  {
+    const char input[] = "+0";
+    char *ptr;
+    unsigned long long result;
+    errno = 0;
+    result = strtoull (input, &ptr, 10);
+    ASSERT (result == 0);
+    ASSERT (ptr == input + 2);
+    ASSERT (errno == 0);
+  }
+  {
+    const char input[] = "-0";
+    char *ptr;
+    unsigned long long result;
+    errno = 0;
+    result = strtoull (input, &ptr, 10);
+    ASSERT (result == 0);
+    ASSERT (ptr == input + 2);
+    ASSERT (errno == 0);
+  }
+  {
+    const char input[] = "23";
+    char *ptr;
+    unsigned long long result;
+    errno = 0;
+    result = strtoull (input, &ptr, 10);
+    ASSERT (result == 23);
+    ASSERT (ptr == input + 2);
+    ASSERT (errno == 0);
+  }
+  {
+    const char input[] = " 23";
+    char *ptr;
+    unsigned long long result;
+    errno = 0;
+    result = strtoull (input, &ptr, 10);
+    ASSERT (result == 23);
+    ASSERT (ptr == input + 3);
+    ASSERT (errno == 0);
+  }
+  {
+    const char input[] = "+23";
+    char *ptr;
+    unsigned long long result;
+    errno = 0;
+    result = strtoull (input, &ptr, 10);
+    ASSERT (result == 23);
+    ASSERT (ptr == input + 3);
+    ASSERT (errno == 0);
+  }
+  {
+    const char input[] = "-23";
+    char *ptr;
+    unsigned long long result;
+    errno = 0;
+    result = strtoull (input, &ptr, 10);
+    ASSERT (result == - 23ULL);
+    ASSERT (ptr == input + 3);
+    ASSERT (errno == 0);
+  }
+
+  /* Large integer values.  */
+  {
+    const char input[] = "2147483647";
+    char *ptr;
+    unsigned long long result;
+    errno = 0;
+    result = strtoull (input, &ptr, 10);
+    ASSERT (result == 2147483647);
+    ASSERT (ptr == input + 10);
+    ASSERT (errno == 0);
+  }
+  {
+    const char input[] = "-2147483648";
+    char *ptr;
+    unsigned long long result;
+    errno = 0;
+    result = strtoull (input, &ptr, 10);
+    ASSERT (result == - 2147483648ULL);
+    ASSERT (ptr == input + 11);
+    ASSERT (errno == 0);
+  }
+  {
+    const char input[] = "4294967295";
+    char *ptr;
+    unsigned long long result;
+    errno = 0;
+    result = strtoull (input, &ptr, 10);
+    ASSERT (result == 4294967295U);
+    ASSERT (ptr == input + 10);
+    ASSERT (errno == 0);
+  }
+
+  return 0;
+}
index 0e638b5..fbacb72 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /*
- * Copyright (C) 2011 Free Software Foundation, Inc.
+ * Copyright (C) 2011-2013 Free Software Foundation, Inc.
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -146,5 +144,37 @@ main (void)
     ASSERT (errno == 0);
   }
 
+  /* Large integer values.  */
+  {
+    const char input[] = "2147483647";
+    char *ptr;
+    uintmax_t result;
+    errno = 0;
+    result = strtoumax (input, &ptr, 10);
+    ASSERT (result == 2147483647);
+    ASSERT (ptr == input + 10);
+    ASSERT (errno == 0);
+  }
+  {
+    const char input[] = "-2147483648";
+    char *ptr;
+    uintmax_t result;
+    errno = 0;
+    result = strtoumax (input, &ptr, 10);
+    ASSERT (result == - (uintmax_t) 2147483648U);
+    ASSERT (ptr == input + 11);
+    ASSERT (errno == 0);
+  }
+  {
+    const char input[] = "4294967295";
+    char *ptr;
+    uintmax_t result;
+    errno = 0;
+    result = strtoumax (input, &ptr, 10);
+    ASSERT (result == 4294967295U);
+    ASSERT (ptr == input + 10);
+    ASSERT (errno == 0);
+  }
+
   return 0;
 }
index 00bbd4d..9966516 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Tests of symlink.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index f049ff3..56cdc84 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Tests of symlink.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 4b97ca5..1ce3581 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <sys/stat.h> substitute.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 int a[] =
   {
     S_IFMT,
-    S_IFBLK, S_IFCHR, S_IFDIR, S_IFIFO, S_IFREG,
-#ifdef S_IFLNK /* missing on mingw and djgpp */
+#ifdef S_IFBLK /* missing on MSVC */
+    S_IFBLK,
+#endif
+    S_IFCHR, S_IFDIR, S_IFIFO, S_IFREG,
+#ifdef S_IFLNK /* missing on native Windows and DJGPP */
     S_IFLNK,
 #endif
-#ifdef S_IFSOCK /* missing on mingw and djgpp */
+#ifdef S_IFSOCK /* missing on native Windows and DJGPP */
     S_IFSOCK,
 #endif
     S_IRWXU, S_IRUSR, S_IWUSR, S_IXUSR,
@@ -48,6 +49,7 @@ int a[] =
     S_ISSOCK (S_IFREG),
     S_ISDOOR (S_IFREG),
     S_ISMPB (S_IFREG),
+    S_ISMPX (S_IFREG),
     S_ISNAM (S_IFREG),
     S_ISNWK (S_IFREG),
     S_ISPORT (S_IFREG),
@@ -63,7 +65,9 @@ verify (S_IRWXU == (S_IRUSR | S_IWUSR | S_IXUSR));
 verify (S_IRWXG == (S_IRGRP | S_IWGRP | S_IXGRP));
 verify (S_IRWXO == (S_IROTH | S_IWOTH | S_IXOTH));
 
+#ifdef S_IFBLK
 verify (S_ISBLK (S_IFBLK));
+#endif
 verify (!S_ISBLK (S_IFCHR));
 verify (!S_ISBLK (S_IFDIR));
 verify (!S_ISBLK (S_IFIFO));
@@ -75,7 +79,9 @@ verify (!S_ISBLK (S_IFLNK));
 verify (!S_ISBLK (S_IFSOCK));
 #endif
 
+#ifdef S_IFBLK
 verify (!S_ISCHR (S_IFBLK));
+#endif
 verify (S_ISCHR (S_IFCHR));
 verify (!S_ISCHR (S_IFDIR));
 verify (!S_ISCHR (S_IFIFO));
@@ -87,7 +93,9 @@ verify (!S_ISCHR (S_IFLNK));
 verify (!S_ISCHR (S_IFSOCK));
 #endif
 
+#ifdef S_IFBLK
 verify (!S_ISDIR (S_IFBLK));
+#endif
 verify (!S_ISDIR (S_IFCHR));
 verify (S_ISDIR (S_IFDIR));
 verify (!S_ISDIR (S_IFIFO));
@@ -99,7 +107,9 @@ verify (!S_ISDIR (S_IFLNK));
 verify (!S_ISDIR (S_IFSOCK));
 #endif
 
+#ifdef S_IFBLK
 verify (!S_ISFIFO (S_IFBLK));
+#endif
 verify (!S_ISFIFO (S_IFCHR));
 verify (!S_ISFIFO (S_IFDIR));
 verify (S_ISFIFO (S_IFIFO));
@@ -111,7 +121,9 @@ verify (!S_ISFIFO (S_IFLNK));
 verify (!S_ISFIFO (S_IFSOCK));
 #endif
 
+#ifdef S_IFBLK
 verify (!S_ISREG (S_IFBLK));
+#endif
 verify (!S_ISREG (S_IFCHR));
 verify (!S_ISREG (S_IFDIR));
 verify (!S_ISREG (S_IFIFO));
@@ -123,7 +135,9 @@ verify (!S_ISREG (S_IFLNK));
 verify (!S_ISREG (S_IFSOCK));
 #endif
 
+#ifdef S_IFBLK
 verify (!S_ISLNK (S_IFBLK));
+#endif
 verify (!S_ISLNK (S_IFCHR));
 verify (!S_ISLNK (S_IFDIR));
 verify (!S_ISLNK (S_IFIFO));
@@ -135,7 +149,9 @@ verify (S_ISLNK (S_IFLNK));
 verify (!S_ISLNK (S_IFSOCK));
 #endif
 
+#ifdef S_IFBLK
 verify (!S_ISSOCK (S_IFBLK));
+#endif
 verify (!S_ISSOCK (S_IFCHR));
 verify (!S_ISSOCK (S_IFDIR));
 verify (!S_ISSOCK (S_IFIFO));
@@ -147,7 +163,9 @@ verify (!S_ISSOCK (S_IFLNK));
 verify (S_ISSOCK (S_IFSOCK));
 #endif
 
+#ifdef S_IFBLK
 verify (!S_ISDOOR (S_IFBLK));
+#endif
 verify (!S_ISDOOR (S_IFCHR));
 verify (!S_ISDOOR (S_IFDIR));
 verify (!S_ISDOOR (S_IFIFO));
@@ -159,7 +177,9 @@ verify (!S_ISDOOR (S_IFLNK));
 verify (!S_ISDOOR (S_IFSOCK));
 #endif
 
+#ifdef S_IFBLK
 verify (!S_ISMPB (S_IFBLK));
+#endif
 verify (!S_ISMPB (S_IFCHR));
 verify (!S_ISMPB (S_IFDIR));
 verify (!S_ISMPB (S_IFIFO));
@@ -171,7 +191,23 @@ verify (!S_ISMPB (S_IFLNK));
 verify (!S_ISMPB (S_IFSOCK));
 #endif
 
+#ifdef S_IFBLK
+verify (!S_ISMPX (S_IFBLK));
+#endif
+verify (!S_ISMPX (S_IFCHR));
+verify (!S_ISMPX (S_IFDIR));
+verify (!S_ISMPX (S_IFIFO));
+verify (!S_ISMPX (S_IFREG));
+#ifdef S_IFLNK
+verify (!S_ISMPX (S_IFLNK));
+#endif
+#ifdef S_IFSOCK
+verify (!S_ISMPX (S_IFSOCK));
+#endif
+
+#ifdef S_IFBLK
 verify (!S_ISNAM (S_IFBLK));
+#endif
 verify (!S_ISNAM (S_IFCHR));
 verify (!S_ISNAM (S_IFDIR));
 verify (!S_ISNAM (S_IFIFO));
@@ -183,7 +219,9 @@ verify (!S_ISNAM (S_IFLNK));
 verify (!S_ISNAM (S_IFSOCK));
 #endif
 
+#ifdef S_IFBLK
 verify (!S_ISNWK (S_IFBLK));
+#endif
 verify (!S_ISNWK (S_IFCHR));
 verify (!S_ISNWK (S_IFDIR));
 verify (!S_ISNWK (S_IFIFO));
@@ -195,7 +233,9 @@ verify (!S_ISNWK (S_IFLNK));
 verify (!S_ISNWK (S_IFSOCK));
 #endif
 
+#ifdef S_IFBLK
 verify (!S_ISPORT (S_IFBLK));
+#endif
 verify (!S_ISPORT (S_IFCHR));
 verify (!S_ISPORT (S_IFDIR));
 verify (!S_ISPORT (S_IFIFO));
@@ -207,7 +247,9 @@ verify (!S_ISPORT (S_IFLNK));
 verify (!S_ISPORT (S_IFSOCK));
 #endif
 
+#ifdef S_IFBLK
 verify (!S_ISCTG (S_IFBLK));
+#endif
 verify (!S_ISCTG (S_IFCHR));
 verify (!S_ISCTG (S_IFDIR));
 verify (!S_ISCTG (S_IFIFO));
@@ -219,7 +261,9 @@ verify (!S_ISCTG (S_IFLNK));
 verify (!S_ISCTG (S_IFSOCK));
 #endif
 
+#ifdef S_IFBLK
 verify (!S_ISOFD (S_IFBLK));
+#endif
 verify (!S_ISOFD (S_IFCHR));
 verify (!S_ISOFD (S_IFDIR));
 verify (!S_ISOFD (S_IFIFO));
@@ -231,7 +275,9 @@ verify (!S_ISOFD (S_IFLNK));
 verify (!S_ISOFD (S_IFSOCK));
 #endif
 
+#ifdef S_IFBLK
 verify (!S_ISOFL (S_IFBLK));
+#endif
 verify (!S_ISOFL (S_IFCHR));
 verify (!S_ISOFL (S_IFDIR));
 verify (!S_ISOFL (S_IFIFO));
@@ -243,7 +289,9 @@ verify (!S_ISOFL (S_IFLNK));
 verify (!S_ISOFL (S_IFSOCK));
 #endif
 
+#ifdef S_IFBLK
 verify (!S_ISWHT (S_IFBLK));
+#endif
 verify (!S_ISWHT (S_IFCHR));
 verify (!S_ISWHT (S_IFDIR));
 verify (!S_ISWHT (S_IFIFO));
@@ -280,8 +328,10 @@ invalid UTIME macros
 
 /* Check the existence of some types.  */
 nlink_t t1;
+off_t t2;
+mode_t t3;
 
-struct timespec t2;
+struct timespec st;
 
 int
 main (void)
index 9d75806..1389b52 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <sys/time.h> substitute.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #include <sys/time.h>
 
+/* Check that the 'struct timeval' type is defined.  */
 struct timeval a;
 
+/* Check that &a.tv_sec is a 'time_t *', ignoring signedness issues.  */
+typedef int verify_tv_sec_type[sizeof (a.tv_sec) == sizeof (time_t) ? 1 : -1];
+
 int
 main (void)
 {
diff --git a/gnulib-tests/test-sys_types.c b/gnulib-tests/test-sys_types.c
new file mode 100644 (file)
index 0000000..1045de7
--- /dev/null
@@ -0,0 +1,34 @@
+/* Test of <sys/types.h> substitute.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011.  */
+
+#include <config.h>
+
+#include <sys/types.h>
+
+/* Check that the types are all defined.  */
+pid_t t1;
+size_t t2;
+ssize_t t3;
+off_t t4;
+mode_t t5;
+
+int
+main (void)
+{
+  return 0;
+}
index 5497eaf..4dd2130 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <sys/wait.h> substitute.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 7685a5d..d78b19e 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of macros shared between <sys/wait.h> and <stdlib.h>.
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2010-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 515aaf6..c060136 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <time.h> substitute.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #include "verify.h"
 
-struct timespec a;
+/* Check that the types are all defined.  */
+struct timespec t1;
+#if 0
+/* POSIX:2008 does not require pid_t in <time.h> unconditionally, and indeed
+   it's missing on Mac OS X 10.5, FreeBSD 6.4, OpenBSD 4.9, mingw.  */
+pid_t t2;
+#endif
 
 /* Check that NULL can be passed through varargs as a pointer type,
    per POSIX 2008.  */
index 2b371b0..5470985 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <unistd.h> substitute.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 71487d6..c369e2a 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Tests of unsetenv.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index a1fce0b..60cb372 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Test suite for update-copyright.
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 # This file is part of the GNUlib Library.
 #
 # This program is free software: you can redistribute it and/or modify
@@ -103,7 +103,7 @@ Copyright (C) 1990-2005, 2007-2009 Acme, Inc.
 EOF
 
 UPDATE_COPYRIGHT_YEAR=2009 \
-  update-copyright $TMP.* 1> $TMP-stdout 2> $TMP-stderr
+  update-copyright $TMP.? 1> $TMP-stdout 2> $TMP-stderr
 compare /dev/null $TMP-stdout || exit 1
 compare - $TMP-stderr <<EOF || exit 1
 $TMP.4: warning: copyright statement not found
@@ -145,7 +145,7 @@ Copyright (C) 1990-2005, 2007-2009 Acme, Inc.
 EOF
 
 UPDATE_COPYRIGHT_YEAR=2010 UPDATE_COPYRIGHT_USE_INTERVALS=1 \
-  update-copyright $TMP.* 1> $TMP-stdout 2> $TMP-stderr
+  update-copyright $TMP.? 1> $TMP-stdout 2> $TMP-stderr
 compare /dev/null $TMP-stdout || exit 1
 compare - $TMP-stderr <<EOF || exit 1
 $TMP.4: warning: copyright statement not found
@@ -183,7 +183,7 @@ Copyright (C) 1990-2005, 2007-2009 Acme, Inc.
 EOF
 
 UPDATE_COPYRIGHT_YEAR=2010 UPDATE_COPYRIGHT_FORCE=1 \
-  update-copyright $TMP.* 1> $TMP-stdout 2> $TMP-stderr
+  update-copyright $TMP.? 1> $TMP-stdout 2> $TMP-stderr
 compare /dev/null $TMP-stdout || exit 1
 compare - $TMP-stderr <<EOF || exit 1
 $TMP.4: warning: copyright statement not found
@@ -424,6 +424,13 @@ compare - $TMP <<EOF || exit 1
                # Copyright (C) 1987-1988, 1991-2011 Free Software
                # Foundation, Inc.
 EOF
+UPDATE_COPYRIGHT_YEAR=2011 UPDATE_COPYRIGHT_USE_INTERVALS=2 \
+  UPDATE_COPYRIGHT_FORCE=1 update-copyright $TMP 1> $TMP-stdout 2> $TMP-stderr
+compare /dev/null $TMP-stdout || exit 1
+compare /dev/null $TMP-stderr || exit 1
+compare - $TMP <<EOF || exit 1
+               # Copyright (C) 1987-2011 Free Software Foundation, Inc.
+EOF
 rm $TMP*
 
 ## --------- ##
@@ -498,6 +505,9 @@ cat > $TMP.extra-text-space <<EOF
  /* Copyright 1987, 1988, 1991, 1992 Free Software Foundation, Inc. ***
     * End of comments. */
 EOF
+cat > $TMP.two-digit-final-is-substr-of-first <<EOF
+ /* Copyright 1991, 99 Free Software Foundation, Inc. */
+EOF
 UPDATE_COPYRIGHT_YEAR=2010 \
   update-copyright $TMP.* 1> $TMP-stdout 2> $TMP-stderr
 compare /dev/null $TMP-stdout || exit 1
@@ -529,6 +539,9 @@ compare - $TMP.extra-text-space <<EOF || exit 1
     Inc. ***
     * End of comments. */
 EOF
+compare - $TMP.two-digit-final-is-substr-of-first <<EOF || exit 1
+ /* Copyright 1991, 1999, 2010 Free Software Foundation, Inc. */
+EOF
 rm $TMP*
 
 exit 0
index 99f7e4d..097c172 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of usleep() function.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index ce5cf5a..f29b05a 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of vasnprintf() and asnprintf() functions.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gnulib-tests/test-vasprintf.c b/gnulib-tests/test-vasprintf.c
new file mode 100644 (file)
index 0000000..459b92d
--- /dev/null
@@ -0,0 +1,103 @@
+/* Test of vasprintf() and asprintf() functions.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (asprintf, int, (char **, char const *, ...));
+SIGNATURE_CHECK (vasprintf, int, (char **, char const *, va_list));
+
+#include <stdarg.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "macros.h"
+
+static int
+my_asprintf (char **result, const char *format, ...)
+{
+  va_list args;
+  int ret;
+
+  va_start (args, format);
+  ret = vasprintf (result, format, args);
+  va_end (args);
+  return ret;
+}
+
+static void
+test_vasprintf ()
+{
+  int repeat;
+
+  for (repeat = 0; repeat <= 8; repeat++)
+    {
+      char *result;
+      int retval = my_asprintf (&result, "%d", 12345);
+      ASSERT (retval == 5);
+      ASSERT (result != NULL);
+      ASSERT (strcmp (result, "12345") == 0);
+      free (result);
+    }
+
+  for (repeat = 0; repeat <= 8; repeat++)
+    {
+      char *result;
+      int retval = my_asprintf (&result, "%08lx", 12345UL);
+      ASSERT (retval == 8);
+      ASSERT (result != NULL);
+      ASSERT (strcmp (result, "00003039") == 0);
+      free (result);
+    }
+}
+
+static void
+test_asprintf ()
+{
+  int repeat;
+
+  for (repeat = 0; repeat <= 8; repeat++)
+    {
+      char *result;
+      int retval = asprintf (&result, "%d", 12345);
+      ASSERT (retval == 5);
+      ASSERT (result != NULL);
+      ASSERT (strcmp (result, "12345") == 0);
+      free (result);
+    }
+
+  for (repeat = 0; repeat <= 8; repeat++)
+    {
+      char *result;
+      int retval = asprintf (&result, "%08lx", 12345UL);
+      ASSERT (retval == 8);
+      ASSERT (result != NULL);
+      ASSERT (strcmp (result, "00003039") == 0);
+      free (result);
+    }
+}
+
+int
+main (int argc, char *argv[])
+{
+  test_vasprintf ();
+  test_asprintf ();
+  return 0;
+}
index 531b269..1dbc532 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Unit tests for vc-list-files
-# Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# Copyright (C) 2008-2013 Free Software Foundation, Inc.
 # This file is part of the GNUlib Library.
 #
 # This program is free software: you can redistribute it and/or modify
@@ -36,7 +36,6 @@ for i in with-cvsu without; do
   ok=0
   mkdir $tmpdir && cd $tmpdir &&
     # without cvs, skip the test
-    # The double use of 'exit' is needed for the reference to $? inside the trap.
     { ( cvs -Q -d "$repo" init ) > /dev/null 2>&1 \
       || skip_ "cvs not found in PATH"; } &&
     mkdir w && cd w &&
index 523b2a9..8cbd00b 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Unit tests for vc-list-files
-# Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# Copyright (C) 2008-2013 Free Software Foundation, Inc.
 # This file is part of the GNUlib Library.
 #
 # This program is free software: you can redistribute it and/or modify
index a86a52d..1056b4e 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test the "verify" module.
 
-   Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index f3c7f91..66027f3 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test suite for version-etc.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
    This file is part of the GNUlib Library.
 
    This program is free software: you can redistribute it and/or modify
index c1ed827..466c959 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test suite for version-etc.
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 # This file is part of the GNUlib Library.
 #
 # This program is free software: you can redistribute it and/or modify
index e2d03b4..92ae8f2 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <wchar.h> substitute.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index fab2adb..494bbd1 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of conversion of wide character to multibyte character.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index aab5eea..c076973 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of conversion of wide character to multibyte character.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 73d3baf..5ab5d0c 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of <wctype.h> substitute.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index dbbfa28..6d85665 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of wcwidth() function.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 43c8869..e6376f8 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of xalloc_die() function.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 399d249..920d222 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Test suite for xalloc_die.
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 # This file is part of the GNUlib Library.
 #
 # This program is free software: you can redistribute it and/or modify
index b8cfcfd..c07e295 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of xstrtol module.
-   Copyright (C) 1995-1996, 1998-2001, 2003-2011 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 1998-2001, 2003-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 1a2f7ca..f718d8f 100755 (executable)
@@ -45,19 +45,19 @@ cat > expected <<EOF
 1->1 ()
 -1->-1 ()
 1k->1024 ()
-invalid suffix in X argument \`${too_big}h'
-X argument \`$too_big' too large
-invalid X argument \`x'
-invalid suffix in X argument \`9x'
+invalid suffix in X argument '${too_big}h'
+X argument '$too_big' too large
+invalid X argument 'x'
+invalid suffix in X argument '9x'
 010->8 ()
 MiB->1048576 ()
 1->1 ()
-invalid X argument \`-1'
+invalid X argument '-1'
 1k->1024 ()
-invalid suffix in X argument \`${too_big}h'
-X argument \`$too_big' too large
-invalid X argument \`x'
-invalid suffix in X argument \`9x'
+invalid suffix in X argument '${too_big}h'
+X argument '$too_big' too large
+invalid X argument 'x'
+invalid suffix in X argument '9x'
 010->8 ()
 MiB->1048576 ()
 EOF
index a6ba35f..9dda9ee 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #define __xstrtol xstrtoul
 #define __strtol_t unsigned long int
 #define __spec "lu"
index 6583d27..2e68c2e 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 #define __xstrtol xstrtoumax
 #define __strtol_t uintmax_t
 #define __spec PRIuMAX
index 68abb93..bdbdbf5 100755 (executable)
@@ -31,12 +31,12 @@ mv k out
 # compare expected output
 cat > exp <<EOF
 1->1 ()
-invalid X argument \`-1'
+invalid X argument '-1'
 1k->1024 ()
-invalid suffix in X argument \`${too_big}h'
-X argument \`$too_big' too large
-invalid X argument \`x'
-invalid suffix in X argument \`9x'
+invalid suffix in X argument '${too_big}h'
+X argument '$too_big' too large
+invalid X argument 'x'
+invalid suffix in X argument '9x'
 010->8 ()
 MiB->1048576 ()
 EOF
diff --git a/gnulib-tests/test-xvasprintf.c b/gnulib-tests/test-xvasprintf.c
new file mode 100644 (file)
index 0000000..0a2f1b8
--- /dev/null
@@ -0,0 +1,129 @@
+/* Test of xvasprintf() and xasprintf() functions.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
+
+#include <config.h>
+
+#include "xvasprintf.h"
+
+#include <stdarg.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "progname.h"
+#include "macros.h"
+
+static char *
+my_xasprintf (const char *format, ...)
+{
+  va_list args;
+  char *ret;
+
+  va_start (args, format);
+  ret = xvasprintf (format, args);
+  va_end (args);
+  return ret;
+}
+
+static void
+test_xvasprintf (void)
+{
+  int repeat;
+  char *result;
+
+  for (repeat = 0; repeat <= 8; repeat++)
+    {
+      result = my_xasprintf ("%d", 12345);
+      ASSERT (result != NULL);
+      ASSERT (strcmp (result, "12345") == 0);
+      free (result);
+    }
+
+  {
+    /* Silence gcc warning about zero-length format string.  */
+    const char *empty = "";
+    result = my_xasprintf (empty);
+    ASSERT (result != NULL);
+    ASSERT (strcmp (result, "") == 0);
+    free (result);
+  }
+
+  result = my_xasprintf ("%s", "foo");
+  ASSERT (result != NULL);
+  ASSERT (strcmp (result, "foo") == 0);
+  free (result);
+
+  result = my_xasprintf ("%s%s", "foo", "bar");
+  ASSERT (result != NULL);
+  ASSERT (strcmp (result, "foobar") == 0);
+  free (result);
+
+  result = my_xasprintf ("%s%sbaz", "foo", "bar");
+  ASSERT (result != NULL);
+  ASSERT (strcmp (result, "foobarbaz") == 0);
+  free (result);
+}
+
+static void
+test_xasprintf (void)
+{
+  int repeat;
+  char *result;
+
+  for (repeat = 0; repeat <= 8; repeat++)
+    {
+      result = xasprintf ("%d", 12345);
+      ASSERT (result != NULL);
+      ASSERT (strcmp (result, "12345") == 0);
+      free (result);
+    }
+
+  {
+    /* Silence gcc warning about zero-length format string.  */
+    const char *empty = "";
+    result = xasprintf (empty);
+    ASSERT (result != NULL);
+    ASSERT (strcmp (result, "") == 0);
+    free (result);
+  }
+
+  result = xasprintf ("%s", "foo");
+  ASSERT (result != NULL);
+  ASSERT (strcmp (result, "foo") == 0);
+  free (result);
+
+  result = xasprintf ("%s%s", "foo", "bar");
+  ASSERT (result != NULL);
+  ASSERT (strcmp (result, "foobar") == 0);
+  free (result);
+
+  result = my_xasprintf ("%s%sbaz", "foo", "bar");
+  ASSERT (result != NULL);
+  ASSERT (strcmp (result, "foobarbaz") == 0);
+  free (result);
+}
+
+int
+main (int argc _GL_UNUSED, char *argv[])
+{
+  set_program_name (argv[0]);
+
+  test_xvasprintf ();
+  test_xasprintf ();
+
+  return 0;
+}
index 372840a..763d931 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of u8_mbtoucr() function.
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2010-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 80c96b9..b0ecb30 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of u8_uctomb() function.
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2010-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index d2fbb35..43d9d10 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of uc_width() function.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index cedc381..623f32c 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test of uc_width() function.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 4399e11..c58c82f 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1992, 1995-2002, 2005-2011 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2002, 2005-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software: you can redistribute it and/or modify
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include <config.h>
-
 /* Don't use __attribute__ __nonnull__ in this compilation unit.  Otherwise gcc
    optimizes away the name == NULL test below.  */
 #define _GL_ARG_NONNULL(params)
 
+#include <config.h>
+
 /* Specification.  */
 #include <stdlib.h>
 
@@ -38,7 +36,7 @@
 #endif
 
 #if _LIBC
-/* This lock protects against simultaneous modifications of `environ'.  */
+/* This lock protects against simultaneous modifications of 'environ'.  */
 # include <bits/libc-lock.h>
 __libc_lock_define_initialized (static, envlock)
 # define LOCK   __libc_lock_lock (envlock)
index 730385d..008cc1f 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Pausing execution of the current thread.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
    Written by Eric Blake <ebb9@byu.net>, 2009.
 
    This program is free software: you can redistribute it and/or modify
index c0c8bae..508f896 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Convert wide character to unibyte character.
-   Copyright (C) 2008, 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
index 74620f0..60dc3b9 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Convert wide character to multibyte character.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
index e1db64e..3761108 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Convert wide character to multibyte character.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
index e977423..f0e6155 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Return a pointer to a zero-size object in memory.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index d384b05..2e98878 100644 (file)
@@ -1,6 +1,6 @@
 # Automakefile for GNU Diffutils library.
 
-# Copyright (C) 2001-2002, 2004, 2006, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2002, 2004, 2006, 2009-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+AM_CFLAGS =
+BUILT_SOURCES =
+CLEANFILES =
+EXTRA_DIST =
+MOSTLYCLEANDIRS =
+MOSTLYCLEANFILES =
+MAINTAINERCLEANFILES =
+SUFFIXES =
+noinst_LIBRARIES =
+noinst_HEADERS =
+
 include gnulib.mk
 
 noinst_HEADERS += cmpbuf.h prepargs.h
index 9a81883..7916a23 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11a from Makefile.am.
+# Makefile.in generated by automake 1.13a from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +16,7 @@
 
 # Automakefile for GNU Diffutils library.
 
-# Copyright (C) 2001-2002, 2004, 2006, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2002, 2004, 2006, 2009-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file.  If not, see <http://www.gnu.org/licenses/>.
 #
-# This file is free software, distributed under the terms of the GNU
-# General Public License.  As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libdiffutils --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=build-aux --with-tests --avoid=localename --avoid=lock --no-conditional-dependencies --no-libtool --macro-prefix=gl announce-gen c-stack config-h diffseq dirname do-release-commit-and-tag dup2 error exclude exitfail extensions fcntl fdl file-type filenamecat fnmatch-gnu getopt gettext-h gettime git-version-gen gitlog-to-changelog gnu-make gnu-web-doc-update gnumakefile gnupload hard-locale inttostr inttypes largefile maintainer-makefile manywarnings mbrtowc mkstemp mktime progname propername readme-release regex sh-quote signal sigprocmask stat-macros stat-time stdint strcase strftime strptime strtoumax sys_wait unistd unlocked-io update-copyright verify version-etc version-etc-fsf wcwidth xalloc xfreopen xstrtoumax
-
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libdiffutils --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=build-aux --with-tests --avoid=localename --avoid=lock --makefile-name=gnulib.mk --no-conditional-dependencies --no-libtool --macro-prefix=gl announce-gen binary-io c-stack config-h diffseq dirname do-release-commit-and-tag dup2 error exclude exitfail extensions fcntl fdl file-type filenamecat fnmatch-gnu getopt gettext-h gettime git-version-gen gitlog-to-changelog gnu-make gnu-web-doc-update gnumakefile gnupload hard-locale inttostr inttypes largefile lstat maintainer-makefile manywarnings mbrtowc mkstemp mktime progname propername readme-release regex sh-quote signal stat stat-macros stat-time stdint strcase strftime strptime strtoumax sys_wait system-quote unistd unlocked-io update-copyright vararrays verify version-etc version-etc-fsf wcwidth xalloc xfreopen xreadlink xstrtoumax xvasprintf
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -63,9 +90,9 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/config.hin $(srcdir)/gnulib.mk \
-       alloca.c
+DIST_COMMON = $(srcdir)/gnulib.mk $(srcdir)/Makefile.in \
+       $(srcdir)/Makefile.am $(srcdir)/config.hin alloca.c \
+       $(top_srcdir)/build-aux/depcomp $(noinst_HEADERS)
 @LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__append_1 = unistr/u8-mbtoucr.c
 @LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__append_2 = unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
 @LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_3 = uniwidth/width.c
@@ -74,20 +101,23 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \
        $(top_srcdir)/m4/c-stack.m4 $(top_srcdir)/m4/clock_time.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \
-       $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
+       $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
-       $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fcntl-o.m4 \
+       $(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/extensions.m4 \
+       $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
        $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
-       $(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/float_h.m4 \
-       $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpieee.m4 \
-       $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/getcwd.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/filenamecat.m4 \
+       $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+       $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/freopen.m4 \
+       $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/getcwd.m4 \
        $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext_gl.m4 \
+       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
-       $(top_srcdir)/m4/glibc21_gl.m4 $(top_srcdir)/m4/gnu-make.m4 \
+       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
        $(top_srcdir)/m4/gnulib-comp.m4 \
        $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \
@@ -95,54 +125,58 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
        $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
-       $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h_gl.m4 \
+       $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
        $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \
-       $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld_gl.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix_gl.m4 \
+       $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/libsigsegv.m4 \
        $(top_srcdir)/m4/libunistring-base.m4 \
        $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
        $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
        $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/longlong_gl.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \
-       $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \
-       $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \
-       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \
-       $(top_srcdir)/m4/onceonly.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/po_gl.m4 $(top_srcdir)/m4/printf.m4 \
+       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/longlong.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbslen.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mkstemp.m4 \
+       $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/putenv.m4 \
        $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
-       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
-       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/readlink.m4 \
+       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/secure_getenv.m4 \
+       $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \
+       $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \
        $(top_srcdir)/m4/signalblocking.m4 \
        $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
        $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
        $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
        $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
        $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdint_h_gl.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
        $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strcase.m4 \
-       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
-       $(top_srcdir)/m4/strftime.m4 $(top_srcdir)/m4/string_h.m4 \
-       $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
-       $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strptime.m4 \
-       $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
-       $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strftime.m4 \
+       $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+       $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+       $(top_srcdir)/m4/strptime.m4 $(top_srcdir)/m4/strtoull.m4 \
+       $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_wait_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
-       $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlocked-io.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/vararrays.m4 \
-       $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_wait_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+       $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd_h.m4 \
+       $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/vararrays.m4 $(top_srcdir)/m4/vasnprintf.m4 \
+       $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -150,127 +184,134 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \
        $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xsize.m4 \
        $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \
-       $(top_srcdir)/configure.ac
+       $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
+mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
-AM_V_AR = $(am__v_AR_$(V))
-am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+AM_V_AR = $(am__v_AR_@AM_V@)
+am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
 am__v_AR_0 = @echo "  AR      " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
+am__v_AR_1 = 
 libdiffutils_a_AR = $(AR) $(ARFLAGS)
 am__DEPENDENCIES_1 =
-am__libdiffutils_a_SOURCES_DIST = bitrotate.h c-ctype.h c-ctype.c \
+am__libdiffutils_a_SOURCES_DIST = allocator.c areadlink.c binary-io.h \
+       binary-io.c bitrotate.h bitrotate.c c-ctype.h c-ctype.c \
        c-stack.h c-stack.c c-strcase.h c-strcasecmp.c c-strncasecmp.c \
-       diffseq.h dirname.c basename.c dirname-lgpl.c basename-lgpl.c \
-       stripslash.c exclude.c exitfail.c file-type.c filenamecat.c \
-       filenamecat-lgpl.c freopen-safer.c gettext.h gettime.c \
-       hard-locale.c hash.c imaxtostr.c inttostr.c offtostr.c \
-       uinttostr.c umaxtostr.c localcharset.h localcharset.c \
-       malloca.c mbchar.c mbiter.h mbscasecmp.c mbslen.c mbsstr.c \
-       mbuiter.h progname.h progname.c propername.h propername.c \
-       quote.c quotearg.c sh-quote.h sh-quote.c strftime.c striconv.h \
-       striconv.c strnlen1.h strnlen1.c tempname.c trim.c \
+       careadlinkat.c diffseq.h dirname.c basename.c dirname-lgpl.c \
+       basename-lgpl.c stripslash.c exclude.c exitfail.c fd-hook.c \
+       file-type.c filenamecat.c filenamecat-lgpl.c freopen-safer.c \
+       gettext.h gettime.c hard-locale.c hash.c imaxtostr.c \
+       inttostr.c offtostr.c uinttostr.c umaxtostr.c localcharset.h \
+       localcharset.c malloca.c mbchar.c mbiter.h mbiter.c \
+       mbscasecmp.c mbslen.c mbsstr.c mbuiter.h mbuiter.c progname.h \
+       progname.c propername.h propername.c quotearg.c sh-quote.h \
+       sh-quote.c sig-handler.c size_max.h stat-time.c strftime.c \
+       striconv.h striconv.c strnlen1.h strnlen1.c system-quote.h \
+       system-quote.c tempname.c timespec.c trim.c unistd.c \
        unistr/u8-mbtoucr.c unistr/u8-uctomb.c unistr/u8-uctomb-aux.c \
        uniwidth/width.c version-etc.h version-etc.c version-etc-fsf.c \
-       xmalloc.c xalloc-die.c xfreopen.c xfreopen.h xstriconv.h \
-       xstriconv.c xstrndup.h xstrndup.c xstrtol.c xstrtoul.c \
-       xstrtol-error.c xstrtoumax.c cmpbuf.c prepargs.c
-am__dirstamp = $(am__leading_dot)dirstamp
-@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__objects_1 = unistr/u8-mbtoucr.$(OBJEXT)
-@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__objects_2 = unistr/u8-uctomb.$(OBJEXT) \
-@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@   unistr/u8-uctomb-aux.$(OBJEXT)
-@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_3 = uniwidth/width.$(OBJEXT)
-am_libdiffutils_a_OBJECTS = c-ctype.$(OBJEXT) c-stack.$(OBJEXT) \
-       c-strcasecmp.$(OBJEXT) c-strncasecmp.$(OBJEXT) \
+       wctype-h.c xmalloc.c xalloc-die.c xfreopen.c xfreopen.h \
+       xreadlink.c xsize.h xsize.c xstriconv.h xstriconv.c xstrndup.h \
+       xstrndup.c xstrtol.c xstrtoul.c xstrtol-error.c xstrtoumax.c \
+       xvasprintf.h xvasprintf.c xasprintf.c cmpbuf.c prepargs.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__objects_1 = u8-mbtoucr.$(OBJEXT)
+@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__objects_2 = u8-uctomb.$(OBJEXT) \
+@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@   u8-uctomb-aux.$(OBJEXT)
+@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_3 =  \
+@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@     width.$(OBJEXT)
+am_libdiffutils_a_OBJECTS = allocator.$(OBJEXT) areadlink.$(OBJEXT) \
+       binary-io.$(OBJEXT) bitrotate.$(OBJEXT) c-ctype.$(OBJEXT) \
+       c-stack.$(OBJEXT) c-strcasecmp.$(OBJEXT) \
+       c-strncasecmp.$(OBJEXT) careadlinkat.$(OBJEXT) \
        dirname.$(OBJEXT) basename.$(OBJEXT) dirname-lgpl.$(OBJEXT) \
        basename-lgpl.$(OBJEXT) stripslash.$(OBJEXT) exclude.$(OBJEXT) \
-       exitfail.$(OBJEXT) file-type.$(OBJEXT) filenamecat.$(OBJEXT) \
-       filenamecat-lgpl.$(OBJEXT) freopen-safer.$(OBJEXT) \
-       gettime.$(OBJEXT) hard-locale.$(OBJEXT) hash.$(OBJEXT) \
-       imaxtostr.$(OBJEXT) inttostr.$(OBJEXT) offtostr.$(OBJEXT) \
-       uinttostr.$(OBJEXT) umaxtostr.$(OBJEXT) localcharset.$(OBJEXT) \
-       malloca.$(OBJEXT) mbchar.$(OBJEXT) mbscasecmp.$(OBJEXT) \
-       mbslen.$(OBJEXT) mbsstr.$(OBJEXT) progname.$(OBJEXT) \
-       propername.$(OBJEXT) quote.$(OBJEXT) quotearg.$(OBJEXT) \
-       sh-quote.$(OBJEXT) strftime.$(OBJEXT) striconv.$(OBJEXT) \
-       strnlen1.$(OBJEXT) tempname.$(OBJEXT) trim.$(OBJEXT) \
-       $(am__objects_1) $(am__objects_2) $(am__objects_3) \
-       version-etc.$(OBJEXT) version-etc-fsf.$(OBJEXT) \
-       xmalloc.$(OBJEXT) xalloc-die.$(OBJEXT) xfreopen.$(OBJEXT) \
-       xstriconv.$(OBJEXT) xstrndup.$(OBJEXT) xstrtol.$(OBJEXT) \
-       xstrtoul.$(OBJEXT) xstrtol-error.$(OBJEXT) \
-       xstrtoumax.$(OBJEXT) cmpbuf.$(OBJEXT) prepargs.$(OBJEXT)
+       exitfail.$(OBJEXT) fd-hook.$(OBJEXT) file-type.$(OBJEXT) \
+       filenamecat.$(OBJEXT) filenamecat-lgpl.$(OBJEXT) \
+       freopen-safer.$(OBJEXT) gettime.$(OBJEXT) \
+       hard-locale.$(OBJEXT) hash.$(OBJEXT) imaxtostr.$(OBJEXT) \
+       inttostr.$(OBJEXT) offtostr.$(OBJEXT) uinttostr.$(OBJEXT) \
+       umaxtostr.$(OBJEXT) localcharset.$(OBJEXT) malloca.$(OBJEXT) \
+       mbchar.$(OBJEXT) mbiter.$(OBJEXT) mbscasecmp.$(OBJEXT) \
+       mbslen.$(OBJEXT) mbsstr.$(OBJEXT) mbuiter.$(OBJEXT) \
+       progname.$(OBJEXT) propername.$(OBJEXT) quotearg.$(OBJEXT) \
+       sh-quote.$(OBJEXT) sig-handler.$(OBJEXT) stat-time.$(OBJEXT) \
+       strftime.$(OBJEXT) striconv.$(OBJEXT) strnlen1.$(OBJEXT) \
+       system-quote.$(OBJEXT) tempname.$(OBJEXT) timespec.$(OBJEXT) \
+       trim.$(OBJEXT) unistd.$(OBJEXT) $(am__objects_1) \
+       $(am__objects_2) $(am__objects_3) version-etc.$(OBJEXT) \
+       version-etc-fsf.$(OBJEXT) wctype-h.$(OBJEXT) xmalloc.$(OBJEXT) \
+       xalloc-die.$(OBJEXT) xfreopen.$(OBJEXT) xreadlink.$(OBJEXT) \
+       xsize.$(OBJEXT) xstriconv.$(OBJEXT) xstrndup.$(OBJEXT) \
+       xstrtol.$(OBJEXT) xstrtoul.$(OBJEXT) xstrtol-error.$(OBJEXT) \
+       xstrtoumax.$(OBJEXT) xvasprintf.$(OBJEXT) xasprintf.$(OBJEXT) \
+       cmpbuf.$(OBJEXT) prepargs.$(OBJEXT)
 libdiffutils_a_OBJECTS = $(am_libdiffutils_a_OBJECTS)
-LTLIBRARIES = $(noinst_LTLIBRARIES)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+       $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_CCLD_1 = 
 SOURCES = $(libdiffutils_a_SOURCES) $(EXTRA_libdiffutils_a_SOURCES)
 DIST_SOURCES = $(am__libdiffutils_a_SOURCES_DIST) \
        $(EXTRA_libdiffutils_a_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(noinst_HEADERS)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+       $(LISP)config.hin
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
@@ -321,9 +362,11 @@ GNULIB_ATOLL = @GNULIB_ATOLL@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
 GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
@@ -335,6 +378,8 @@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
 GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
 GNULIB_FCLOSE = @GNULIB_FCLOSE@
 GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
 GNULIB_FFLUSH = @GNULIB_FFLUSH@
 GNULIB_FFS = @GNULIB_FFS@
 GNULIB_FFSL = @GNULIB_FFSL@
@@ -352,6 +397,7 @@ GNULIB_FREOPEN = @GNULIB_FREOPEN@
 GNULIB_FSCANF = @GNULIB_FSCANF@
 GNULIB_FSEEK = @GNULIB_FSEEK@
 GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
 GNULIB_FSTATAT = @GNULIB_FSTATAT@
 GNULIB_FSYNC = @GNULIB_FSYNC@
 GNULIB_FTELL = @GNULIB_FTELL@
@@ -372,21 +418,23 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETS = @GNULIB_GETS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
 GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_ICONV = @GNULIB_ICONV@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_ISATTY = @GNULIB_ISATTY@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -432,20 +480,25 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
 GNULIB_PIPE2 = @GNULIB_PIPE2@
 GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
 GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
 GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RAISE = @GNULIB_RAISE@
+GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
@@ -459,7 +512,9 @@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
 GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
 GNULIB_SIGACTION = @GNULIB_SIGACTION@
 GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
@@ -500,7 +555,6 @@ GNULIB_TIME_R = @GNULIB_TIME_R@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -566,6 +620,7 @@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
@@ -583,6 +638,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -608,6 +664,7 @@ HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
 HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
 HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFS = @HAVE_FFS@
 HAVE_FFSL = @HAVE_FFSL@
@@ -661,17 +718,24 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
 HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
 HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
 HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RAISE = @HAVE_RAISE@
+HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
@@ -680,7 +744,9 @@ HAVE_READLINKAT = @HAVE_READLINKAT@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
 HAVE_SIGACTION = @HAVE_SIGACTION@
 HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@
 HAVE_SIGINFO_T = @HAVE_SIGINFO_T@
@@ -695,6 +761,7 @@ HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASECMP = @HAVE_STRCASECMP@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRINGS_H = @HAVE_STRINGS_H@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
@@ -827,6 +894,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
@@ -850,6 +918,7 @@ NEXT_STRINGS_H = @NEXT_STRINGS_H@
 NEXT_STRING_H = @NEXT_STRING_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
 NEXT_SYS_WAIT_H = @NEXT_SYS_WAIT_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
@@ -885,6 +954,7 @@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
@@ -896,6 +966,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@
 REPLACE_FSTATAT = @REPLACE_FSTATAT@
 REPLACE_FTELL = @REPLACE_FTELL@
 REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
 REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
@@ -908,11 +979,14 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
+REPLACE_ITOLD = @REPLACE_ITOLD@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
@@ -942,8 +1016,12 @@ REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
 REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_RAISE = @REPLACE_RAISE@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
 REPLACE_REALLOC = @REPLACE_REALLOC@
@@ -972,7 +1050,10 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
 REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
@@ -1019,6 +1100,8 @@ VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1030,7 +1113,6 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 am__include = @am__include@
-am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
@@ -1066,7 +1148,6 @@ lispdir = @lispdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
-mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -1080,11 +1161,34 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects
-SUBDIRS = 
-noinst_HEADERS = cmpbuf.h prepargs.h
-noinst_LIBRARIES = libdiffutils.a
-noinst_LTLIBRARIES = 
+AM_CFLAGS = $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS)
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+BUILT_SOURCES = $(ALLOCA_H) configmake.h $(ERRNO_H) fcntl.h $(FLOAT_H) \
+       $(FNMATCH_H) $(GETOPT_H) $(ICONV_H) iconv_open-aix.h \
+       iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h \
+       iconv_open-solaris.h inttypes.h langinfo.h locale.h signal.h \
+       arg-nonnull.h c++defs.h unused-parameter.h warn-on-use.h \
+       $(STDARG_H) $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) stdio.h \
+       stdlib.h string.h strings.h sys/stat.h sys/time.h sys/types.h \
+       sys/wait.h time.h unistd.h $(LIBUNISTRING_UNISTR_H) \
+       $(LIBUNISTRING_UNITYPES_H) $(LIBUNISTRING_UNIWIDTH_H) wchar.h \
+       wctype.h
+CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \
+       ref-del.sed
 
 #if GNU_MAKE
 #      [nicer features that work only with GNU Make]
@@ -1093,12 +1197,14 @@ noinst_LTLIBRARIES =
 #      http://www.opengroup.org/susv3/utilities/make.html
 #      for the 2004 POSIX specification]
 #endif
-EXTRA_DIST = alloca.c alloca.in.h $(top_srcdir)/build-aux/announce-gen \
-       btowc.c stripslash.c dirname.h \
+EXTRA_DIST = alloca.c alloca.in.h allocator.h \
+       $(top_srcdir)/build-aux/announce-gen areadlink.h btowc.c \
+       c-strcaseeq.h careadlinkat.h close.c stripslash.c dirname.h \
        $(top_srcdir)/build-aux/do-release-commit-and-tag dosname.h \
        dup2.c errno.in.h error.c error.h exclude.h exitfail.h fcntl.c \
-       fcntl.in.h file-type.h filenamecat.h fnmatch.c fnmatch.in.h \
-       fnmatch_loop.c freopen.c stdio--.h stdio-safer.h \
+       fcntl.in.h fd-hook.h file-type.h filenamecat.h float.c \
+       float.in.h itold.c fnmatch.c fnmatch.in.h fnmatch_loop.c \
+       freopen.c stdio--.h stdio-safer.h fstat.c \
        $(top_srcdir)/build-aux/gendocs.sh getdtablesize.c getopt.c \
        getopt.in.h getopt1.c getopt_int.h gettimeofday.c \
        $(top_srcdir)/build-aux/git-version-gen \
@@ -1113,15 +1219,17 @@ EXTRA_DIST = alloca.c alloca.in.h $(top_srcdir)/build-aux/announce-gen \
        iconv_open-osf.gperf iconv_open-solaris.gperf iconv_open.c \
        ignore-value.h intprops.h anytostr.c inttostr.h inttypes.in.h \
        iswblank.c langinfo.in.h config.charset ref-add.sin \
-       ref-del.sin lstat.c $(top_srcdir)/maint.mk malloc.c malloc.c \
-       malloca.h malloca.valgrind mbchar.h mbrtowc.c mbsinit.c \
-       mbsrtowcs-impl.h mbsrtowcs-state.c mbsrtowcs.c str-kmp.h \
-       mbtowc-impl.h mbtowc.c memchr.c memchr.valgrind mkstemp.c \
-       mktime-internal.h mktime.c nl_langinfo.c open.c quote.h \
-       quotearg.h $(top_srcdir)/README-release regcomp.c regex.c \
-       regex.h regex_internal.c regex_internal.h regexec.c \
-       sig-handler.h sigaction.c signal.in.h sigprocmask.c \
-       $(top_srcdir)/build-aux/snippet/_Noreturn.h \
+       ref-del.sin locale.in.h localeconv.c lstat.c \
+       $(top_srcdir)/maint.mk malloc.c malloc.c malloca.h \
+       malloca.valgrind mbchar.h mbrtowc.c mbsinit.c mbsrtowcs-impl.h \
+       mbsrtowcs-state.c mbsrtowcs.c str-kmp.h mbtowc-impl.h mbtowc.c \
+       memchr.c memchr.valgrind mkstemp.c mktime-internal.h mktime.c \
+       msvc-inval.c msvc-inval.h msvc-nothrow.c msvc-nothrow.h \
+       nl_langinfo.c open.c pathmax.h quote.h quote.h quotearg.h \
+       raise.c readlink.c $(top_srcdir)/README-release regcomp.c \
+       regex.c regex.h regex_internal.c regex_internal.h regexec.c \
+       secure_getenv.c sig-handler.h sigaction.c signal.in.h \
+       sigprocmask.c $(top_srcdir)/build-aux/snippet/_Noreturn.h \
        $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
        $(top_srcdir)/build-aux/snippet/c++defs.h \
        $(top_srcdir)/build-aux/snippet/unused-parameter.h \
@@ -1131,92 +1239,75 @@ EXTRA_DIST = alloca.c alloca.in.h $(top_srcdir)/build-aux/announce-gen \
        streq.h strerror.c strerror-override.c strerror-override.h \
        strftime.h string.in.h strings.in.h strndup.c strnlen.c \
        strptime.c strtol.c strtoul.c strtoull.c strtoimax.c \
-       strtoumax.c sys_stat.in.h sys_time.in.h sys_wait.in.h \
-       tempname.h time.in.h time_r.c timespec.h trim.h unistd.in.h \
-       unistr.in.h unitypes.in.h localcharset.h uniwidth.in.h \
-       uniwidth/cjk.h unlocked-io.h \
+       strtoumax.c sys_stat.in.h sys_time.in.h sys_types.in.h \
+       sys_wait.in.h tempname.h time.in.h time_r.c timespec.h trim.h \
+       unistd.in.h unistr.in.h unitypes.in.h localcharset.h \
+       uniwidth.in.h uniwidth/cjk.h unlocked-io.h \
        $(top_srcdir)/build-aux/update-copyright \
-       $(top_srcdir)/build-aux/useless-if-before-free \
-       $(top_srcdir)/build-aux/vc-list-files verify.h wchar.in.h \
-       wcrtomb.c wctype.in.h wcwidth.c xalloc.h xalloc-oversized.h \
-       xstrtol.h
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-BUILT_SOURCES = $(ALLOCA_H) configmake.h $(ERRNO_H) fcntl.h \
-       $(FNMATCH_H) $(GETOPT_H) $(ICONV_H) iconv_open-aix.h \
-       iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h \
-       iconv_open-solaris.h inttypes.h langinfo.h signal.h \
-       arg-nonnull.h c++defs.h unused-parameter.h warn-on-use.h \
-       $(STDARG_H) $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) stdio.h \
-       stdlib.h string.h strings.h sys/stat.h sys/time.h sys/wait.h \
-       time.h unistd.h $(LIBUNISTRING_UNISTR_H) \
-       $(LIBUNISTRING_UNITYPES_H) $(LIBUNISTRING_UNIWIDTH_H) wchar.h \
-       wctype.h
-SUFFIXES = .sed .sin
+       $(top_srcdir)/build-aux/useless-if-before-free asnprintf.c \
+       float+.h printf-args.c printf-args.h printf-parse.c \
+       printf-parse.h vasnprintf.c vasnprintf.h asprintf.c \
+       vasprintf.c $(top_srcdir)/build-aux/vc-list-files verify.h \
+       wchar.in.h wcrtomb.c wctype.in.h wcwidth.c xalloc.h \
+       xalloc-oversized.h xreadlink.h xstrtol.h xalloc.h
+MOSTLYCLEANDIRS = sys sys
 MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t errno.h \
-       errno.h-t fcntl.h fcntl.h-t fnmatch.h fnmatch.h-t getopt.h \
-       getopt.h-t iconv.h iconv.h-t iconv_open-aix.h-t \
-       iconv_open-hpux.h-t iconv_open-irix.h-t iconv_open-osf.h-t \
-       iconv_open-solaris.h-t inttypes.h inttypes.h-t langinfo.h \
-       langinfo.h-t signal.h signal.h-t arg-nonnull.h arg-nonnull.h-t \
-       c++defs.h c++defs.h-t unused-parameter.h unused-parameter.h-t \
+       errno.h-t fcntl.h fcntl.h-t float.h float.h-t fnmatch.h \
+       fnmatch.h-t getopt.h getopt.h-t iconv.h iconv.h-t \
+       iconv_open-aix.h-t iconv_open-hpux.h-t iconv_open-irix.h-t \
+       iconv_open-osf.h-t iconv_open-solaris.h-t inttypes.h \
+       inttypes.h-t langinfo.h langinfo.h-t locale.h locale.h-t \
+       signal.h signal.h-t arg-nonnull.h arg-nonnull.h-t c++defs.h \
+       c++defs.h-t unused-parameter.h unused-parameter.h-t \
        warn-on-use.h warn-on-use.h-t stdarg.h stdarg.h-t stdbool.h \
        stdbool.h-t stddef.h stddef.h-t stdint.h stdint.h-t stdio.h \
        stdio.h-t stdlib.h stdlib.h-t string.h string.h-t strings.h \
        strings.h-t sys/stat.h sys/stat.h-t sys/time.h sys/time.h-t \
-       sys/wait.h sys/wait.h-t time.h time.h-t unistd.h unistd.h-t \
-       unistr.h unistr.h-t unitypes.h unitypes.h-t uniwidth.h \
-       uniwidth.h-t wchar.h wchar.h-t wctype.h wctype.h-t
-MOSTLYCLEANDIRS = sys sys
-CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \
-       ref-del.sed
-DISTCLEANFILES = 
+       sys/types.h sys/types.h-t sys/wait.h sys/wait.h-t time.h \
+       time.h-t unistd.h unistd.h-t unistr.h unistr.h-t unitypes.h \
+       unitypes.h-t uniwidth.h uniwidth.h-t wchar.h wchar.h-t \
+       wctype.h wctype.h-t
 MAINTAINERCLEANFILES = iconv_open-aix.h iconv_open-hpux.h \
        iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h
-AM_CPPFLAGS = 
-AM_CFLAGS = $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS)
-libdiffutils_a_SOURCES = bitrotate.h c-ctype.h c-ctype.c c-stack.h \
-       c-stack.c c-strcase.h c-strcasecmp.c c-strncasecmp.c diffseq.h \
-       dirname.c basename.c dirname-lgpl.c basename-lgpl.c \
-       stripslash.c exclude.c exitfail.c file-type.c filenamecat.c \
-       filenamecat-lgpl.c freopen-safer.c gettext.h gettime.c \
-       hard-locale.c hash.c imaxtostr.c inttostr.c offtostr.c \
-       uinttostr.c umaxtostr.c localcharset.h localcharset.c \
-       malloca.c mbchar.c mbiter.h mbscasecmp.c mbslen.c mbsstr.c \
-       mbuiter.h progname.h progname.c propername.h propername.c \
-       quote.c quotearg.c sh-quote.h sh-quote.c strftime.c striconv.h \
-       striconv.c strnlen1.h strnlen1.c tempname.c trim.c \
+SUFFIXES = .sed .sin
+noinst_LIBRARIES = libdiffutils.a
+noinst_HEADERS = cmpbuf.h prepargs.h
+libdiffutils_a_SOURCES = allocator.c areadlink.c binary-io.h \
+       binary-io.c bitrotate.h bitrotate.c c-ctype.h c-ctype.c \
+       c-stack.h c-stack.c c-strcase.h c-strcasecmp.c c-strncasecmp.c \
+       careadlinkat.c diffseq.h dirname.c basename.c dirname-lgpl.c \
+       basename-lgpl.c stripslash.c exclude.c exitfail.c fd-hook.c \
+       file-type.c filenamecat.c filenamecat-lgpl.c freopen-safer.c \
+       gettext.h gettime.c hard-locale.c hash.c imaxtostr.c \
+       inttostr.c offtostr.c uinttostr.c umaxtostr.c localcharset.h \
+       localcharset.c malloca.c mbchar.c mbiter.h mbiter.c \
+       mbscasecmp.c mbslen.c mbsstr.c mbuiter.h mbuiter.c progname.h \
+       progname.c propername.h propername.c quotearg.c sh-quote.h \
+       sh-quote.c sig-handler.c size_max.h stat-time.c strftime.c \
+       striconv.h striconv.c strnlen1.h strnlen1.c system-quote.h \
+       system-quote.c tempname.c timespec.c trim.c unistd.c \
        $(am__append_1) $(am__append_2) $(am__append_3) version-etc.h \
-       version-etc.c version-etc-fsf.c xmalloc.c xalloc-die.c \
-       xfreopen.c xfreopen.h xstriconv.h xstriconv.c xstrndup.h \
-       xstrndup.c xstrtol.c xstrtoul.c xstrtol-error.c xstrtoumax.c \
-       cmpbuf.c prepargs.c
+       version-etc.c version-etc-fsf.c wctype-h.c xmalloc.c \
+       xalloc-die.c xfreopen.c xfreopen.h xreadlink.c xsize.h xsize.c \
+       xstriconv.h xstriconv.c xstrndup.h xstrndup.c xstrtol.c \
+       xstrtoul.c xstrtol-error.c xstrtoumax.c xvasprintf.h \
+       xvasprintf.c xasprintf.c cmpbuf.c prepargs.c
 libdiffutils_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@
 libdiffutils_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@
-EXTRA_libdiffutils_a_SOURCES = alloca.c btowc.c stripslash.c dup2.c \
-       error.c fcntl.c fnmatch.c fnmatch_loop.c freopen.c \
-       getdtablesize.c getopt.c getopt1.c gettimeofday.c iconv.c \
-       iconv_close.c iconv_open.c anytostr.c iswblank.c lstat.c \
-       malloc.c malloc.c mbrtowc.c mbsinit.c mbsrtowcs-state.c \
-       mbsrtowcs.c mbtowc.c memchr.c mkstemp.c mktime.c nl_langinfo.c \
-       open.c regcomp.c regex.c regex_internal.c regexec.c \
-       sigaction.c sigprocmask.c stat.c strcasecmp.c strncasecmp.c \
-       strerror.c strerror-override.c strndup.c strnlen.c strptime.c \
-       strtol.c strtoul.c strtoull.c strtoimax.c strtoumax.c time_r.c \
-       wcrtomb.c wcwidth.c
+EXTRA_libdiffutils_a_SOURCES = alloca.c btowc.c close.c stripslash.c \
+       dup2.c error.c fcntl.c float.c itold.c fnmatch.c \
+       fnmatch_loop.c freopen.c fstat.c getdtablesize.c getopt.c \
+       getopt1.c gettimeofday.c iconv.c iconv_close.c iconv_open.c \
+       anytostr.c iswblank.c localeconv.c lstat.c malloc.c malloc.c \
+       mbrtowc.c mbsinit.c mbsrtowcs-state.c mbsrtowcs.c mbtowc.c \
+       memchr.c mkstemp.c mktime.c msvc-inval.c msvc-nothrow.c \
+       nl_langinfo.c open.c raise.c readlink.c regcomp.c regex.c \
+       regex_internal.c regexec.c secure_getenv.c sigaction.c \
+       sigprocmask.c stat.c strcasecmp.c strncasecmp.c strerror.c \
+       strerror-override.c strndup.c strnlen.c strptime.c strtol.c \
+       strtoul.c strtoull.c strtoimax.c strtoumax.c time_r.c \
+       asnprintf.c printf-args.c printf-parse.c vasnprintf.c \
+       asprintf.c vasprintf.c wcrtomb.c wcwidth.c
 GPERF = gperf
 charset_alias = $(DESTDIR)$(libdir)/charset.alias
 charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
@@ -1230,7 +1321,7 @@ CXXDEFS_H = c++defs.h
 UNUSED_PARAMETER_H = unused-parameter.h
 WARN_ON_USE_H = warn-on-use.h
 all: $(BUILT_SOURCES) config.h
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
+       $(MAKE) $(AM_MAKEFLAGS) all-am
 
 .SUFFIXES:
 .SUFFIXES: .sed .sin .c .o .obj
@@ -1243,9 +1334,9 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configur
              exit 1;; \
          esac; \
        done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits lib/Makefile'; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/Makefile'; \
        $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --gnits lib/Makefile
+         $(AUTOMAKE) --gnu lib/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
        @case '$?' in \
@@ -1255,6 +1346,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
            echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
            cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
        esac;
+$(srcdir)/gnulib.mk:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -1282,62 +1374,35 @@ distclean-hdr:
 
 clean-noinstLIBRARIES:
        -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-unistr/$(am__dirstamp):
-       @$(MKDIR_P) unistr
-       @: > unistr/$(am__dirstamp)
-unistr/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) unistr/$(DEPDIR)
-       @: > unistr/$(DEPDIR)/$(am__dirstamp)
-unistr/u8-mbtoucr.$(OBJEXT): unistr/$(am__dirstamp) \
-       unistr/$(DEPDIR)/$(am__dirstamp)
-unistr/u8-uctomb.$(OBJEXT): unistr/$(am__dirstamp) \
-       unistr/$(DEPDIR)/$(am__dirstamp)
-unistr/u8-uctomb-aux.$(OBJEXT): unistr/$(am__dirstamp) \
-       unistr/$(DEPDIR)/$(am__dirstamp)
-uniwidth/$(am__dirstamp):
-       @$(MKDIR_P) uniwidth
-       @: > uniwidth/$(am__dirstamp)
-uniwidth/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) uniwidth/$(DEPDIR)
-       @: > uniwidth/$(DEPDIR)/$(am__dirstamp)
-uniwidth/width.$(OBJEXT): uniwidth/$(am__dirstamp) \
-       uniwidth/$(DEPDIR)/$(am__dirstamp)
 libdiffutils.a: $(libdiffutils_a_OBJECTS) $(libdiffutils_a_DEPENDENCIES) $(EXTRA_libdiffutils_a_DEPENDENCIES) 
        $(AM_V_at)-rm -f libdiffutils.a
        $(AM_V_AR)$(libdiffutils_a_AR) libdiffutils.a $(libdiffutils_a_OBJECTS) $(libdiffutils_a_LIBADD)
        $(AM_V_at)$(RANLIB) libdiffutils.a
 
-clean-noinstLTLIBRARIES:
-       -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-       @list='$(noinst_LTLIBRARIES)'; \
-       locs=`for p in $$list; do echo $$p; done | \
-             sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
-             sort -u`; \
-       test -z "$$locs" || { \
-         echo rm -f $${locs}; \
-         rm -f $${locs}; \
-       }
-
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
-       -rm -f unistr/u8-mbtoucr.$(OBJEXT)
-       -rm -f unistr/u8-uctomb-aux.$(OBJEXT)
-       -rm -f unistr/u8-uctomb.$(OBJEXT)
-       -rm -f uniwidth/width.$(OBJEXT)
 
 distclean-compile:
        -rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloca.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allocator.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/anytostr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/areadlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asnprintf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asprintf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename-lgpl.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/binary-io.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitrotate.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btowc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-ctype.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-stack.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strcasecmp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strncasecmp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/careadlinkat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmpbuf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname-lgpl.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname.Po@am__quote@
@@ -1346,13 +1411,16 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exclude.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exitfail.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fd-hook.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-type.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filenamecat-lgpl.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filenamecat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/float.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fnmatch.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fnmatch_loop.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/freopen-safer.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/freopen.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdtablesize.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@
@@ -1366,11 +1434,14 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imaxtostr.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inttostr.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iswblank.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/itold.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localcharset.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localeconv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloca.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbchar.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbiter.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbrtowc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbscasecmp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbsinit.Po@am__quote@
@@ -1379,24 +1450,33 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbsrtowcs.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbsstr.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbtowc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbuiter.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memchr.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkstemp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mktime.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvc-inval.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvc-nothrow.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nl_langinfo.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/offtostr.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prepargs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-args.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-parse.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progname.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/propername.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quote.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotearg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/raise.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlink.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regcomp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex_internal.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regexec.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secure_getenv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sh-quote.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sig-handler.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaction.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigprocmask.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat-time.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcasecmp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-override.Po@am__quote@
@@ -1414,152 +1494,118 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoul.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoull.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoumax.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/system-quote.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tempname.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time_r.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timespec.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trim.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/u8-mbtoucr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/u8-uctomb-aux.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/u8-uctomb.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uinttostr.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umaxtostr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unistd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vasnprintf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vasprintf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc-fsf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcrtomb.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wctype-h.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcwidth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/width.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xalloc-die.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xasprintf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfreopen.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xreadlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xsize.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstriconv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrndup.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtol-error.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtol.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtoul.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtoumax.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u8-mbtoucr.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u8-uctomb-aux.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u8-uctomb.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@uniwidth/$(DEPDIR)/width.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xvasprintf.Po@am__quote@
 
 .c.o:
-@am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
 
 .c.obj:
-@am__fastdepCC_TRUE@   $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-cscopelist-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
-       done
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+u8-mbtoucr.o: unistr/u8-mbtoucr.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT u8-mbtoucr.o -MD -MP -MF $(DEPDIR)/u8-mbtoucr.Tpo -c -o u8-mbtoucr.o `test -f 'unistr/u8-mbtoucr.c' || echo '$(srcdir)/'`unistr/u8-mbtoucr.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/u8-mbtoucr.Tpo $(DEPDIR)/u8-mbtoucr.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='unistr/u8-mbtoucr.c' object='u8-mbtoucr.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o u8-mbtoucr.o `test -f 'unistr/u8-mbtoucr.c' || echo '$(srcdir)/'`unistr/u8-mbtoucr.c
+
+u8-mbtoucr.obj: unistr/u8-mbtoucr.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT u8-mbtoucr.obj -MD -MP -MF $(DEPDIR)/u8-mbtoucr.Tpo -c -o u8-mbtoucr.obj `if test -f 'unistr/u8-mbtoucr.c'; then $(CYGPATH_W) 'unistr/u8-mbtoucr.c'; else $(CYGPATH_W) '$(srcdir)/unistr/u8-mbtoucr.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/u8-mbtoucr.Tpo $(DEPDIR)/u8-mbtoucr.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='unistr/u8-mbtoucr.c' object='u8-mbtoucr.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o u8-mbtoucr.obj `if test -f 'unistr/u8-mbtoucr.c'; then $(CYGPATH_W) 'unistr/u8-mbtoucr.c'; else $(CYGPATH_W) '$(srcdir)/unistr/u8-mbtoucr.c'; fi`
+
+u8-uctomb.o: unistr/u8-uctomb.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT u8-uctomb.o -MD -MP -MF $(DEPDIR)/u8-uctomb.Tpo -c -o u8-uctomb.o `test -f 'unistr/u8-uctomb.c' || echo '$(srcdir)/'`unistr/u8-uctomb.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/u8-uctomb.Tpo $(DEPDIR)/u8-uctomb.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='unistr/u8-uctomb.c' object='u8-uctomb.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o u8-uctomb.o `test -f 'unistr/u8-uctomb.c' || echo '$(srcdir)/'`unistr/u8-uctomb.c
+
+u8-uctomb.obj: unistr/u8-uctomb.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT u8-uctomb.obj -MD -MP -MF $(DEPDIR)/u8-uctomb.Tpo -c -o u8-uctomb.obj `if test -f 'unistr/u8-uctomb.c'; then $(CYGPATH_W) 'unistr/u8-uctomb.c'; else $(CYGPATH_W) '$(srcdir)/unistr/u8-uctomb.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/u8-uctomb.Tpo $(DEPDIR)/u8-uctomb.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='unistr/u8-uctomb.c' object='u8-uctomb.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o u8-uctomb.obj `if test -f 'unistr/u8-uctomb.c'; then $(CYGPATH_W) 'unistr/u8-uctomb.c'; else $(CYGPATH_W) '$(srcdir)/unistr/u8-uctomb.c'; fi`
+
+u8-uctomb-aux.o: unistr/u8-uctomb-aux.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT u8-uctomb-aux.o -MD -MP -MF $(DEPDIR)/u8-uctomb-aux.Tpo -c -o u8-uctomb-aux.o `test -f 'unistr/u8-uctomb-aux.c' || echo '$(srcdir)/'`unistr/u8-uctomb-aux.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/u8-uctomb-aux.Tpo $(DEPDIR)/u8-uctomb-aux.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='unistr/u8-uctomb-aux.c' object='u8-uctomb-aux.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o u8-uctomb-aux.o `test -f 'unistr/u8-uctomb-aux.c' || echo '$(srcdir)/'`unistr/u8-uctomb-aux.c
+
+u8-uctomb-aux.obj: unistr/u8-uctomb-aux.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT u8-uctomb-aux.obj -MD -MP -MF $(DEPDIR)/u8-uctomb-aux.Tpo -c -o u8-uctomb-aux.obj `if test -f 'unistr/u8-uctomb-aux.c'; then $(CYGPATH_W) 'unistr/u8-uctomb-aux.c'; else $(CYGPATH_W) '$(srcdir)/unistr/u8-uctomb-aux.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/u8-uctomb-aux.Tpo $(DEPDIR)/u8-uctomb-aux.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='unistr/u8-uctomb-aux.c' object='u8-uctomb-aux.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o u8-uctomb-aux.obj `if test -f 'unistr/u8-uctomb-aux.c'; then $(CYGPATH_W) 'unistr/u8-uctomb-aux.c'; else $(CYGPATH_W) '$(srcdir)/unistr/u8-uctomb-aux.c'; fi`
+
+width.o: uniwidth/width.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT width.o -MD -MP -MF $(DEPDIR)/width.Tpo -c -o width.o `test -f 'uniwidth/width.c' || echo '$(srcdir)/'`uniwidth/width.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/width.Tpo $(DEPDIR)/width.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='uniwidth/width.c' object='width.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o width.o `test -f 'uniwidth/width.c' || echo '$(srcdir)/'`uniwidth/width.c
+
+width.obj: uniwidth/width.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT width.obj -MD -MP -MF $(DEPDIR)/width.Tpo -c -o width.obj `if test -f 'uniwidth/width.c'; then $(CYGPATH_W) 'uniwidth/width.c'; else $(CYGPATH_W) '$(srcdir)/uniwidth/width.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/width.Tpo $(DEPDIR)/width.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='uniwidth/width.c' object='width.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o width.obj `if test -f 'uniwidth/width.c'; then $(CYGPATH_W) 'uniwidth/width.c'; else $(CYGPATH_W) '$(srcdir)/uniwidth/width.c'; fi`
+
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS) config.hin $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -1571,15 +1617,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS) config.hin $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -1588,9 +1630,10 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
 
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
        case "$(srcdir)" in \
          [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          *) sdir=$(subdir)/$(srcdir) ;; \
@@ -1636,51 +1679,21 @@ distdir: $(DISTFILES)
            || exit 1; \
          fi; \
        done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
 check-am: all-am
 check: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) check-recursive
-all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) config.h \
-               all-local
-installdirs: installdirs-recursive
-installdirs-am:
+       $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(LIBRARIES) $(HEADERS) config.h all-local
+installdirs:
 install: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
+       $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
 
 install-am: all-am
        @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
 
-installcheck: installcheck-recursive
+installcheck: installcheck-am
 install-strip:
        if test -z '$(STRIP)'; then \
          $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
@@ -1700,107 +1713,98 @@ clean-generic:
 distclean-generic:
        -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
        -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-       -rm -f unistr/$(DEPDIR)/$(am__dirstamp)
-       -rm -f unistr/$(am__dirstamp)
-       -rm -f uniwidth/$(DEPDIR)/$(am__dirstamp)
-       -rm -f uniwidth/$(am__dirstamp)
-       -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
        -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
        -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean: clean-recursive
+clean: clean-am
 
-clean-am: clean-generic clean-noinstLIBRARIES clean-noinstLTLIBRARIES \
-       mostlyclean-am
+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
 
-distclean: distclean-recursive
-       -rm -rf $(DEPDIR) ./$(DEPDIR) unistr/$(DEPDIR) uniwidth/$(DEPDIR)
+distclean: distclean-am
+       -rm -rf $(DEPDIR) ./$(DEPDIR)
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-hdr distclean-local distclean-tags
 
-dvi: dvi-recursive
+dvi: dvi-am
 
 dvi-am:
 
-html: html-recursive
+html: html-am
 
 html-am:
 
-info: info-recursive
+info: info-am
 
 info-am:
 
 install-data-am:
 
-install-dvi: install-dvi-recursive
+install-dvi: install-dvi-am
 
 install-dvi-am:
 
 install-exec-am: install-exec-local
 
-install-html: install-html-recursive
+install-html: install-html-am
 
 install-html-am:
 
-install-info: install-info-recursive
+install-info: install-info-am
 
 install-info-am:
 
 install-man:
 
-install-pdf: install-pdf-recursive
+install-pdf: install-pdf-am
 
 install-pdf-am:
 
-install-ps: install-ps-recursive
+install-ps: install-ps-am
 
 install-ps-am:
 
 installcheck-am:
 
-maintainer-clean: maintainer-clean-recursive
-       -rm -rf $(DEPDIR) ./$(DEPDIR) unistr/$(DEPDIR) uniwidth/$(DEPDIR)
+maintainer-clean: maintainer-clean-am
+       -rm -rf $(DEPDIR) ./$(DEPDIR)
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
-mostlyclean: mostlyclean-recursive
+mostlyclean: mostlyclean-am
 
 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
        mostlyclean-local
 
-pdf: pdf-recursive
+pdf: pdf-am
 
 pdf-am:
 
-ps: ps-recursive
+ps: ps-am
 
 ps-am:
 
 uninstall-am: uninstall-local
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
-       cscopelist-recursive ctags-recursive install install-am \
-       install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am all-local check check-am clean clean-generic \
-       clean-noinstLIBRARIES clean-noinstLTLIBRARIES cscopelist \
-       cscopelist-recursive ctags ctags-recursive distclean \
-       distclean-compile distclean-generic distclean-hdr \
-       distclean-local distclean-tags distdir dvi dvi-am html html-am \
-       info info-am install install-am install-data install-data-am \
-       install-dvi install-dvi-am install-exec install-exec-am \
-       install-exec-local install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-local pdf pdf-am ps ps-am tags \
-       tags-recursive uninstall uninstall-am uninstall-local
+.MAKE: all check install install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \
+       clean-generic clean-noinstLIBRARIES cscopelist-am ctags \
+       ctags-am distclean distclean-compile distclean-generic \
+       distclean-hdr distclean-local distclean-tags distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-exec-local install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-compile mostlyclean-generic mostlyclean-local pdf \
+       pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+       uninstall-local
 
 
 # We need the following in order to create <alloca.h> when the system
@@ -1848,7 +1852,7 @@ configmake.h: Makefile
          echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \
          echo '#define PKGLIBDIR "$(pkglibdir)"'; \
          echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \
-       } | sed '/""/d' > $@-t
+       } | sed '/""/d' > $@-t && \
        mv -f $@-t $@
 
 # We need the following in order to create <errno.h> when the system
@@ -1899,6 +1903,23 @@ fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
        } > $@-t && \
        mv $@-t $@
 
+# We need the following in order to create <float.h> when the system
+# doesn't have one that works with the given compiler.
+@GL_GENERATE_FLOAT_H_TRUE@float.h: float.in.h $(top_builddir)/config.status
+@GL_GENERATE_FLOAT_H_TRUE@     $(AM_V_GEN)rm -f $@-t $@ && \
+@GL_GENERATE_FLOAT_H_TRUE@     { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+@GL_GENERATE_FLOAT_H_TRUE@       sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+@GL_GENERATE_FLOAT_H_TRUE@           -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_FLOAT_H_TRUE@           -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_FLOAT_H_TRUE@           -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_FLOAT_H_TRUE@           -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \
+@GL_GENERATE_FLOAT_H_TRUE@           -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \
+@GL_GENERATE_FLOAT_H_TRUE@           < $(srcdir)/float.in.h; \
+@GL_GENERATE_FLOAT_H_TRUE@     } > $@-t && \
+@GL_GENERATE_FLOAT_H_TRUE@     mv $@-t $@
+@GL_GENERATE_FLOAT_H_FALSE@float.h: $(top_builddir)/config.status
+@GL_GENERATE_FLOAT_H_FALSE@    rm -f $@
+
 # We need the following in order to create <fnmatch.h> when the system
 # doesn't have one that supports the required API.
 @GL_GENERATE_FNMATCH_H_TRUE@fnmatch.h: fnmatch.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
@@ -1929,7 +1950,7 @@ getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
 
 distclean-local: clean-GNUmakefile
 clean-GNUmakefile:
-       test x'$(VPATH)' != x && rm -f $(top_builddir)/GNUmakefile || :
+       test '$(srcdir)' = . || rm -f $(top_builddir)/GNUmakefile
 
 # We need the following in order to create <iconv.h> when the system
 # doesn't have one that works with the given compiler.
@@ -1973,7 +1994,7 @@ iconv_open-solaris.h: iconv_open-solaris.gperf
 
 # We need the following in order to create <inttypes.h> when the system
 # doesn't have one that works with the given compiler.
-inttypes.h: inttypes.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG_NONNULL_H)
+inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
        $(AM_V_GEN)rm -f $@-t $@ && \
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
          sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
@@ -1994,10 +2015,12 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG_N
              -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
              -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
              -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
+             -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
              -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
              -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
              -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
              -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
              -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
              < $(srcdir)/inttypes.in.h; \
@@ -2087,6 +2110,32 @@ charset.alias: config.charset
        sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ && \
        mv t-$@ $@
 
+# We need the following in order to create <locale.h> when the system
+# doesn't have one that provides all definitions.
+locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(AM_V_GEN)rm -f $@-t $@ && \
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \
+             -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \
+             -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \
+             -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \
+             -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
+             -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
+             -e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \
+             -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \
+             -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
+             -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $(srcdir)/locale.in.h; \
+       } > $@-t && \
+       mv $@-t $@
+
 # We need the following in order to create <signal.h> when the system
 # doesn't have a complete one.
 signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
@@ -2098,11 +2147,13 @@ signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \
              -e 's|@''GNULIB_PTHREAD_SIGMASK''@|$(GNULIB_PTHREAD_SIGMASK)|g' \
+             -e 's|@''GNULIB_RAISE''@|$(GNULIB_RAISE)|g' \
              -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \
              -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \
              -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \
              -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \
              -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \
+             -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \
              -e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \
              -e 's|@''HAVE_SIGINFO_T''@|$(HAVE_SIGINFO_T)|g' \
              -e 's|@''HAVE_SIGACTION''@|$(HAVE_SIGACTION)|g' \
@@ -2110,6 +2161,7 @@ signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|$(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T)|g' \
              -e 's|@''HAVE_SIGHANDLER_T''@|$(HAVE_SIGHANDLER_T)|g' \
              -e 's|@''REPLACE_PTHREAD_SIGMASK''@|$(REPLACE_PTHREAD_SIGMASK)|g' \
+             -e 's|@''REPLACE_RAISE''@|$(REPLACE_RAISE)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
              -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
@@ -2247,6 +2299,7 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
              -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \
              -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \
+             -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \
              -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \
              -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \
              -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \
@@ -2268,9 +2321,9 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
              -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
              -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
-             -e 's/@''GNULIB_GETS''@/$(GNULIB_GETS)/g' \
              -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
              -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
              -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \
              -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \
              -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \
@@ -2309,11 +2362,14 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
              -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
              -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
+             -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \
+             -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \
              -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
              -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
              -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
              -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
              -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
+             -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
              -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
              -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
              -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
@@ -2375,12 +2431,16 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
              -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
              -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
              -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
+             -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
              -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
+             -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
              -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
+             -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \
              -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
              -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
              -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
              -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
+             -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \
              -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
              -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
              -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
@@ -2401,11 +2461,15 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
              -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
              -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
              -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+             -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
              -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
+             -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+             -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
              -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
              -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
              -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
              -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
+             -e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \
              -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
              -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
              -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
@@ -2419,7 +2483,10 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
              -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
              -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
              -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
+             -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
+             -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
              -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+             -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
              -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
              -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
              -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
@@ -2530,6 +2597,7 @@ strings.h: strings.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE
        $(AM_V_GEN)rm -f $@-t $@ && \
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
          sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''HAVE_STRINGS_H''@|$(HAVE_STRINGS_H)|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
@@ -2556,7 +2624,9 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
+             -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \
              -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \
+             -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \
              -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \
              -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \
              -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \
@@ -2608,9 +2678,11 @@ sys/time.h: sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \
              -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
+             -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \
              -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \
              -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \
              -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \
+             -e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
              -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
@@ -2618,6 +2690,22 @@ sys/time.h: sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU
        } > $@-t && \
        mv $@-t $@
 
+# We need the following in order to create <sys/types.h> when the system
+# doesn't have one that works with the given compiler.
+sys/types.h: sys_types.in.h $(top_builddir)/config.status
+       $(AM_V_at)$(MKDIR_P) sys
+       $(AM_V_GEN)rm -f $@-t $@ && \
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
+             -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
+             < $(srcdir)/sys_types.in.h; \
+       } > $@-t && \
+       mv $@-t $@
+
 # We need the following in order to create <sys/wait.h> when the system
 # has one that is incomplete.
 sys/wait.h: sys_wait.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
@@ -2680,8 +2768,11 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
+             -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
+             -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \
              -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \
              -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \
+             -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \
              -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \
              -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \
              -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \
@@ -2689,6 +2780,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \
              -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \
              -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \
+             -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \
              -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \
              -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \
              -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \
@@ -2701,6 +2793,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
              -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
              -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
+             -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \
              -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \
              -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \
              -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \
@@ -2713,11 +2806,12 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \
              -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \
              -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \
+             -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \
              -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \
              -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
              -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
              -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
-             -e 's/@''GNULIB_UNISTD_H_GETOPT''@/$(GNULIB_UNISTD_H_GETOPT)/g' \
+             -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \
              -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
              -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \
              -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \
@@ -2732,6 +2826,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
              -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
              -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
+             -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \
              -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
              -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
              -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
@@ -2749,6 +2844,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \
              -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
              -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \
+             -e 's|@''HAVE_SETHOSTNAME''@|$(HAVE_SETHOSTNAME)|g' \
              -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
              -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
              -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
@@ -2756,10 +2852,12 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
              -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
              -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
+             -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
              -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
              -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
              -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
              -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
+             -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \
              -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
              -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
              -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
@@ -2769,11 +2867,13 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
              -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
              -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
+             -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
              -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
              -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
              -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
              -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
              -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
+             -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
              -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
              -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
              -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
index 9c87b92..ee0f018 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* alloca.c -- allocate automatically reclaimed memory
    (Mostly) portable public-domain implementation -- D A Gwyn
 
@@ -477,4 +475,4 @@ i00afunc (long address)
 #  endif /* CRAY */
 
 # endif /* no alloca */
-#endif /* not GCC version 3 */
+#endif /* not GCC 2 */
index 1461669..72d28ee 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Memory allocation on the stack.
 
-   Copyright (C) 1995, 1999, 2001-2004, 2006-2011 Free Software Foundation,
+   Copyright (C) 1995, 1999, 2001-2004, 2006-2013 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify it
@@ -16,9 +14,9 @@
    General Public License for more details.
 
    You should have received a copy of the GNU General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-   USA.  */
+   License along with this program; if not, see
+   <http://www.gnu.org/licenses/>.
+  */
 
 /* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H
    means there is a real alloca function.  */
 #  define alloca _alloca
 # elif defined __DECC && defined __VMS
 #  define alloca __ALLOCA
+# elif defined __TANDEM && defined _TNS_E_TARGET
+#  ifdef  __cplusplus
+extern "C"
+#  endif
+void *_alloca (unsigned short);
+#  pragma intrinsic (_alloca)
+#  define alloca _alloca
 # else
 #  include <stddef.h>
 #  ifdef  __cplusplus
diff --git a/lib/allocator.c b/lib/allocator.c
new file mode 100644 (file)
index 0000000..2c1a3da
--- /dev/null
@@ -0,0 +1,5 @@
+#define _GL_USE_STDLIB_ALLOC 1
+#include <config.h>
+#include "allocator.h"
+#include <stdlib.h>
+struct allocator const stdlib_allocator = { malloc, realloc, free, NULL };
diff --git a/lib/allocator.h b/lib/allocator.h
new file mode 100644 (file)
index 0000000..b71fbbb
--- /dev/null
@@ -0,0 +1,58 @@
+/* Memory allocators such as malloc+free.
+
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert.  */
+
+#ifndef _GL_ALLOCATOR_H
+#define _GL_ALLOCATOR_H
+
+#include <stddef.h>
+
+/* An object describing a memory allocator family.  */
+
+struct allocator
+{
+  /* Do not use GCC attributes such as __attribute__ ((malloc)) with
+     the function types pointed at by these members, because these
+     attributes do not work with pointers to functions.  See
+     <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00007.html>.  */
+
+  /* Call ALLOCATE to allocate memory, like 'malloc'.  On failure ALLOCATE
+     should return NULL, though not necessarily set errno.  When given
+     a zero size it may return NULL even if successful.  */
+  void *(*allocate) (size_t);
+
+  /* If nonnull, call REALLOCATE to reallocate memory, like 'realloc'.
+     On failure REALLOCATE should return NULL, though not necessarily set
+     errno.  When given a zero size it may return NULL even if
+     successful.  */
+  void *(*reallocate) (void *, size_t);
+
+  /* Call FREE to free memory, like 'free'.  */
+  void (*free) (void *);
+
+  /* If nonnull, call DIE (SIZE) if MALLOC (SIZE) or REALLOC (...,
+     SIZE) fails.  DIE should not return.  SIZE should equal SIZE_MAX
+     if size_t overflow was detected while calculating sizes to be
+     passed to MALLOC or REALLOC.  */
+  void (*die) (size_t);
+};
+
+/* An allocator using the stdlib functions and a null DIE function.  */
+extern struct allocator const stdlib_allocator;
+
+#endif /* _GL_ALLOCATOR_H */
index e23746a..1d2fca4 100644 (file)
@@ -1,6 +1,6 @@
 /* anytostr.c -- convert integers to printable strings
 
-   Copyright (C) 2001, 2006, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2006, 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/lib/areadlink.c b/lib/areadlink.c
new file mode 100644 (file)
index 0000000..7b81685
--- /dev/null
@@ -0,0 +1,56 @@
+/* areadlink.c -- readlink wrapper to return the link name in malloc'd storage
+   Unlike xreadlink and xreadlink_with_size, don't ever call exit.
+
+   Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Jim Meyering <jim@meyering.net>
+   and Bruno Haible <bruno@clisp.org>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "areadlink.h"
+
+#include "careadlinkat.h"
+
+#include <stdlib.h>
+#include <unistd.h>
+
+/* Get the symbolic link value of FILENAME and put it into BUFFER, with
+   size BUFFER_SIZE.  This function acts like readlink but has
+   readlinkat's signature.  */
+static ssize_t
+careadlinkatcwd (int fd, char const *filename, char *buffer,
+                 size_t buffer_size)
+{
+  /* FD must be AT_FDCWD here, otherwise the caller is using this
+     function in contexts it was not meant for.  */
+  if (fd != AT_FDCWD)
+    abort ();
+  return readlink (filename, buffer, buffer_size);
+}
+
+/* Call readlink to get the symbolic link value of FILENAME.
+   Return a pointer to that NUL-terminated string in malloc'd storage.
+   If readlink fails, return NULL and set errno.
+   If allocation fails, or if the link value is longer than SIZE_MAX :-),
+   return NULL and set errno to ENOMEM.  */
+
+char *
+areadlink (char const *filename)
+{
+  return careadlinkat (AT_FDCWD, filename, NULL, 0, NULL, careadlinkatcwd);
+}
diff --git a/lib/areadlink.h b/lib/areadlink.h
new file mode 100644 (file)
index 0000000..5870ce5
--- /dev/null
@@ -0,0 +1,33 @@
+/* Read symbolic links without size limitation.
+
+   Copyright (C) 2001, 2003-2004, 2007, 2009-2013 Free Software Foundation,
+   Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Jim Meyering <jim@meyering.net>  */
+
+#include <stddef.h>
+
+extern char *areadlink (char const *filename);
+extern char *areadlink_with_size (char const *filename, size_t size_hint);
+
+#if GNULIB_AREADLINKAT
+extern char *areadlinkat (int fd, char const *filename);
+#endif
+
+#if GNULIB_AREADLINKAT_WITH_SIZE
+extern char *areadlinkat_with_size (int fd, char const *filename,
+                                    size_t size_hint);
+#endif
similarity index 75%
rename from gnulib-tests/asnprintf.c
rename to lib/asnprintf.c
index d54b3e8..76e228d 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Formatted output to strings.
-   Copyright (C) 1999, 2002, 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002, 2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/lib/asprintf.c b/lib/asprintf.c
new file mode 100644 (file)
index 0000000..713dae1
--- /dev/null
@@ -0,0 +1,39 @@
+/* Formatted output to strings.
+   Copyright (C) 1999, 2002, 2006-2007, 2009-2013 Free Software Foundation,
+   Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#ifdef IN_LIBASPRINTF
+# include "vasprintf.h"
+#else
+# include <stdio.h>
+#endif
+
+#include <stdarg.h>
+
+int
+asprintf (char **resultp, const char *format, ...)
+{
+  va_list args;
+  int result;
+
+  va_start (args, format);
+  result = vasprintf (resultp, format, args);
+  va_end (args);
+  return result;
+}
index 529bc35..9307e83 100644 (file)
@@ -1,6 +1,6 @@
 /* basename.c -- return the last element in a file name
 
-   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2011 Free Software
+   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 90ac501..d73fd41 100644 (file)
@@ -1,6 +1,6 @@
 /* basename.c -- return the last element in a file name
 
-   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2011 Free Software
+   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -40,8 +40,8 @@ base_name (char const *name)
   if (ISSLASH (base[length]))
     length++;
 
-  /* On systems with drive letters, `a/b:c' must return `./b:c' rather
-     than `b:c' to avoid confusion with a drive letter.  On systems
+  /* On systems with drive letters, "a/b:c" must return "./b:c" rather
+     than "b:c" to avoid confusion with a drive letter.  On systems
      with pure POSIX semantics, this is not an issue.  */
   if (FILE_SYSTEM_PREFIX_LEN (base))
     {
diff --git a/lib/binary-io.c b/lib/binary-io.c
new file mode 100644 (file)
index 0000000..8bbdb44
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+#define BINARY_IO_INLINE _GL_EXTERN_INLINE
+#include "binary-io.h"
similarity index 53%
rename from gnulib-tests/binary-io.h
rename to lib/binary-io.h
index ef7987e..317fe3d 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Binary mode I/O.
-   Copyright (C) 2001, 2003, 2005, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003, 2005, 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    so we include it here first.  */
 #include <stdio.h>
 
-/* SET_BINARY (fd);
-   changes the file descriptor fd to perform binary I/O.  */
+_GL_INLINE_HEADER_BEGIN
+#ifndef BINARY_IO_INLINE
+# define BINARY_IO_INLINE _GL_INLINE
+#endif
+
+/* set_binary_mode (fd, mode)
+   sets the binary/text I/O mode of file descriptor fd to the given mode
+   (must be O_BINARY or O_TEXT) and returns the previous mode.  */
 #if O_BINARY
 # if defined __EMX__ || defined __DJGPP__ || defined __CYGWIN__
 #  include <io.h> /* declares setmode() */
+#  define set_binary_mode setmode
 # else
-#  define setmode _setmode
+#  define set_binary_mode _setmode
 #  undef fileno
 #  define fileno _fileno
 # endif
-# ifdef __DJGPP__
-#  include <unistd.h> /* declares isatty() */
-   /* Avoid putting stdin/stdout in binary mode if it is connected to
-      the console, because that would make it impossible for the user
-      to interrupt the program through Ctrl-C or Ctrl-Break.  */
-#  define SET_BINARY(fd) ((void) (!isatty (fd) ? (setmode (fd, O_BINARY), 0) : 0))
-# else
-#  define SET_BINARY(fd) ((void) setmode (fd, O_BINARY))
-# endif
 #else
-  /* On reasonable systems, binary I/O is the default.  */
-# define SET_BINARY(fd) /* do nothing */ ((void) 0)
+  /* On reasonable systems, binary I/O is the only choice.  */
+  /* Use a function rather than a macro, to avoid gcc warnings
+     "warning: statement with no effect".  */
+BINARY_IO_INLINE int
+set_binary_mode (int fd, int mode)
+{
+  (void) fd;
+  (void) mode;
+  return O_BINARY;
+}
 #endif
 
+/* SET_BINARY (fd);
+   changes the file descriptor fd to perform binary I/O.  */
+#ifdef __DJGPP__
+# include <unistd.h> /* declares isatty() */
+  /* Avoid putting stdin/stdout in binary mode if it is connected to
+     the console, because that would make it impossible for the user
+     to interrupt the program through Ctrl-C or Ctrl-Break.  */
+# define SET_BINARY(fd) ((void) (!isatty (fd) ? (set_binary_mode (fd, O_BINARY), 0) : 0))
+#else
+# define SET_BINARY(fd) ((void) set_binary_mode (fd, O_BINARY))
+#endif
+
+_GL_INLINE_HEADER_END
+
 #endif /* _BINARY_H */
diff --git a/lib/bitrotate.c b/lib/bitrotate.c
new file mode 100644 (file)
index 0000000..a8f6028
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+#define BITROTATE_INLINE _GL_EXTERN_INLINE
+#include "bitrotate.h"
index c3a5e1a..9e10a45 100644 (file)
@@ -1,5 +1,5 @@
 /* bitrotate.h - Rotate bits in integers
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #include <stdint.h>
 #include <sys/types.h>
 
+_GL_INLINE_HEADER_BEGIN
+#ifndef BITROTATE_INLINE
+# define BITROTATE_INLINE _GL_INLINE
+#endif
+
 #ifdef UINT64_MAX
 /* Given an unsigned 64-bit argument X, return the value corresponding
    to rotating the bits N steps to the left.  N must be between 1 and
    63 inclusive. */
-static inline uint64_t
+BITROTATE_INLINE uint64_t
 rotl64 (uint64_t x, int n)
 {
   return ((x << n) | (x >> (64 - n))) & UINT64_MAX;
@@ -36,7 +41,7 @@ rotl64 (uint64_t x, int n)
 /* Given an unsigned 64-bit argument X, return the value corresponding
    to rotating the bits N steps to the right.  N must be between 1 to
    63 inclusive.*/
-static inline uint64_t
+BITROTATE_INLINE uint64_t
 rotr64 (uint64_t x, int n)
 {
   return ((x >> n) | (x << (64 - n))) & UINT64_MAX;
@@ -46,7 +51,7 @@ rotr64 (uint64_t x, int n)
 /* Given an unsigned 32-bit argument X, return the value corresponding
    to rotating the bits N steps to the left.  N must be between 1 and
    31 inclusive. */
-static inline uint32_t
+BITROTATE_INLINE uint32_t
 rotl32 (uint32_t x, int n)
 {
   return ((x << n) | (x >> (32 - n))) & UINT32_MAX;
@@ -55,7 +60,7 @@ rotl32 (uint32_t x, int n)
 /* Given an unsigned 32-bit argument X, return the value corresponding
    to rotating the bits N steps to the right.  N must be between 1 to
    31 inclusive.*/
-static inline uint32_t
+BITROTATE_INLINE uint32_t
 rotr32 (uint32_t x, int n)
 {
   return ((x >> n) | (x << (32 - n))) & UINT32_MAX;
@@ -64,7 +69,7 @@ rotr32 (uint32_t x, int n)
 /* Given a size_t argument X, return the value corresponding
    to rotating the bits N steps to the left.  N must be between 1 and
    (CHAR_BIT * sizeof (size_t) - 1) inclusive.  */
-static inline size_t
+BITROTATE_INLINE size_t
 rotl_sz (size_t x, int n)
 {
   return ((x << n) | (x >> ((CHAR_BIT * sizeof x) - n))) & SIZE_MAX;
@@ -73,7 +78,7 @@ rotl_sz (size_t x, int n)
 /* Given a size_t argument X, return the value corresponding
    to rotating the bits N steps to the right.  N must be between 1 to
    (CHAR_BIT * sizeof (size_t) - 1) inclusive.  */
-static inline size_t
+BITROTATE_INLINE size_t
 rotr_sz (size_t x, int n)
 {
   return ((x >> n) | (x << ((CHAR_BIT * sizeof x) - n))) & SIZE_MAX;
@@ -84,7 +89,7 @@ rotr_sz (size_t x, int n)
    15 inclusive, but on most relevant targets N can also be 0 and 16
    because 'int' is at least 32 bits and the arguments must widen
    before shifting. */
-static inline uint16_t
+BITROTATE_INLINE uint16_t
 rotl16 (uint16_t x, int n)
 {
   return ((x << n) | (x >> (16 - n))) & UINT16_MAX;
@@ -95,7 +100,7 @@ rotl16 (uint16_t x, int n)
    inclusive, but on most relevant targets N can also be 0 and 16
    because 'int' is at least 32 bits and the arguments must widen
    before shifting. */
-static inline uint16_t
+BITROTATE_INLINE uint16_t
 rotr16 (uint16_t x, int n)
 {
   return ((x >> n) | (x << (16 - n))) & UINT16_MAX;
@@ -106,7 +111,7 @@ rotr16 (uint16_t x, int n)
    inclusive, but on most relevant targets N can also be 0 and 8
    because 'int' is at least 32 bits and the arguments must widen
    before shifting. */
-static inline uint8_t
+BITROTATE_INLINE uint8_t
 rotl8 (uint8_t x, int n)
 {
   return ((x << n) | (x >> (8 - n))) & UINT8_MAX;
@@ -117,10 +122,12 @@ rotl8 (uint8_t x, int n)
    inclusive, but on most relevant targets N can also be 0 and 8
    because 'int' is at least 32 bits and the arguments must widen
    before shifting. */
-static inline uint8_t
+BITROTATE_INLINE uint8_t
 rotr8 (uint8_t x, int n)
 {
   return ((x >> n) | (x << (8 - n))) & UINT8_MAX;
 }
 
+_GL_INLINE_HEADER_END
+
 #endif /* _GL_BITROTATE_H */
index 9b3908d..6c7cbec 100644 (file)
@@ -1,5 +1,5 @@
 /* Convert unibyte character to wide character.
-   Copyright (C) 2008, 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
index 835f4e1..752d2e3 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Character handling in C locale.
 
-   Copyright 2000-2003, 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright 2000-2003, 2006, 2009-2013 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -15,8 +13,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index a58913e..3a66440 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Character handling in C locale.
 
    These functions work like the corresponding functions in <ctype.h>,
@@ -7,7 +5,7 @@
    <ctype.h> functions' behaviour depends on the current locale set via
    setlocale.
 
-   Copyright (C) 2000-2003, 2006, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2006, 2008-2013 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -20,8 +18,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef C_CTYPE_H
 #define C_CTYPE_H
@@ -120,23 +117,23 @@ extern "C" {
          if (c_isalpha (*s)) ...
  */
 
-extern bool c_isascii (int c); /* not locale dependent */
-
-extern bool c_isalnum (int c);
-extern bool c_isalpha (int c);
-extern bool c_isblank (int c);
-extern bool c_iscntrl (int c);
-extern bool c_isdigit (int c);
-extern bool c_islower (int c);
-extern bool c_isgraph (int c);
-extern bool c_isprint (int c);
-extern bool c_ispunct (int c);
-extern bool c_isspace (int c);
-extern bool c_isupper (int c);
-extern bool c_isxdigit (int c);
-
-extern int c_tolower (int c);
-extern int c_toupper (int c);
+extern bool c_isascii (int c) _GL_ATTRIBUTE_CONST; /* not locale dependent */
+
+extern bool c_isalnum (int c) _GL_ATTRIBUTE_CONST;
+extern bool c_isalpha (int c) _GL_ATTRIBUTE_CONST;
+extern bool c_isblank (int c) _GL_ATTRIBUTE_CONST;
+extern bool c_iscntrl (int c) _GL_ATTRIBUTE_CONST;
+extern bool c_isdigit (int c) _GL_ATTRIBUTE_CONST;
+extern bool c_islower (int c) _GL_ATTRIBUTE_CONST;
+extern bool c_isgraph (int c) _GL_ATTRIBUTE_CONST;
+extern bool c_isprint (int c) _GL_ATTRIBUTE_CONST;
+extern bool c_ispunct (int c) _GL_ATTRIBUTE_CONST;
+extern bool c_isspace (int c) _GL_ATTRIBUTE_CONST;
+extern bool c_isupper (int c) _GL_ATTRIBUTE_CONST;
+extern bool c_isxdigit (int c) _GL_ATTRIBUTE_CONST;
+
+extern int c_tolower (int c) _GL_ATTRIBUTE_CONST;
+extern int c_toupper (int c) _GL_ATTRIBUTE_CONST;
 
 
 #if defined __GNUC__ && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS
index 2f902af..03db242 100644 (file)
@@ -1,6 +1,6 @@
 /* Stack overflow handling.
 
-   Copyright (C) 2002, 2004, 2006, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2006, 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -237,7 +237,7 @@ segv_handler (int signo, siginfo_t *info,
 
      Note that although both Linux and Solaris provide
      sigaltstack, SA_ONSTACK, and SA_SIGINFO, currently only
-     Solaris satisfies the XSI heueristic.  This is because
+     Solaris satisfies the XSI heuristic.  This is because
      Solaris populates uc_stack with the details of the
      interrupted stack, while Linux populates it with the details
      of the current stack.  */
index 5aadfb5..2e61bdf 100644 (file)
@@ -1,6 +1,6 @@
 /* Stack overflow handling.
 
-   Copyright (C) 2002, 2004, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 09e9e9c..49e1bb0 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Case-insensitive string comparison functions in C locale.
-   Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2011 Free Software
+   Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef C_STRCASE_H
 #define C_STRCASE_H
@@ -42,12 +39,13 @@ extern "C" {
 /* Compare strings S1 and S2, ignoring case, returning less than, equal to or
    greater than zero if S1 is lexicographically less than, equal to or greater
    than S2.  */
-extern int c_strcasecmp (const char *s1, const char *s2);
+extern int c_strcasecmp (const char *s1, const char *s2) _GL_ATTRIBUTE_PURE;
 
 /* Compare no more than N characters of strings S1 and S2, ignoring case,
    returning less than, equal to or greater than zero if S1 is
    lexicographically less than, equal to or greater than S2.  */
-extern int c_strncasecmp (const char *s1, const char *s2, size_t n);
+extern int c_strncasecmp (const char *s1, const char *s2, size_t n)
+  _GL_ATTRIBUTE_PURE;
 
 
 #ifdef __cplusplus
index 928c5e6..ef85f0e 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* c-strcasecmp.c -- case insensitive string comparator in C locale
-   Copyright (C) 1998-1999, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/lib/c-strcaseeq.h b/lib/c-strcaseeq.h
new file mode 100644 (file)
index 0000000..afdea26
--- /dev/null
@@ -0,0 +1,184 @@
+/* Optimized case-insensitive string comparison in C locale.
+   Copyright (C) 2001-2002, 2007, 2009-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Bruno Haible <bruno@clisp.org>.  */
+
+#include "c-strcase.h"
+#include "c-ctype.h"
+
+/* STRCASEEQ allows to optimize string comparison with a small literal string.
+     STRCASEEQ (s, "UTF-8", 'U','T','F','-','8',0,0,0,0)
+   is semantically equivalent to
+     c_strcasecmp (s, "UTF-8") == 0
+   just faster.  */
+
+/* Help GCC to generate good code for string comparisons with
+   immediate strings. */
+#if defined (__GNUC__) && defined (__OPTIMIZE__)
+
+/* Case insensitive comparison of ASCII characters.  */
+# if C_CTYPE_ASCII
+#  define CASEEQ(other,upper) \
+     (c_isupper (upper) ? ((other) & ~0x20) == (upper) : (other) == (upper))
+# elif C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+#  define CASEEQ(other,upper) \
+     (c_isupper (upper) ? (other) == (upper) || (other) == (upper) - 'A' + 'a' : (other) == (upper))
+# else
+#  define CASEEQ(other,upper) \
+     (c_toupper (other) == (upper))
+# endif
+
+static inline int
+strcaseeq9 (const char *s1, const char *s2)
+{
+  return c_strcasecmp (s1 + 9, s2 + 9) == 0;
+}
+
+static inline int
+strcaseeq8 (const char *s1, const char *s2, char s28)
+{
+  if (CASEEQ (s1[8], s28))
+    {
+      if (s28 == 0)
+        return 1;
+      else
+        return strcaseeq9 (s1, s2);
+    }
+  else
+    return 0;
+}
+
+static inline int
+strcaseeq7 (const char *s1, const char *s2, char s27, char s28)
+{
+  if (CASEEQ (s1[7], s27))
+    {
+      if (s27 == 0)
+        return 1;
+      else
+        return strcaseeq8 (s1, s2, s28);
+    }
+  else
+    return 0;
+}
+
+static inline int
+strcaseeq6 (const char *s1, const char *s2, char s26, char s27, char s28)
+{
+  if (CASEEQ (s1[6], s26))
+    {
+      if (s26 == 0)
+        return 1;
+      else
+        return strcaseeq7 (s1, s2, s27, s28);
+    }
+  else
+    return 0;
+}
+
+static inline int
+strcaseeq5 (const char *s1, const char *s2, char s25, char s26, char s27, char s28)
+{
+  if (CASEEQ (s1[5], s25))
+    {
+      if (s25 == 0)
+        return 1;
+      else
+        return strcaseeq6 (s1, s2, s26, s27, s28);
+    }
+  else
+    return 0;
+}
+
+static inline int
+strcaseeq4 (const char *s1, const char *s2, char s24, char s25, char s26, char s27, char s28)
+{
+  if (CASEEQ (s1[4], s24))
+    {
+      if (s24 == 0)
+        return 1;
+      else
+        return strcaseeq5 (s1, s2, s25, s26, s27, s28);
+    }
+  else
+    return 0;
+}
+
+static inline int
+strcaseeq3 (const char *s1, const char *s2, char s23, char s24, char s25, char s26, char s27, char s28)
+{
+  if (CASEEQ (s1[3], s23))
+    {
+      if (s23 == 0)
+        return 1;
+      else
+        return strcaseeq4 (s1, s2, s24, s25, s26, s27, s28);
+    }
+  else
+    return 0;
+}
+
+static inline int
+strcaseeq2 (const char *s1, const char *s2, char s22, char s23, char s24, char s25, char s26, char s27, char s28)
+{
+  if (CASEEQ (s1[2], s22))
+    {
+      if (s22 == 0)
+        return 1;
+      else
+        return strcaseeq3 (s1, s2, s23, s24, s25, s26, s27, s28);
+    }
+  else
+    return 0;
+}
+
+static inline int
+strcaseeq1 (const char *s1, const char *s2, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28)
+{
+  if (CASEEQ (s1[1], s21))
+    {
+      if (s21 == 0)
+        return 1;
+      else
+        return strcaseeq2 (s1, s2, s22, s23, s24, s25, s26, s27, s28);
+    }
+  else
+    return 0;
+}
+
+static inline int
+strcaseeq0 (const char *s1, const char *s2, char s20, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28)
+{
+  if (CASEEQ (s1[0], s20))
+    {
+      if (s20 == 0)
+        return 1;
+      else
+        return strcaseeq1 (s1, s2, s21, s22, s23, s24, s25, s26, s27, s28);
+    }
+  else
+    return 0;
+}
+
+#define STRCASEEQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \
+  strcaseeq0 (s1, s2, s20, s21, s22, s23, s24, s25, s26, s27, s28)
+
+#else
+
+#define STRCASEEQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \
+  (c_strcasecmp (s1, s2) == 0)
+
+#endif
index 810bf56..04404b0 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* c-strncasecmp.c -- case insensitive string comparator in C locale
-   Copyright (C) 1998-1999, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/lib/careadlinkat.c b/lib/careadlinkat.c
new file mode 100644 (file)
index 0000000..e2c19d1
--- /dev/null
@@ -0,0 +1,160 @@
+/* Read symbolic links into a buffer without size limitation, relative to fd.
+
+   Copyright (C) 2001, 2003-2004, 2007, 2009-2013 Free Software Foundation,
+   Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert, Bruno Haible, and Jim Meyering.  */
+
+#include <config.h>
+
+#include "careadlinkat.h"
+
+#include <errno.h>
+#include <limits.h>
+#include <string.h>
+#include <unistd.h>
+
+/* Define this independently so that stdint.h is not a prerequisite.  */
+#ifndef SIZE_MAX
+# define SIZE_MAX ((size_t) -1)
+#endif
+
+#ifndef SSIZE_MAX
+# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
+#endif
+
+#include "allocator.h"
+
+/* Assuming the current directory is FD, get the symbolic link value
+   of FILENAME as a null-terminated string and put it into a buffer.
+   If FD is AT_FDCWD, FILENAME is interpreted relative to the current
+   working directory, as in openat.
+
+   If the link is small enough to fit into BUFFER put it there.
+   BUFFER's size is BUFFER_SIZE, and BUFFER can be null
+   if BUFFER_SIZE is zero.
+
+   If the link is not small, put it into a dynamically allocated
+   buffer managed by ALLOC.  It is the caller's responsibility to free
+   the returned value if it is nonnull and is not BUFFER.  A null
+   ALLOC stands for the standard allocator.
+
+   The PREADLINKAT function specifies how to read links.  It operates
+   like POSIX readlinkat()
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html>
+   but can assume that its first argument is the same as FD.
+
+   If successful, return the buffer address; otherwise return NULL and
+   set errno.  */
+
+char *
+careadlinkat (int fd, char const *filename,
+              char *buffer, size_t buffer_size,
+              struct allocator const *alloc,
+              ssize_t (*preadlinkat) (int, char const *, char *, size_t))
+{
+  char *buf;
+  size_t buf_size;
+  size_t buf_size_max =
+    SSIZE_MAX < SIZE_MAX ? (size_t) SSIZE_MAX + 1 : SIZE_MAX;
+  char stack_buf[1024];
+
+  if (! alloc)
+    alloc = &stdlib_allocator;
+
+  if (! buffer_size)
+    {
+      /* Allocate the initial buffer on the stack.  This way, in the
+         common case of a symlink of small size, we get away with a
+         single small malloc() instead of a big malloc() followed by a
+         shrinking realloc().  */
+      buffer = stack_buf;
+      buffer_size = sizeof stack_buf;
+    }
+
+  buf = buffer;
+  buf_size = buffer_size;
+
+  do
+    {
+      /* Attempt to read the link into the current buffer.  */
+      ssize_t link_length = preadlinkat (fd, filename, buf, buf_size);
+      size_t link_size;
+      if (link_length < 0)
+        {
+          /* On AIX 5L v5.3 and HP-UX 11i v2 04/09, readlink returns -1
+             with errno == ERANGE if the buffer is too small.  */
+          int readlinkat_errno = errno;
+          if (readlinkat_errno != ERANGE)
+            {
+              if (buf != buffer)
+                {
+                  alloc->free (buf);
+                  errno = readlinkat_errno;
+                }
+              return NULL;
+            }
+        }
+
+      link_size = link_length;
+
+      if (link_size < buf_size)
+        {
+          buf[link_size++] = '\0';
+
+          if (buf == stack_buf)
+            {
+              char *b = (char *) alloc->allocate (link_size);
+              buf_size = link_size;
+              if (! b)
+                break;
+              memcpy (b, buf, link_size);
+              buf = b;
+            }
+          else if (link_size < buf_size && buf != buffer && alloc->reallocate)
+            {
+              /* Shrink BUF before returning it.  */
+              char *b = (char *) alloc->reallocate (buf, link_size);
+              if (b)
+                buf = b;
+            }
+
+          return buf;
+        }
+
+      if (buf != buffer)
+        alloc->free (buf);
+
+      if (buf_size <= buf_size_max / 2)
+        buf_size *= 2;
+      else if (buf_size < buf_size_max)
+        buf_size = buf_size_max;
+      else if (buf_size_max < SIZE_MAX)
+        {
+          errno = ENAMETOOLONG;
+          return NULL;
+        }
+      else
+        break;
+      buf = (char *) alloc->allocate (buf_size);
+    }
+  while (buf);
+
+  if (alloc->die)
+    alloc->die (buf_size);
+  errno = ENOMEM;
+  return NULL;
+}
diff --git a/lib/careadlinkat.h b/lib/careadlinkat.h
new file mode 100644 (file)
index 0000000..46f88ae
--- /dev/null
@@ -0,0 +1,67 @@
+/* Read symbolic links into a buffer without size limitation, relative to fd.
+
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert, Bruno Haible, and Jim Meyering.  */
+
+#ifndef _GL_CAREADLINKAT_H
+#define _GL_CAREADLINKAT_H
+
+#include <fcntl.h>
+#include <unistd.h>
+
+struct allocator;
+
+/* Assuming the current directory is FD, get the symbolic link value
+   of FILENAME as a null-terminated string and put it into a buffer.
+   If FD is AT_FDCWD, FILENAME is interpreted relative to the current
+   working directory, as in openat.
+
+   If the link is small enough to fit into BUFFER put it there.
+   BUFFER's size is BUFFER_SIZE, and BUFFER can be null
+   if BUFFER_SIZE is zero.
+
+   If the link is not small, put it into a dynamically allocated
+   buffer managed by ALLOC.  It is the caller's responsibility to free
+   the returned value if it is nonnull and is not BUFFER.
+
+   The PREADLINKAT function specifies how to read links.  It operates
+   like POSIX readlinkat()
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html>
+   but can assume that its first argument is the same as FD.
+
+   If successful, return the buffer address; otherwise return NULL and
+   set errno.  */
+
+char *careadlinkat (int fd, char const *filename,
+                    char *buffer, size_t buffer_size,
+                    struct allocator const *alloc,
+                    ssize_t (*preadlinkat) (int, char const *,
+                                            char *, size_t));
+
+/* Suitable value for careadlinkat's FD argument.  */
+#if HAVE_READLINKAT
+/* AT_FDCWD is declared in <fcntl.h>.  */
+#else
+/* Define AT_FDCWD independently, so that the careadlinkat module does
+   not depend on the fcntl-h module.  We might as well use the same value
+   as fcntl-h.  */
+# ifndef AT_FDCWD
+#  define AT_FDCWD (-3041965)
+# endif
+#endif
+
+#endif /* _GL_CAREADLINKAT_H */
diff --git a/lib/close.c b/lib/close.c
new file mode 100644 (file)
index 0000000..f620e54
--- /dev/null
@@ -0,0 +1,69 @@
+/* close replacement.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <unistd.h>
+
+#include <errno.h>
+
+#include "fd-hook.h"
+#include "msvc-inval.h"
+
+#undef close
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static int
+close_nothrow (int fd)
+{
+  int result;
+
+  TRY_MSVC_INVAL
+    {
+      result = close (fd);
+    }
+  CATCH_MSVC_INVAL
+    {
+      result = -1;
+      errno = EBADF;
+    }
+  DONE_MSVC_INVAL;
+
+  return result;
+}
+#else
+# define close_nothrow close
+#endif
+
+/* Override close() to call into other gnulib modules.  */
+
+int
+rpl_close (int fd)
+{
+#if WINDOWS_SOCKETS
+  int retval = execute_all_close_hooks (close_nothrow, fd);
+#else
+  int retval = close_nothrow (fd);
+#endif
+
+#if REPLACE_FCHDIR
+  if (retval >= 0)
+    _gl_unregister_fd (fd);
+#endif
+
+  return retval;
+}
index 91e1999..a47cb70 100644 (file)
@@ -1,6 +1,6 @@
 /* Buffer primitives for comparison operations.
 
-   Copyright (C) 1993, 1995, 1998, 2001-2002, 2006, 2009-2011 Free Software
+   Copyright (C) 1993, 1995, 1998, 2001-2002, 2006, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 2296766..732d7ab 100644 (file)
@@ -1,6 +1,6 @@
 /* Buffer primitives for comparison operations.
 
-   Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -16,4 +16,4 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 size_t block_read (int, char *, size_t);
-size_t buffer_lcm (size_t, size_t, size_t);
+size_t buffer_lcm (size_t, size_t, size_t) _GL_ATTRIBUTE_CONST;
index 93b5a5d..a991419 100644 (file)
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Output a system dependent table of character encoding aliases.
 #
-#   Copyright (C) 2000-2004, 2006-2011 Free Software Foundation, Inc.
+#   Copyright (C) 2000-2004, 2006-2013 Free Software Foundation, Inc.
 #
 #   This program is free software; you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
@@ -14,8 +14,7 @@
 #   GNU General Public License for more details.
 #
 #   You should have received a copy of the GNU General Public License along
-#   with this program; if not, write to the Free Software Foundation,
-#   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#   with this program; if not, see <http://www.gnu.org/licenses/>.
 #
 # The table consists of lines of the form
 #    ALIAS  CANONICAL
@@ -30,6 +29,8 @@
 # The current list of GNU canonical charset names is as follows.
 #
 #       name              MIME?             used by which systems
+#                                    (darwin = Mac OS X, woe32 = native Windows)
+#
 #   ASCII, ANSI_X3.4-1968       glibc solaris freebsd netbsd darwin cygwin
 #   ISO-8859-1              Y   glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
 #   ISO-8859-2              Y   glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
index 3d276c9..ff0b9d9 100644 (file)
@@ -1,5 +1,8 @@
 /* lib/config.hin.  Generated from configure.ac by autoheader.  */
 
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
 /* Define to the number of bits in type 'ptrdiff_t'. */
 #undef BITSIZEOF_PTRDIFF_T
 
 /* Define to 1 if using `alloca.c'. */
 #undef C_ALLOCA
 
+/* Define as the bit index in the word where to find bit 0 of the exponent of
+   'double'. */
+#undef DBL_EXPBIT0_BIT
+
+/* Define as the word index where to find the exponent of 'double'. */
+#undef DBL_EXPBIT0_WORD
+
 /* Name of editor program, unless overridden. */
 #undef DEFAULT_EDITOR_PROGRAM
 
@@ -52,9 +62,6 @@
    declaration of the second argument to gettimeofday. */
 #undef GETTIMEOFDAY_TIMEZONE
 
-/* Define to make the limit macros in <stdint.h> visible. */
-#undef GL_TRIGGER_STDC_LIMIT_MACROS
-
 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
    whether the gnulib module dirname shall be considered present. */
 #undef GNULIB_DIRNAME
 #undef GNULIB_FREOPEN_SAFER
 
 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module fscanf shall be considered present. */
+#undef GNULIB_FSCANF
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
    whether the gnulib module malloc-gnu shall be considered present. */
 #undef GNULIB_MALLOC_GNU
 
 #undef GNULIB_PORTCHECK
 
 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module scanf shall be considered present. */
+#undef GNULIB_SCANF
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
    whether the gnulib module snprintf shall be considered present. */
 #undef GNULIB_SNPRINTF
 
 /* Define to 1 when the gnulib module btowc should be tested. */
 #undef GNULIB_TEST_BTOWC
 
+/* Define to 1 when the gnulib module close should be tested. */
+#undef GNULIB_TEST_CLOSE
+
 /* Define to 1 when the gnulib module dup2 should be tested. */
 #undef GNULIB_TEST_DUP2
 
 /* Define to 1 when the gnulib module fcntl should be tested. */
 #undef GNULIB_TEST_FCNTL
 
+/* Define to 1 when the gnulib module fdopen should be tested. */
+#undef GNULIB_TEST_FDOPEN
+
 /* Define to 1 when the gnulib module freopen should be tested. */
 #undef GNULIB_TEST_FREOPEN
 
+/* Define to 1 when the gnulib module fstat should be tested. */
+#undef GNULIB_TEST_FSTAT
+
 /* Define to 1 when the gnulib module getcwd should be tested. */
 #undef GNULIB_TEST_GETCWD
 
 /* Define to 1 when the gnulib module iswblank should be tested. */
 #undef GNULIB_TEST_ISWBLANK
 
+/* Define to 1 when the gnulib module localeconv should be tested. */
+#undef GNULIB_TEST_LOCALECONV
+
 /* Define to 1 when the gnulib module lstat should be tested. */
 #undef GNULIB_TEST_LSTAT
 
 /* Define to 1 when the gnulib module putenv should be tested. */
 #undef GNULIB_TEST_PUTENV
 
+/* Define to 1 when the gnulib module raise should be tested. */
+#undef GNULIB_TEST_RAISE
+
+/* Define to 1 when the gnulib module readlink should be tested. */
+#undef GNULIB_TEST_READLINK
+
+/* Define to 1 when the gnulib module secure_getenv should be tested. */
+#undef GNULIB_TEST_SECURE_GETENV
+
 /* Define to 1 when the gnulib module setenv should be tested. */
 #undef GNULIB_TEST_SETENV
 
 /* Define to 1 when the gnulib module usleep should be tested. */
 #undef GNULIB_TEST_USLEEP
 
+/* Define to 1 when the gnulib module vasprintf should be tested. */
+#undef GNULIB_TEST_VASPRINTF
+
 /* Define to 1 when the gnulib module wcrtomb should be tested. */
 #undef GNULIB_TEST_WCRTOMB
 
    whether the gnulib module unistr/u8-uctomb shall be considered present. */
 #undef GNULIB_UNISTR_U8_UCTOMB
 
-/* Define to 1 if you have the `alarm' function. */
-#undef HAVE_ALARM
-
 /* Define to 1 if you have 'alloca' after including <alloca.h>, a header that
    may be supplied by this distribution. */
 #undef HAVE_ALLOCA
 
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
-   */
+/* Define to 1 if <alloca.h> works. */
 #undef HAVE_ALLOCA_H
 
 /* Define to 1 if you have the <bp-sym.h> header file. */
 /* Define to 1 if you have the `btowc' function. */
 #undef HAVE_BTOWC
 
-/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
+/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
    CoreFoundation framework. */
 #undef HAVE_CFLOCALECOPYCURRENT
 
-/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
+/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
    the CoreFoundation framework. */
 #undef HAVE_CFPREFERENCESCOPYAPPVALUE
 
    don't. */
 #undef HAVE_DECL_WCWIDTH
 
+/* Define to 1 if you have the declaration of `_putenv', and to 0 if you
+   don't. */
+#undef HAVE_DECL__PUTENV
+
 /* Define to 1 if you have the declaration of `_snprintf', and to 0 if you
    don't. */
 #undef HAVE_DECL__SNPRINTF
 /* Define to 1 if you have the `isblank' function. */
 #undef HAVE_ISBLANK
 
+/* Define to 1 if you have the `issetugid' function. */
+#undef HAVE_ISSETUGID
+
 /* Define to 1 if you have the `iswblank' function. */
 #undef HAVE_ISWBLANK
 
 /* Define to 1 if you have the `localtime_r' function. */
 #undef HAVE_LOCALTIME_R
 
-/* Define to 1 if the system has the type `long long int'. */
+/* Define to 1 if the system has the type 'long long int'. */
 #undef HAVE_LONG_LONG_INT
 
 /* Define to 1 if you have the `lstat' function. */
 /* Define to 1 if you have the `mprotect' function. */
 #undef HAVE_MPROTECT
 
+/* Define to 1 on MSVC platforms that have the "invalid parameter handler"
+   concept. */
+#undef HAVE_MSVC_INVALID_PARAMETER_HANDLER
+
 /* Define to 1 if you have the `nanotime' function. */
 #undef HAVE_NANOTIME
 
 /* Define to 1 if you have the <OS.h> header file. */
 #undef HAVE_OS_H
 
+/* Define to 1 if you have the `raise' function. */
+#undef HAVE_RAISE
+
 /* Define to 1 if atoll is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_ATOLL
 
    macros. */
 #undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
 
+/* Define to 1 if chdir is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_CHDIR
+
 /* Define to 1 if chown is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_CHOWN
 
 /* Define to 1 if dprintf is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_DPRINTF
 
+/* Define to 1 if dup is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_DUP
+
 /* Define to 1 if dup2 is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_DUP2
 
 /* Define to 1 if fcntl is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_FCNTL
 
+/* Define to 1 if fdatasync is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FDATASYNC
+
 /* Define to 1 if ffs is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_FFS
 
 /* Define to 1 if fseeko is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_FSEEKO
 
+/* Define to 1 if fstat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FSTAT
+
 /* Define to 1 if fstatat is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_FSTATAT
 
 /* Define to 1 if getpagesize is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_GETPAGESIZE
 
+/* Define to 1 if gets is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETS
+
 /* Define to 1 if getsubopt is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_GETSUBOPT
 
 /* Define to 1 if imaxdiv is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_IMAXDIV
 
-/* Define to 1 if initstat_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_INITSTAT_R
+/* Define to 1 if initstate is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_INITSTATE
+
+/* Define to 1 if initstate_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_INITSTATE_R
+
+/* Define to 1 if isatty is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ISATTY
 
 /* Define to 1 if iswctype is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_ISWCTYPE
 /* Define to 1 if openat is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_OPENAT
 
+/* Define to 1 if pclose is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PCLOSE
+
 /* Define to 1 if pipe is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_PIPE
 
 /* Define to 1 if popen is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_POPEN
 
+/* Define to 1 if posix_openpt is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_POSIX_OPENPT
+
 /* Define to 1 if pread is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_PREAD
 
 /* Define to 1 if ptsname is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_PTSNAME
 
+/* Define to 1 if ptsname_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PTSNAME_R
+
 /* Define to 1 if pwrite is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_PWRITE
 
+/* Define to 1 if random is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RANDOM
+
 /* Define to 1 if random_r is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_RANDOM_R
 
 /* Define to 1 if rpmatch is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_RPMATCH
 
+/* Define to 1 if secure_getenv is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SECURE_GETENV
+
 /* Define to 1 if setenv is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_SETENV
 
+/* Define to 1 if sethostname is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SETHOSTNAME
+
 /* Define to 1 if setlocale is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_SETLOCALE
 
+/* Define to 1 if setstate is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SETSTATE
+
 /* Define to 1 if setstate_r is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_SETSTATE_R
 
 /* Define to 1 if snprintf is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_SNPRINTF
 
+/* Define to 1 if srandom is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SRANDOM
+
 /* Define to 1 if srandom_r is declared even after undefining macros. */
 #undef HAVE_RAW_DECL_SRANDOM_R
 
 /* Define to 1 if _Exit is declared even after undefining macros. */
 #undef HAVE_RAW_DECL__EXIT
 
+/* Define to 1 if you have the `readlink' function. */
+#undef HAVE_READLINK
+
+/* Define to 1 if you have the `readlinkat' function. */
+#undef HAVE_READLINKAT
+
 /* Define to 1 if you have the <search.h> header file. */
 #undef HAVE_SEARCH_H
 
+/* Define to 1 if you have the `secure_getenv' function. */
+#undef HAVE_SECURE_GETENV
+
 /* Define to 1 if you have the `setenv' function. */
 #undef HAVE_SETENV
 
 /* Define to 1 if you have the `strtoumax' function. */
 #undef HAVE_STRTOUMAX
 
+/* Define to 1 if `decimal_point' is a member of `struct lconv'. */
+#undef HAVE_STRUCT_LCONV_DECIMAL_POINT
+
 /* Define to 1 if `sa_sigaction' is a member of `struct sigaction'. */
 #undef HAVE_STRUCT_SIGACTION_SA_SIGACTION
 
 /* Define to 1 if you have the `unsetenv' function. */
 #undef HAVE_UNSETENV
 
-/* Define to 1 if the system has the type `unsigned long long int'. */
+/* Define to 1 if the system has the type 'unsigned long long int'. */
 #undef HAVE_UNSIGNED_LONG_LONG_INT
 
 /* Define to 1 if you have the `usleep' function. */
 /* Define to 1 if you have the `vasnprintf' function. */
 #undef HAVE_VASNPRINTF
 
+/* Define to 1 if you have the `vasprintf' function. */
+#undef HAVE_VASPRINTF
+
 /* Define to 1 if you have the `vfork' function. */
 #undef HAVE_VFORK
 
 /* Define to 1 if you have the `_ftime' function. */
 #undef HAVE__FTIME
 
-/* Define to 1 if you have the `__xpg_strerror_r' function. */
-#undef HAVE___XPG_STRERROR_R
+/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */
+#undef HAVE__SET_INVALID_PARAMETER_HANDLER
+
+/* Define to 1 if you have the `__secure_getenv' function. */
+#undef HAVE___SECURE_GETENV
 
 /* Define as const if the declaration of iconv() needs const. */
 #undef ICONV_CONST
    implementation. */
 #undef ICONV_FLAVOR
 
-/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
+/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing
    slash. */
 #undef LSTAT_FOLLOWS_SLASHED_SYMLINK
 
    'ptrdiff_t'. */
 #undef PTRDIFF_T_SUFFIX
 
+/* Define to 1 if readlink fails to recognize a trailing slash. */
+#undef READLINK_TRAILING_SLASH_BUG
+
 /* Define to 1 if stat needs help when passed a directory name with a trailing
    slash */
 #undef REPLACE_FUNC_STAT_DIR
 /* If using the C implementation of alloca, define if you know the
    direction of stack growth for your system; otherwise it will be
    automatically deduced at runtime.
-        STACK_DIRECTION > 0 => grows toward higher addresses
-        STACK_DIRECTION < 0 => grows toward lower addresses
-        STACK_DIRECTION = 0 => direction of growth unknown */
+       STACK_DIRECTION > 0 => grows toward higher addresses
+       STACK_DIRECTION < 0 => grows toward lower addresses
+       STACK_DIRECTION = 0 => direction of growth unknown */
 #undef STACK_DIRECTION
 
 /* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
    timespec. */
 #undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC
 
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable general extensions on OS X.  */
+#ifndef _DARWIN_C_SOURCE
+# undef _DARWIN_C_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable X/Open extensions if necessary.  HP-UX 11.11 defines
+   mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of
+   whether compiling with -Ae or -D_HPUX_SOURCE=1.  */
+#ifndef _XOPEN_SOURCE
+# undef _XOPEN_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
 /* Define to 1 if you want getc etc. to use unlocked I/O if available.
    Unlocked I/O can improve performance in unithreaded apps, but it is not
    safe for multithreaded apps. */
    'wint_t'. */
 #undef WINT_T_SUFFIX
 
-/* Enable large inode numbers on Mac OS X.  */
-#ifndef _DARWIN_USE_64_BIT_INODE
-# define _DARWIN_USE_64_BIT_INODE 1
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+#  undef WORDS_BIGENDIAN
+# endif
 #endif
 
+/* Enable large inode numbers on Mac OS X 10.5. */
+#undef _DARWIN_USE_64_BIT_INODE
+
 /* Number of bits in a file offset, on hosts where this is settable. */
 #undef _FILE_OFFSET_BITS
 
 /* enable compile-time and run-time bounds-checking, and some warnings */
 #undef _FORTIFY_SOURCE
 
+/* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct
+   stat.st_size becomes 64-bit. */
+#undef _GL_WINDOWS_64_BIT_ST_SIZE
+
 /* Define for large files, on AIX-style hosts. */
 #undef _LARGE_FILES
 
+/* Define to 1 on Solaris. */
+#undef _LCONV_C99
+
 /* Define to 1 if on MINIX. */
 #undef _MINIX
 
-/* The _Noreturn keyword of draft C1X.  */
-#ifndef _Noreturn
+/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */
+#undef _NETBSD_SOURCE
+
+/* The _Noreturn keyword of C11.  */
+#if ! (defined _Noreturn \
+       || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
 # if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
       || 0x5110 <= __SUNPRO_C)
 #  define _Noreturn __attribute__ ((__noreturn__))
-# elif 1200 <= _MSC_VER
+# elif defined _MSC_VER && 1200 <= _MSC_VER
 #  define _Noreturn __declspec (noreturn)
 # else
 #  define _Noreturn
    this defined. */
 #undef _POSIX_1_SOURCE
 
-/* Define to 1 if you need to in order for `stat' and other things to work. */
+/* Define to 1 if you need to in order for 'stat' and other things to work. */
 #undef _POSIX_SOURCE
 
+/* Define if you want <regex.h> to include <limits.h>, so that it consistently
+   overrides <limits.h>'s RE_DUP_MAX. */
+#undef _REGEX_INCLUDE_LIMITS_H
+
 /* Define if you want regoff_t to be at least as wide POSIX requires. */
 #undef _REGEX_LARGE_OFFSETS
 
-/* Define to 500 only on HP-UX. */
-#undef _XOPEN_SOURCE
-
-/* Enable extensions on AIX 3, Interix.  */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable general extensions on MacOS X.  */
-#ifndef _DARWIN_C_SOURCE
-# undef _DARWIN_C_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them.  */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris.  */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop.  */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-
-
 /* Define to rpl_ if the getopt replacement functions and variables should be
    used. */
 #undef __GETOPT_PREFIX
 
-/* Ensure that <stdint.h> defines the limit macros, since gnulib's
-   <inttypes.h> relies on them.  */
-#if defined __cplusplus && !defined __STDC_LIMIT_MACROS && GL_TRIGGER_STDC_LIMIT_MACROS
-# define __STDC_LIMIT_MACROS 1
+/* _GL_INLINE is a portable alternative to ISO C99 plain 'inline'.
+   _GL_EXTERN_INLINE is a portable alternative to 'extern inline'.
+   _GL_INLINE_HEADER_BEGIN contains useful stuff to put
+     in an include file, before uses of _GL_INLINE.
+     It suppresses GCC's bogus "no previous prototype for 'FOO'" diagnostic,
+     when FOO is an inline function in the header; see
+     <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>.
+   _GL_INLINE_HEADER_END contains useful stuff to put
+     in the same include file, after uses of _GL_INLINE.
+
+   Suppress extern inline with HP-UX cc, as it appears to be broken; see
+   <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
+
+   Suppress the use of extern inline on Apple's platforms,
+   as Libc-825.25 (2012-09-19) is incompatible with it; see
+   <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
+   Perhaps Apple will fix this some day.  */
+#if ((__GNUC__ \
+      ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
+      : 199901L <= __STDC_VERSION__ && !defined __HP_cc) \
+     && !defined __APPLE__)
+# define _GL_INLINE inline
+# define _GL_EXTERN_INLINE extern inline
+#elif 2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __APPLE__
+# if __GNUC_GNU_INLINE__
+   /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
+#  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
+# else
+#  define _GL_INLINE extern inline
+# endif
+# define _GL_EXTERN_INLINE extern
+#else
+# define _GL_INLINE static _GL_UNUSED
+# define _GL_EXTERN_INLINE static _GL_UNUSED
 #endif
 
+#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
+# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
+#  define _GL_INLINE_HEADER_CONST_PRAGMA
+# else
+#  define _GL_INLINE_HEADER_CONST_PRAGMA \
+     _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
+# endif
+# define _GL_INLINE_HEADER_BEGIN \
+    _Pragma ("GCC diagnostic push") \
+    _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
+    _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \
+    _GL_INLINE_HEADER_CONST_PRAGMA
+# define _GL_INLINE_HEADER_END \
+    _Pragma ("GCC diagnostic pop")
+#else
+# define _GL_INLINE_HEADER_BEGIN
+# define _GL_INLINE_HEADER_END
+#endif
 
 /* Define to a replacement function name for fnmatch(). */
 #undef fnmatch
 /* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
    the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
    earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
-   __APPLE__ && __MACH__ test for MacOS X.
+   __APPLE__ && __MACH__ test for Mac OS X.
    __APPLE_CC__ tests for the Apple compiler and its version.
    __STDC_VERSION__ tests for the C99 mode.  */
 #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
index 1cdc985..5faaf9a 100644 (file)
@@ -1,6 +1,6 @@
 /* Analyze differences between two vectors.
 
-   Copyright (C) 1988-1989, 1992-1995, 2001-2004, 2006-2011 Free Software
+   Copyright (C) 1988-1989, 1992-1995, 2001-2004, 2006-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -76,7 +76,7 @@
 # define EARLY_ABORT(ctxt) false
 #endif
 
-/* Use this to suppress gcc's `...may be used before initialized' warnings.
+/* Use this to suppress gcc's "...may be used before initialized" warnings.
    Beware: The Code argument must not contain commas.  */
 #ifndef IF_LINT
 # ifdef lint
@@ -129,7 +129,7 @@ struct context
   /* Edit scripts longer than this are too expensive to compute.  */
   OFFSET too_expensive;
 
-  /* Snakes bigger than this are considered `big'.  */
+  /* Snakes bigger than this are considered "big".  */
   #define SNAKE_LIMIT 20
 };
 
index f5b0c0f..82f6630 100644 (file)
@@ -1,6 +1,6 @@
 /* dirname.c -- return all but the last element in a file name
 
-   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2011 Free Software
+   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -25,7 +25,7 @@
 
 /* Return the length of the prefix of FILE that will be used by
    dir_name.  If FILE is in the working directory, this returns zero
-   even though `dir_name (FILE)' will return ".".  Works properly even
+   even though 'dir_name (FILE)' will return ".".  Works properly even
    if there are trailing slashes (by effectively ignoring them).  */
 
 size_t
@@ -53,9 +53,9 @@ dir_len (char const *file)
 }
 
 
-/* In general, we can't use the builtin `dirname' function if available,
+/* In general, we can't use the builtin 'dirname' function if available,
    since it has different meanings in different environments.
-   In some environments the builtin `dirname' modifies its argument.
+   In some environments the builtin 'dirname' modifies its argument.
 
    Return the leading directories part of FILE, allocated with malloc.
    Works properly even if there are trailing slashes (by effectively
index 411ded3..1fb6588 100644 (file)
@@ -1,6 +1,6 @@
 /* dirname.c -- return all but the last element in a file name
 
-   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2011 Free Software
+   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 2ef9882..4ad0312 100644 (file)
@@ -1,6 +1,6 @@
 /*  Take file names apart into directory and base names.
 
-    Copyright (C) 1998, 2001, 2003-2006, 2009-2011 Free Software Foundation,
+    Copyright (C) 1998, 2001, 2003-2006, 2009-2013 Free Software Foundation,
     Inc.
 
     This program is free software: you can redistribute it and/or modify
@@ -37,9 +37,9 @@ char *dir_name (char const *file);
 # endif
 
 char *mdir_name (char const *file);
-size_t base_len (char const *file);
-size_t dir_len (char const *file);
-char *last_component (char const *file);
+size_t base_len (char const *file) _GL_ATTRIBUTE_PURE;
+size_t dir_len (char const *file) _GL_ATTRIBUTE_PURE;
+char *last_component (char const *file) _GL_ATTRIBUTE_PURE;
 
 bool strip_trailing_slashes (char *file);
 
index acdd03b..ba63ce4 100644 (file)
@@ -1,6 +1,6 @@
 /* File names on MS-DOS/Windows systems.
 
-   Copyright (C) 2000-2001, 2004-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2000-2001, 2004-2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index e00dc7b..9219eb3 100644 (file)
@@ -1,6 +1,6 @@
 /* Duplicate an open file descriptor to a specified file descriptor.
 
-   Copyright (C) 1999, 2004-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2004-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #include <errno.h>
 #include <fcntl.h>
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Get declarations of the Win32 API functions.  */
-# define WIN32_LEAN_AND_MEAN
-# include <windows.h>
-#endif
-
 #if HAVE_DUP2
 
 # undef dup2
 
-int
-rpl_dup2 (int fd, int desired_fd)
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+/* Get declarations of the native Windows API functions.  */
+#  define WIN32_LEAN_AND_MEAN
+#  include <windows.h>
+
+#  include "msvc-inval.h"
+
+/* Get _get_osfhandle.  */
+#  include "msvc-nothrow.h"
+
+static int
+ms_windows_dup2 (int fd, int desired_fd)
 {
   int result;
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
   /* If fd is closed, mingw hangs on dup2 (fd, fd).  If fd is open,
      dup2 (fd, fd) returns 0, but all further attempts to use fd in
      future dup2 calls will hang.  */
@@ -52,6 +57,7 @@ rpl_dup2 (int fd, int desired_fd)
         }
       return fd;
     }
+
   /* Wine 1.0.1 return 0 when desired_fd is negative but not -1:
      http://bugs.winehq.org/show_bug.cgi?id=21289 */
   if (desired_fd < 0)
@@ -59,26 +65,48 @@ rpl_dup2 (int fd, int desired_fd)
       errno = EBADF;
       return -1;
     }
-# elif !defined __linux__
-  /* On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC.  */
-  if (fd == desired_fd)
-    return fcntl (fd, F_GETFL) == -1 ? -1 : fd;
-# endif
-  result = dup2 (fd, desired_fd);
-# ifdef __linux__
-  /* Correct a Linux return value.
-     <http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.30.y.git;a=commitdiff;h=2b79bc4f7ebbd5af3c8b867968f9f15602d5f802>
-   */
-  if (fd == desired_fd && result == (unsigned int) -EBADF)
+
+  TRY_MSVC_INVAL
+    {
+      result = dup2 (fd, desired_fd);
+    }
+  CATCH_MSVC_INVAL
     {
       errno = EBADF;
       result = -1;
     }
-# endif
+  DONE_MSVC_INVAL;
+
   if (result == 0)
     result = desired_fd;
-  /* Correct a cygwin 1.5.x errno value.  */
-  else if (result == -1 && errno == EMFILE)
+
+  return result;
+}
+
+#  define dup2 ms_windows_dup2
+
+# endif
+
+int
+rpl_dup2 (int fd, int desired_fd)
+{
+  int result;
+
+# ifdef F_GETFL
+  /* On Linux kernels 2.6.26-2.6.29, dup2 (fd, fd) returns -EBADF.
+     On Cygwin 1.5.x, dup2 (1, 1) returns 0.
+     On Cygwin 1.7.17, dup2 (1, -1) dumps core.
+     On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC.  */
+  if (desired_fd < 0)
+    fd = desired_fd;
+  if (fd == desired_fd)
+    return fcntl (fd, F_GETFL) == -1 ? -1 : fd;
+# endif
+
+  result = dup2 (fd, desired_fd);
+
+  /* Correct an errno value on FreeBSD 6.1 and Cygwin 1.5.x.  */
+  if (result == -1 && errno == EMFILE)
     errno = EBADF;
 # if REPLACE_FCHDIR
   if (fd != desired_fd && result != -1)
index ca6a5cd..49b3546 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A POSIX-like <errno.h>.
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _@GUARD_PREFIX@_ERRNO_H
 
 /* On native Windows platforms, many macros are not defined.  */
 # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 
-/* POSIX says that EAGAIN and EWOULDBLOCK may have the same value.  */
-#  define EWOULDBLOCK     EAGAIN
-
-/* Values >= 100 seem safe to use.  */
-#  define ETXTBSY   100
-#  define GNULIB_defined_ETXTBSY 1
+/* These are the same values as defined by MSVC 10, for interoperability.  */
+
+#  ifndef ENOMSG
+#   define ENOMSG    122
+#   define GNULIB_defined_ENOMSG 1
+#  endif
+
+#  ifndef EIDRM
+#   define EIDRM     111
+#   define GNULIB_defined_EIDRM 1
+#  endif
+
+#  ifndef ENOLINK
+#   define ENOLINK   121
+#   define GNULIB_defined_ENOLINK 1
+#  endif
+
+#  ifndef EPROTO
+#   define EPROTO    134
+#   define GNULIB_defined_EPROTO 1
+#  endif
+
+#  ifndef EBADMSG
+#   define EBADMSG   104
+#   define GNULIB_defined_EBADMSG 1
+#  endif
+
+#  ifndef EOVERFLOW
+#   define EOVERFLOW 132
+#   define GNULIB_defined_EOVERFLOW 1
+#  endif
+
+#  ifndef ENOTSUP
+#   define ENOTSUP   129
+#   define GNULIB_defined_ENOTSUP 1
+#  endif
+
+#  ifndef ENETRESET
+#   define ENETRESET 117
+#   define GNULIB_defined_ENETRESET 1
+#  endif
+
+#  ifndef ECONNABORTED
+#   define ECONNABORTED 106
+#   define GNULIB_defined_ECONNABORTED 1
+#  endif
+
+#  ifndef ECANCELED
+#   define ECANCELED 105
+#   define GNULIB_defined_ECANCELED 1
+#  endif
+
+#  ifndef EOWNERDEAD
+#   define EOWNERDEAD 133
+#   define GNULIB_defined_EOWNERDEAD 1
+#  endif
+
+#  ifndef ENOTRECOVERABLE
+#   define ENOTRECOVERABLE 127
+#   define GNULIB_defined_ENOTRECOVERABLE 1
+#  endif
+
+#  ifndef EINPROGRESS
+#   define EINPROGRESS     112
+#   define EALREADY        103
+#   define ENOTSOCK        128
+#   define EDESTADDRREQ    109
+#   define EMSGSIZE        115
+#   define EPROTOTYPE      136
+#   define ENOPROTOOPT     123
+#   define EPROTONOSUPPORT 135
+#   define EOPNOTSUPP      130
+#   define EAFNOSUPPORT    102
+#   define EADDRINUSE      100
+#   define EADDRNOTAVAIL   101
+#   define ENETDOWN        116
+#   define ENETUNREACH     118
+#   define ECONNRESET      108
+#   define ENOBUFS         119
+#   define EISCONN         113
+#   define ENOTCONN        126
+#   define ETIMEDOUT       138
+#   define ECONNREFUSED    107
+#   define ELOOP           114
+#   define EHOSTUNREACH    110
+#   define EWOULDBLOCK     140
+#   define GNULIB_defined_ESOCK 1
+#  endif
+
+#  ifndef ETXTBSY
+#   define ETXTBSY         139
+#   define ENODATA         120  /* not required by POSIX */
+#   define ENOSR           124  /* not required by POSIX */
+#   define ENOSTR          125  /* not required by POSIX */
+#   define ETIME           137  /* not required by POSIX */
+#   define EOTHER          131  /* not required by POSIX */
+#   define GNULIB_defined_ESTREAMS 1
+#  endif
 
 /* These are intentionally the same values as the WSA* error numbers, defined
    in <winsock2.h>.  */
-#  define EINPROGRESS     10036
-#  define EALREADY        10037
-#  define ENOTSOCK        10038
-#  define EDESTADDRREQ    10039
-#  define EMSGSIZE        10040
-#  define EPROTOTYPE      10041
-#  define ENOPROTOOPT     10042
-#  define EPROTONOSUPPORT 10043
 #  define ESOCKTNOSUPPORT 10044  /* not required by POSIX */
-#  define EOPNOTSUPP      10045
 #  define EPFNOSUPPORT    10046  /* not required by POSIX */
-#  define EAFNOSUPPORT    10047
-#  define EADDRINUSE      10048
-#  define EADDRNOTAVAIL   10049
-#  define ENETDOWN        10050
-#  define ENETUNREACH     10051
-#  define ENETRESET       10052
-#  define ECONNABORTED    10053
-#  define ECONNRESET      10054
-#  define ENOBUFS         10055
-#  define EISCONN         10056
-#  define ENOTCONN        10057
 #  define ESHUTDOWN       10058  /* not required by POSIX */
 #  define ETOOMANYREFS    10059  /* not required by POSIX */
-#  define ETIMEDOUT       10060
-#  define ECONNREFUSED    10061
-#  define ELOOP           10062
 #  define EHOSTDOWN       10064  /* not required by POSIX */
-#  define EHOSTUNREACH    10065
 #  define EPROCLIM        10067  /* not required by POSIX */
 #  define EUSERS          10068  /* not required by POSIX */
 #  define EDQUOT          10069
 #  define ESTALE          10070
 #  define EREMOTE         10071  /* not required by POSIX */
-#  define GNULIB_defined_ESOCK 1
+#  define GNULIB_defined_EWINSOCK 1
 
 # endif
 
 #  define GNULIB_defined_ECANCELED 1
 # endif
 
+/* On many platforms, the macros EOWNERDEAD and ENOTRECOVERABLE are not
+   defined.  */
+
+# ifndef EOWNERDEAD
+#  if defined __sun
+    /* Use the same values as defined for Solaris >= 8, for
+       interoperability.  */
+#   define EOWNERDEAD      58
+#   define ENOTRECOVERABLE 59
+#  elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+    /* We have a conflict here: pthreads-win32 defines these values
+       differently than MSVC 10.  It's hairy to decide which one to use.  */
+#   if defined __MINGW32__ && !defined USE_WINDOWS_THREADS
+     /* Use the same values as defined by pthreads-win32, for
+        interoperability.  */
+#    define EOWNERDEAD      43
+#    define ENOTRECOVERABLE 44
+#   else
+     /* Use the same values as defined by MSVC 10, for
+        interoperability.  */
+#    define EOWNERDEAD      133
+#    define ENOTRECOVERABLE 127
+#   endif
+#  else
+#   define EOWNERDEAD      2013
+#   define ENOTRECOVERABLE 2014
+#  endif
+#  define GNULIB_defined_EOWNERDEAD 1
+#  define GNULIB_defined_ENOTRECOVERABLE 1
+# endif
+
+# ifndef EILSEQ
+#  define EILSEQ 2015
+#  define GNULIB_defined_EILSEQ 1
+# endif
 
 #endif /* _@GUARD_PREFIX@_ERRNO_H */
 #endif /* _@GUARD_PREFIX@_ERRNO_H */
index 7482baa..865b293 100644 (file)
@@ -1,5 +1,5 @@
 /* Error handler for noninteractive utilities
-   Copyright (C) 1990-1998, 2000-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1990-1998, 2000-2007, 2009-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software: you can redistribute it and/or modify
@@ -54,7 +54,7 @@
    function without parameters instead.  */
 void (*error_print_progname) (void);
 
-/* This variable is incremented each time `error' is called.  */
+/* This variable is incremented each time 'error' is called.  */
 unsigned int error_message_count;
 
 #ifdef _LIBC
@@ -65,7 +65,7 @@ unsigned int error_message_count;
 # include <limits.h>
 # include <libio/libioP.h>
 
-/* In GNU libc we want do not want to use the common name `error' directly.
+/* In GNU libc we want do not want to use the common name 'error' directly.
    Instead make it a weak alias.  */
 extern void __error (int status, int errnum, const char *message, ...)
      __attribute__ ((__format__ (__printf__, 3, 4)));
@@ -89,9 +89,11 @@ extern void __error_at_line (int status, int errnum, const char *file_name,
 # include <unistd.h>
 
 # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Get declarations of the Win32 API functions.  */
+/* Get declarations of the native Windows API functions.  */
 #  define WIN32_LEAN_AND_MEAN
 #  include <windows.h>
+/* Get _get_osfhandle.  */
+#  include "msvc-nothrow.h"
 # endif
 
 /* The gnulib override of fcntl is not needed in this file.  */
@@ -119,13 +121,14 @@ extern char *program_name;
 
 #if !_LIBC
 /* Return non-zero if FD is open.  */
-static inline int
+static int
 is_open (int fd)
 {
 # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-  /* On Win32: The initial state of unassigned standard file descriptors is
-     that they are open but point to an INVALID_HANDLE_VALUE.  There is no
-     fcntl, and the gnulib replacement fcntl does not support F_GETFL.  */
+  /* On native Windows: The initial state of unassigned standard file
+     descriptors is that they are open but point to an INVALID_HANDLE_VALUE.
+     There is no fcntl, and the gnulib replacement fcntl does not support
+     F_GETFL.  */
   return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE;
 # else
 #  ifndef F_GETFL
@@ -136,7 +139,7 @@ is_open (int fd)
 }
 #endif
 
-static inline void
+static void
 flush_stdout (void)
 {
 #if !_LIBC
index 80f81bc..afcb0e1 100644 (file)
@@ -1,5 +1,5 @@
 /* Declaration for error-reporting function
-   Copyright (C) 1995-1997, 2003, 2006, 2008-2011 Free Software Foundation,
+   Copyright (C) 1995-1997, 2003, 2006, 2008-2013 Free Software Foundation,
    Inc.
    This file is part of the GNU C Library.
 
@@ -35,9 +35,9 @@
 extern "C" {
 #endif
 
-/* Print a message with `fprintf (stderr, FORMAT, ...)';
+/* Print a message with 'fprintf (stderr, FORMAT, ...)';
    if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
-   If STATUS is nonzero, terminate the program with `exit (STATUS)'.  */
+   If STATUS is nonzero, terminate the program with 'exit (STATUS)'.  */
 
 extern void error (int __status, int __errnum, const char *__format, ...)
      _GL_ATTRIBUTE_FORMAT ((__printf__, 3, 4));
@@ -51,7 +51,7 @@ extern void error_at_line (int __status, int __errnum, const char *__fname,
    function without parameters instead.  */
 extern void (*error_print_progname) (void);
 
-/* This variable is incremented each time `error' is called.  */
+/* This variable is incremented each time 'error' is called.  */
 extern unsigned int error_message_count;
 
 /* Sometimes we want to have at most one error per line.  This
index df49714..a7dd9b3 100644 (file)
@@ -1,6 +1,6 @@
 /* exclude.c -- exclude file names
 
-   Copyright (C) 1992-1994, 1997, 1999-2007, 2009-2011 Free Software
+   Copyright (C) 1992-1994, 1997, 1999-2007, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -104,53 +104,46 @@ struct exclude_segment
     } v;
   };
 
-/* The exclude structure keeps a singly-linked list of exclude segments */
+/* The exclude structure keeps a singly-linked list of exclude segments,
+   maintained in reverse order.  */
 struct exclude
   {
-    struct exclude_segment *head, *tail;
+    struct exclude_segment *head;
   };
 
-/* Return true if str has wildcard characters */
+/* Return true if STR has or may have wildcards, when matched with OPTIONS.
+   Return false if STR definitely does not have wildcards.  */
 bool
 fnmatch_pattern_has_wildcards (const char *str, int options)
 {
-  const char *cset = "\\?*[]";
-  if (options & FNM_NOESCAPE)
-    cset++;
-  while (*str)
+  while (1)
     {
-      size_t n = strcspn (str, cset);
-      if (str[n] == 0)
-        break;
-      else if (str[n] == '\\')
+      switch (*str++)
         {
-          str += n + 1;
-          if (*str)
-            str++;
+        case '\\':
+          str += ! (options & FNM_NOESCAPE) && *str;
+          break;
+
+        case '+': case '@': case '!':
+          if (options & FNM_EXTMATCH && *str == '(')
+            return true;
+          break;
+
+        case '?': case '*': case '[':
+          return true;
+
+        case '\0':
+          return false;
         }
-      else
-        return true;
     }
-  return false;
 }
 
 static void
 unescape_pattern (char *str)
 {
-  int inset = 0;
-  char *q = str;
+  char const *q = str;
   do
-    {
-      if (inset)
-        {
-          if (*q == ']')
-            inset = 0;
-        }
-      else if (*q == '[')
-        inset = 1;
-      else if (*q == '\\')
-        q++;
-    }
+    q += *q == '\\' && q[1];
   while ((*str++ = *q++));
 }
 
@@ -219,8 +212,8 @@ string_free (void *data)
 }
 
 /* Create new exclude segment of given TYPE and OPTIONS, and attach it
-   to the tail of list in EX */
-static struct exclude_segment *
+   to the head of EX.  */
+static void
 new_exclude_segment (struct exclude *ex, enum exclude_type type, int options)
 {
   struct exclude_segment *sp = xzalloc (sizeof (struct exclude_segment));
@@ -242,12 +235,8 @@ new_exclude_segment (struct exclude *ex, enum exclude_type type, int options)
                                      string_free);
       break;
     }
-  if (ex->tail)
-    ex->tail->next = sp;
-  else
-    ex->head = sp;
-  ex->tail = sp;
-  return sp;
+  sp->next = ex->head;
+  ex->head = sp;
 }
 
 /* Free a single exclude segment */
@@ -347,36 +336,33 @@ exclude_fnmatch (char const *pattern, char const *f, int options)
   return matched;
 }
 
-/* Return true if the exclude_pattern segment SEG excludes F.  */
+/* Return true if the exclude_pattern segment SEG matches F.  */
 
 static bool
-excluded_file_pattern_p (struct exclude_segment const *seg, char const *f)
+file_pattern_matches (struct exclude_segment const *seg, char const *f)
 {
   size_t exclude_count = seg->v.pat.exclude_count;
   struct patopts const *exclude = seg->v.pat.exclude;
   size_t i;
-  bool excluded = !! (exclude[0].options & EXCLUDE_INCLUDE);
 
-  /* Scan through the options, until they change excluded */
   for (i = 0; i < exclude_count; i++)
     {
       char const *pattern = exclude[i].pattern;
       int options = exclude[i].options;
       if (exclude_fnmatch (pattern, f, options))
-        return !excluded;
+        return true;
     }
-  return excluded;
+  return false;
 }
 
-/* Return true if the exclude_hash segment SEG excludes F.
+/* Return true if the exclude_hash segment SEG matches F.
    BUFFER is an auxiliary storage of the same length as F (with nul
    terminator included) */
 static bool
-excluded_file_name_p (struct exclude_segment const *seg, char const *f,
-                      char *buffer)
+file_name_matches (struct exclude_segment const *seg, char const *f,
+                   char *buffer)
 {
   int options = seg->options;
-  bool excluded = !! (options & EXCLUDE_INCLUDE);
   Hash_table *table = seg->v.table;
 
   do
@@ -387,7 +373,7 @@ excluded_file_name_p (struct exclude_segment const *seg, char const *f,
       while (1)
         {
           if (hash_lookup (table, buffer))
-            return !excluded;
+            return true;
           if (options & FNM_LEADING_DIR)
             {
               char *p = strrchr (buffer, '/');
@@ -410,7 +396,8 @@ excluded_file_name_p (struct exclude_segment const *seg, char const *f,
         break;
     }
   while (f);
-  return excluded;
+
+  return false;
 }
 
 /* Return true if EX excludes F.  */
@@ -419,44 +406,46 @@ bool
 excluded_file_name (struct exclude const *ex, char const *f)
 {
   struct exclude_segment *seg;
-  bool excluded;
+  bool invert = false;
   char *filename = NULL;
 
   /* If no patterns are given, the default is to include.  */
   if (!ex->head)
     return false;
 
-  /* Otherwise, the default is the opposite of the first option.  */
-  excluded = !! (ex->head->options & EXCLUDE_INCLUDE);
-  /* Scan through the segments, seeing whether they change status from
-     excluded to included or vice versa.  */
-  for (seg = ex->head; seg; seg = seg->next)
+  /* Scan through the segments, reporting the status of the first match.
+     The segments are in reverse order, so this reports the status of
+     the last match in the original option list.  */
+  for (seg = ex->head; ; seg = seg->next)
     {
-      bool rc;
-
-      switch (seg->type)
+      if (seg->type == exclude_hash)
         {
-        case exclude_pattern:
-          rc = excluded_file_pattern_p (seg, f);
-          break;
-
-        case exclude_hash:
           if (!filename)
             filename = xmalloc (strlen (f) + 1);
-          rc = excluded_file_name_p (seg, f, filename);
-          break;
-
-        default:
-          abort ();
+          if (file_name_matches (seg, f, filename))
+            break;
         }
-      if (rc != excluded)
+      else
+        {
+          if (file_pattern_matches (seg, f))
+            break;
+        }
+
+      if (! seg->next)
         {
-          excluded = rc;
+          /* If patterns are given but none match, the default is the
+             opposite of the last segment (i.e., the first in the
+             original option list).  For example, in the command
+             'grep -r --exclude="a*" --include="*b" pat dir', the
+             first option is --exclude so any file name matching
+             neither a* nor *b is included.  */
+          invert = true;
           break;
         }
     }
+
   free (filename);
-  return excluded;
+  return invert ^ ! (seg->options & EXCLUDE_INCLUDE);
 }
 
 /* Append to EX the exclusion PATTERN with OPTIONS.  */
@@ -472,12 +461,11 @@ add_exclude (struct exclude *ex, char const *pattern, int options)
       struct exclude_pattern *pat;
       struct patopts *patopts;
 
-      if (ex->tail && ex->tail->type == exclude_pattern
-          && ((ex->tail->options & EXCLUDE_INCLUDE) ==
-              (options & EXCLUDE_INCLUDE)))
-        seg = ex->tail;
-      else
-        seg = new_exclude_segment (ex, exclude_pattern, options);
+      if (! (ex->head && ex->head->type == exclude_pattern
+             && ((ex->head->options & EXCLUDE_INCLUDE)
+                 == (options & EXCLUDE_INCLUDE))))
+        new_exclude_segment (ex, exclude_pattern, options);
+      seg = ex->head;
 
       pat = &seg->v.pat;
       if (pat->exclude_count == pat->exclude_alloc)
@@ -490,17 +478,16 @@ add_exclude (struct exclude *ex, char const *pattern, int options)
   else
     {
       char *str, *p;
-#define EXCLUDE_HASH_FLAGS (EXCLUDE_INCLUDE|EXCLUDE_ANCHORED|\
-                            FNM_LEADING_DIR|FNM_CASEFOLD)
-      if (ex->tail && ex->tail->type == exclude_hash
-          && ((ex->tail->options & EXCLUDE_HASH_FLAGS) ==
-              (options & EXCLUDE_HASH_FLAGS)))
-        seg = ex->tail;
-      else
-        seg = new_exclude_segment (ex, exclude_hash, options);
+      int exclude_hash_flags = (EXCLUDE_INCLUDE | EXCLUDE_ANCHORED
+                                | FNM_LEADING_DIR | FNM_CASEFOLD);
+      if (! (ex->head && ex->head->type == exclude_hash
+             && ((ex->head->options & exclude_hash_flags)
+                 == (options & exclude_hash_flags))))
+        new_exclude_segment (ex, exclude_hash, options);
+      seg = ex->head;
 
       str = xstrdup (pattern);
-      if (options & EXCLUDE_WILDCARDS)
+      if ((options & (EXCLUDE_WILDCARDS | FNM_NOESCAPE)) == EXCLUDE_WILDCARDS)
         unescape_pattern (str);
       p = hash_insert (seg->v.table, str);
       if (p != str)
index 0a314a9..f76b153 100644 (file)
@@ -1,6 +1,6 @@
 /* exclude.h -- declarations for excluding file names
 
-   Copyright (C) 1992-1994, 1997, 1999, 2001-2003, 2005-2006, 2009-2011 Free
+   Copyright (C) 1992-1994, 1997, 1999, 2001-2003, 2005-2006, 2009-2013 Free
    Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -39,7 +39,7 @@
 
 struct exclude;
 
-bool fnmatch_pattern_has_wildcards (const char *, int);
+bool fnmatch_pattern_has_wildcards (const char *, int) _GL_ATTRIBUTE_PURE;
 
 struct exclude *new_exclude (void);
 void free_exclude (struct exclude *);
index 953aa02..b0b4ebe 100644 (file)
@@ -1,6 +1,6 @@
 /* Failure exit status
 
-   Copyright (C) 2002-2003, 2005-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 6d01d4f..e54333b 100644 (file)
@@ -1,6 +1,6 @@
 /* Failure exit status
 
-   Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index d6a328c..735fa66 100644 (file)
@@ -1,6 +1,6 @@
 /* Provide file descriptor control.
 
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #undef fcntl
 
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Get declarations of the Win32 API functions.  */
+/* Get declarations of the native Windows API functions.  */
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
 
+/* Get _get_osfhandle.  */
+# include "msvc-nothrow.h"
+
 /* Upper bound on getdtablesize().  See lib/getdtablesize.c.  */
 # define OPEN_MAX_MAX 0x10000
 
@@ -91,7 +94,7 @@ dupfd (int oldfd, int newfd, int flags)
           result = -1;
           break;
         }
-      duplicated_fd = _open_osfhandle ((long) new_handle, flags);
+      duplicated_fd = _open_osfhandle ((intptr_t) new_handle, flags);
       if (duplicated_fd < 0)
         {
           CloseHandle (new_handle);
index 0a07221..1e45a65 100644 (file)
@@ -1,6 +1,6 @@
 /* Like <fcntl.h>, but with non-working flags defined to 0.
 
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -25,6 +25,8 @@
 #if defined __need_system_fcntl_h
 /* Special invocation convention.  */
 
+/* Needed before <sys/stat.h>.
+   May also define off_t to a 64-bit type on native Windows.  */
 #include <sys/types.h>
 /* On some systems other than glibc, <sys/stat.h> is a prerequisite of
    <fcntl.h>.  On glibc systems, we would like to avoid namespace pollution.
@@ -42,6 +44,8 @@
 
 #ifndef _@GUARD_PREFIX@_FCNTL_H
 
+/* Needed before <sys/stat.h>.
+   May also define off_t to a 64-bit type on native Windows.  */
 #include <sys/types.h>
 /* On some systems other than glibc, <sys/stat.h> is a prerequisite of
    <fcntl.h>.  On glibc systems, we would like to avoid namespace pollution.
 # include <unistd.h>
 #endif
 
+/* Native Windows platforms declare open(), creat() in <io.h>.  */
+#if (@GNULIB_OPEN@ || defined GNULIB_POSIXCHECK) \
+    && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+# include <io.h>
+#endif
+
 
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
@@ -177,12 +187,12 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 /* Fix up the O_* macros.  */
 
 #if !defined O_DIRECT && defined O_DIRECTIO
-/* Tru64 spells it `O_DIRECTIO'.  */
+/* Tru64 spells it 'O_DIRECTIO'.  */
 # define O_DIRECT O_DIRECTIO
 #endif
 
 #if !defined O_CLOEXEC && defined O_NOINHERIT
-/* Mingw spells it `O_NOINHERIT'.  */
+/* Mingw spells it 'O_NOINHERIT'.  */
 # define O_CLOEXEC O_NOINHERIT
 #endif
 
@@ -206,6 +216,10 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 # define O_EXEC O_RDONLY /* This is often close enough in older systems.  */
 #endif
 
+#ifndef O_IGNORE_CTTY
+# define O_IGNORE_CTTY 0
+#endif
+
 #ifndef O_NDELAY
 # define O_NDELAY 0
 #endif
@@ -239,10 +253,18 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 # define O_NOFOLLOW 0
 #endif
 
+#ifndef O_NOLINK
+# define O_NOLINK 0
+#endif
+
 #ifndef O_NOLINKS
 # define O_NOLINKS 0
 #endif
 
+#ifndef O_NOTRANS
+# define O_NOTRANS 0
+#endif
+
 #ifndef O_RSYNC
 # define O_RSYNC 0
 #endif
@@ -259,7 +281,7 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 # define O_TTY_INIT 0
 #endif
 
-#if O_ACCMODE != (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH)
+#if ~O_ACCMODE & (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH)
 # undef O_ACCMODE
 # define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH)
 #endif
diff --git a/lib/fd-hook.c b/lib/fd-hook.c
new file mode 100644 (file)
index 0000000..e158a52
--- /dev/null
@@ -0,0 +1,116 @@
+/* Hook for making making file descriptor functions close(), ioctl() extensible.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2009.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "fd-hook.h"
+
+#include <stdlib.h>
+
+/* Currently, this entire code is only needed for the handling of sockets
+   on native Windows platforms.  */
+#if WINDOWS_SOCKETS
+
+/* The first and last link in the doubly linked list.
+   Initially the list is empty.  */
+static struct fd_hook anchor = { &anchor, &anchor, NULL, NULL };
+
+int
+execute_close_hooks (const struct fd_hook *remaining_list, gl_close_fn primary,
+                     int fd)
+{
+  if (remaining_list == &anchor)
+    /* End of list reached.  */
+    return primary (fd);
+  else
+    return remaining_list->private_close_fn (remaining_list->private_next,
+                                             primary, fd);
+}
+
+int
+execute_all_close_hooks (gl_close_fn primary, int fd)
+{
+  return execute_close_hooks (anchor.private_next, primary, fd);
+}
+
+int
+execute_ioctl_hooks (const struct fd_hook *remaining_list, gl_ioctl_fn primary,
+                     int fd, int request, void *arg)
+{
+  if (remaining_list == &anchor)
+    /* End of list reached.  */
+    return primary (fd, request, arg);
+  else
+    return remaining_list->private_ioctl_fn (remaining_list->private_next,
+                                             primary, fd, request, arg);
+}
+
+int
+execute_all_ioctl_hooks (gl_ioctl_fn primary,
+                         int fd, int request, void *arg)
+{
+  return execute_ioctl_hooks (anchor.private_next, primary, fd, request, arg);
+}
+
+void
+register_fd_hook (close_hook_fn close_hook, ioctl_hook_fn ioctl_hook, struct fd_hook *link)
+{
+  if (close_hook == NULL)
+    close_hook = execute_close_hooks;
+  if (ioctl_hook == NULL)
+    ioctl_hook = execute_ioctl_hooks;
+
+  if (link->private_next == NULL && link->private_prev == NULL)
+    {
+      /* Add the link to the doubly linked list.  */
+      link->private_next = anchor.private_next;
+      link->private_prev = &anchor;
+      link->private_close_fn = close_hook;
+      link->private_ioctl_fn = ioctl_hook;
+      anchor.private_next->private_prev = link;
+      anchor.private_next = link;
+    }
+  else
+    {
+      /* The link is already in use.  */
+      if (link->private_close_fn != close_hook
+          || link->private_ioctl_fn != ioctl_hook)
+        abort ();
+    }
+}
+
+void
+unregister_fd_hook (struct fd_hook *link)
+{
+  struct fd_hook *next = link->private_next;
+  struct fd_hook *prev = link->private_prev;
+
+  if (next != NULL && prev != NULL)
+    {
+      /* The link is in use.  Remove it from the doubly linked list.  */
+      prev->private_next = next;
+      next->private_prev = prev;
+      /* Clear the link, to mark it unused.  */
+      link->private_next = NULL;
+      link->private_prev = NULL;
+      link->private_close_fn = NULL;
+      link->private_ioctl_fn = NULL;
+    }
+}
+
+#endif
diff --git a/lib/fd-hook.h b/lib/fd-hook.h
new file mode 100644 (file)
index 0000000..d15b577
--- /dev/null
@@ -0,0 +1,119 @@
+/* Hook for making making file descriptor functions close(), ioctl() extensible.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+
+#ifndef FD_HOOK_H
+#define FD_HOOK_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Currently, this entire code is only needed for the handling of sockets
+   on native Windows platforms.  */
+#if WINDOWS_SOCKETS
+
+
+/* Type of function that closes FD.  */
+typedef int (*gl_close_fn) (int fd);
+
+/* Type of function that applies a control request to FD.  */
+typedef int (*gl_ioctl_fn) (int fd, int request, void *arg);
+
+/* An element of the list of file descriptor hooks.
+   In CLOS (Common Lisp Object System) speak, it consists of an "around"
+   method for the close() function and an "around" method for the ioctl()
+   function.
+   The fields of this structure are considered private.  */
+struct fd_hook
+{
+  /* Doubly linked list.  */
+  struct fd_hook *private_next;
+  struct fd_hook *private_prev;
+  /* Function that treats the types of FD that it knows about and calls
+     execute_close_hooks (REMAINING_LIST, PRIMARY, FD) as a fallback.  */
+  int (*private_close_fn) (const struct fd_hook *remaining_list,
+                           gl_close_fn primary,
+                           int fd);
+  /* Function that treats the types of FD that it knows about and calls
+     execute_ioctl_hooks (REMAINING_LIST, PRIMARY, FD, REQUEST, ARG) as a
+     fallback.  */
+  int (*private_ioctl_fn) (const struct fd_hook *remaining_list,
+                           gl_ioctl_fn primary,
+                           int fd, int request, void *arg);
+};
+
+/* This type of function closes FD, applying special knowledge for the FD
+   types it knows about, and calls
+   execute_close_hooks (REMAINING_LIST, PRIMARY, FD)
+   for the other FD types.
+   In CLOS speak, REMAINING_LIST is the remaining list of "around" methods,
+   and PRIMARY is the "primary" method for close().  */
+typedef int (*close_hook_fn) (const struct fd_hook *remaining_list,
+                              gl_close_fn primary,
+                              int fd);
+
+/* Execute the close hooks in REMAINING_LIST, with PRIMARY as "primary" method.
+   Return 0 or -1, like close() would do.  */
+extern int execute_close_hooks (const struct fd_hook *remaining_list,
+                                gl_close_fn primary,
+                                int fd);
+
+/* Execute all close hooks, with PRIMARY as "primary" method.
+   Return 0 or -1, like close() would do.  */
+extern int execute_all_close_hooks (gl_close_fn primary, int fd);
+
+/* This type of function applies a control request to FD, applying special
+   knowledge for the FD types it knows about, and calls
+   execute_ioctl_hooks (REMAINING_LIST, PRIMARY, FD, REQUEST, ARG)
+   for the other FD types.
+   In CLOS speak, REMAINING_LIST is the remaining list of "around" methods,
+   and PRIMARY is the "primary" method for ioctl().  */
+typedef int (*ioctl_hook_fn) (const struct fd_hook *remaining_list,
+                              gl_ioctl_fn primary,
+                              int fd, int request, void *arg);
+
+/* Execute the ioctl hooks in REMAINING_LIST, with PRIMARY as "primary" method.
+   Return 0 or -1, like ioctl() would do.  */
+extern int execute_ioctl_hooks (const struct fd_hook *remaining_list,
+                                gl_ioctl_fn primary,
+                                int fd, int request, void *arg);
+
+/* Execute all ioctl hooks, with PRIMARY as "primary" method.
+   Return 0 or -1, like ioctl() would do.  */
+extern int execute_all_ioctl_hooks (gl_ioctl_fn primary,
+                                    int fd, int request, void *arg);
+
+/* Add a function pair to the list of file descriptor hooks.
+   CLOSE_HOOK and IOCTL_HOOK may be NULL, indicating no change.
+   The LINK variable points to a piece of memory which is guaranteed to be
+   accessible until the corresponding call to unregister_fd_hook.  */
+extern void register_fd_hook (close_hook_fn close_hook, ioctl_hook_fn ioctl_hook,
+                              struct fd_hook *link);
+
+/* Removes a hook from the list of file descriptor hooks.  */
+extern void unregister_fd_hook (struct fd_hook *link);
+
+
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* FD_HOOK_H */
index 109db44..0d54269 100644 (file)
@@ -1,6 +1,6 @@
 /* Return a string describing the type of a file.
 
-   Copyright (C) 1993-1994, 2001-2002, 2004-2006, 2009-2011 Free Software
+   Copyright (C) 1993-1994, 2001-2002, 2004-2006, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 0d1b9a4..9c6ac26 100644 (file)
@@ -1,6 +1,6 @@
 /* Return a string describing the type of a file.
 
-   Copyright (C) 1993-1994, 2001-2002, 2004-2005, 2009-2011 Free Software
+   Copyright (C) 1993-1994, 2001-2002, 2004-2005, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -24,6 +24,6 @@
 # include <sys/types.h>
 # include <sys/stat.h>
 
-char const *file_type (struct stat const *);
+char const *file_type (struct stat const *) _GL_ATTRIBUTE_PURE;
 
 #endif /* FILE_TYPE_H */
index 8cb2da4..60c4988 100644 (file)
@@ -1,6 +1,6 @@
 /* Concatenate two arbitrary file names.
 
-   Copyright (C) 1996-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1996-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -34,7 +34,7 @@
 /* Return the longest suffix of F that is a relative file name.
    If it has no such suffix, return the empty string.  */
 
-static char const *
+static char const * _GL_ATTRIBUTE_PURE
 longest_relative_suffix (char const *f)
 {
   for (f += FILE_SYSTEM_PREFIX_LEN (f); ISSLASH (*f); f++)
index 86b4e07..8809b57 100644 (file)
@@ -1,6 +1,6 @@
 /* Concatenate two arbitrary file names.
 
-   Copyright (C) 1996-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1996-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 31b3375..1476e14 100644 (file)
@@ -1,6 +1,6 @@
 /* Concatenate two arbitrary file names.
 
-   Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2011 Free Software
+   Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
similarity index 94%
rename from gnulib-tests/float+.h
rename to lib/float+.h
index 6aab058..32fb790 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Supplemental information about the floating-point formats.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2007.
 
    This program is free software; you can redistribute it and/or modify
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _FLOATPLUS_H
 #define _FLOATPLUS_H
similarity index 82%
rename from gnulib-tests/float.c
rename to lib/float.c
index c5a84b0..366945f 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Auxiliary definitions for <float.h>.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
@@ -22,7 +20,7 @@
 /* Specification.  */
 #include <float.h>
 
-#if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__
+#if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__
 const union gl_long_double_union gl_LDBL_MAX =
   { { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL } };
 #elif defined __i386__
similarity index 93%
rename from gnulib-tests/float.in.h
rename to lib/float.in.h
index 513550c..84e1950 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A correct <float.h>.
 
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -111,7 +109,8 @@ extern const union gl_long_double_union gl_LDBL_MAX;
 #endif
 
 /* On AIX 7.1 with gcc 4.2, the values of LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX are
-   wrong.  */
+   wrong.
+   On Linux/PowerPC with gcc 4.4, the value of LDBL_MAX is wrong.  */
 #if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__
 # undef LDBL_MIN_EXP
 # define LDBL_MIN_EXP DBL_MIN_EXP
@@ -119,6 +118,8 @@ extern const union gl_long_double_union gl_LDBL_MAX;
 # define LDBL_MIN_10_EXP DBL_MIN_10_EXP
 # undef LDBL_MIN
 # define LDBL_MIN 2.22507385850720138309023271733240406422e-308L /* DBL_MIN = 2^-1022 */
+#endif
+#if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__
 # undef LDBL_MAX
 /* LDBL_MAX is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xFFFFFFFF }.
    It is not easy to define:
@@ -172,5 +173,16 @@ extern const union gl_long_double_union gl_LDBL_MAX;
 # endif
 #endif
 
+#if @REPLACE_ITOLD@
+/* Pull in a function that fixes the 'int' to 'long double' conversion
+   of glibc 2.7.  */
+extern
+# ifdef __cplusplus
+"C"
+# endif
+void _Qp_itoq (long double *, int);
+static void (*_gl_float_fix_itold) (long double *, int) = _Qp_itoq;
+#endif
+
 #endif /* _@GUARD_PREFIX@_FLOAT_H */
 #endif /* _@GUARD_PREFIX@_FLOAT_H */
index ecfc8fb..6a09e1a 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991-1993, 1996-2007, 2009-2011 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1996-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -13,8 +11,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _LIBC
 # include <config.h>
@@ -44,7 +41,7 @@
   (HAVE_WCTYPE_H && HAVE_BTOWC && HAVE_ISWCTYPE \
    && HAVE_WMEMCHR && (HAVE_WMEMCPY || HAVE_WMEMPCPY))
 
-/* For platform which support the ISO C amendement 1 functionality we
+/* For platform which support the ISO C amendment 1 functionality we
    support user defined character classes.  */
 #if defined _LIBC || WIDE_CHAR_SUPPORT
 # include <wctype.h>
@@ -80,7 +77,7 @@ extern int fnmatch (const char *pattern, const char *string, int flags);
    Library, but also included in many other GNU distributions.  Compiling
    and linking in this code is a waste when using the GNU C library
    (especially if it is a shared library).  Rather than having every GNU
-   program understand `configure --with-gnu-libc' and omit the object files,
+   program understand 'configure --with-gnu-libc' and omit the object files,
    it is simpler to just do this in the source for each such file.  */
 
 #if defined _LIBC || !defined __GNU_LIBRARY__ || !HAVE_FNMATCH_GNU
@@ -94,7 +91,7 @@ extern int fnmatch (const char *pattern, const char *string, int flags);
 
 # if defined _LIBC || WIDE_CHAR_SUPPORT
 /* The GNU C library provides support for user-defined character classes
-   and the functions from ISO C amendement 1.  */
+   and the functions from ISO C amendment 1.  */
 #  ifdef CHARCLASS_NAME_MAX
 #   define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX
 #  else
@@ -121,7 +118,7 @@ extern int fnmatch (const char *pattern, const char *string, int flags);
 #  endif
 
 # else
-#  define CHAR_CLASS_MAX_LENGTH  6 /* Namely, `xdigit'.  */
+#  define CHAR_CLASS_MAX_LENGTH  6 /* Namely, 'xdigit'.  */
 
 #  define IS_CHAR_CLASS(string)                                               \
    (STREQ (string, "alpha") || STREQ (string, "upper")                        \
@@ -170,7 +167,6 @@ static int posixly_correct;
 #  endif
 # endif
 # define MEMCHR(S, C, N) memchr (S, C, N)
-# define STRCOLL(S1, S2) strcoll (S1, S2)
 # include "fnmatch_loop.c"
 
 
@@ -198,7 +194,6 @@ static int posixly_correct;
 #   endif
 #  endif
 #  define MEMCHR(S, C, N) wmemchr (S, C, N)
-#  define STRCOLL(S1, S2) wcscoll (S1, S2)
 #  define WIDE_CHAR_VERSION 1
 
 #  undef IS_CHAR_CLASS
index 6f60fcf..d39ce2f 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2011 Free
+/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2013 Free
    Software Foundation, Inc.
 
    This file is part of the GNU C Library.
@@ -16,8 +14,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _FNMATCH_H
 #define _FNMATCH_H      1
@@ -34,23 +31,23 @@ extern "C" {
 #undef  FNM_NOESCAPE
 #undef  FNM_PERIOD
 
-/* Bits set in the FLAGS argument to `fnmatch'.  */
-#define FNM_PATHNAME    (1 << 0) /* No wildcard can ever match `/'.  */
+/* Bits set in the FLAGS argument to 'fnmatch'.  */
+#define FNM_PATHNAME    (1 << 0) /* No wildcard can ever match '/'.  */
 #define FNM_NOESCAPE    (1 << 1) /* Backslashes don't quote special chars.  */
-#define FNM_PERIOD      (1 << 2) /* Leading `.' is matched only explicitly.  */
+#define FNM_PERIOD      (1 << 2) /* Leading '.' is matched only explicitly.  */
 
 #if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE
 # define FNM_FILE_NAME   FNM_PATHNAME   /* Preferred GNU name.  */
-# define FNM_LEADING_DIR (1 << 3)       /* Ignore `/...' after a match.  */
+# define FNM_LEADING_DIR (1 << 3)       /* Ignore '/...' after a match.  */
 # define FNM_CASEFOLD    (1 << 4)       /* Compare without regard to case.  */
 # define FNM_EXTMATCH    (1 << 5)       /* Use ksh-like extended matching. */
 #endif
 
-/* Value returned by `fnmatch' if STRING does not match PATTERN.  */
+/* Value returned by 'fnmatch' if STRING does not match PATTERN.  */
 #define FNM_NOMATCH     1
 
 /* This value is returned if the implementation does not support
-   `fnmatch'.  Since this is not the case here it will never be
+   'fnmatch'.  Since this is not the case here it will never be
    returned but the conformance test suites still require the symbol
    to be defined.  */
 #ifdef _XOPEN_SOURCE
index 06e7d8b..f57cd63 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991-1993, 1996-2006, 2009-2011 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1996-2006, 2009-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software; you can redistribute it and/or modify
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* Match STRING against the file name pattern PATTERN, returning zero if
    it matches, nonzero if not.  */
@@ -218,7 +215,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
               return FNM_NOMATCH;
 
             if (*n == L_('/') && (flags & FNM_FILE_NAME))
-              /* `/' cannot be matched.  */
+              /* '/' cannot be matched.  */
               return FNM_NOMATCH;
 
             not = (*p == L_('!') || (posixly_correct < 0 && *p == L_('^')));
@@ -384,7 +381,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
                           {
                             /* We found a table entry.  Now see whether the
                                character we are currently at has the same
-                               equivalance class value.  */
+                               equivalence class value.  */
                             int len = weights[idx & 0xffffff];
                             int32_t idx2;
                             const UCHAR *np = (const UCHAR *) n;
@@ -638,7 +635,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
                         UCHAR cend = *p++;
 
 # ifdef WIDE_CHAR_VERSION
-                        /* Search in the `names' array for the characters.  */
+                        /* Search in the 'names' array for the characters.  */
                         fcollseq = __collseq_table_lookup (collseq, fn);
                         if (fcollseq == ~((uint32_t) 0))
                           /* XXX We don't know anything about the character
@@ -841,7 +838,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
 #else
                         /* We use a boring value comparison of the character
                            values.  This is better than comparing using
-                           `strcoll' since the latter would have surprising
+                           'strcoll' since the latter would have surprising
                            and sometimes fatal consequences.  */
                         UCHAR cend = *p++;
 
@@ -1158,7 +1155,7 @@ EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end,
 
     case L_('@'):
       do
-        /* I cannot believe it but `strcat' is actually acceptable
+        /* I cannot believe it but 'strcat' is actually acceptable
            here.  Match the entire string with the prefix from the
            pattern list and the rest of the pattern following the
            pattern list.  */
@@ -1216,7 +1213,6 @@ EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end,
 #undef END
 #undef MEMPCPY
 #undef MEMCHR
-#undef STRCOLL
 #undef STRLEN
 #undef STRCAT
 #undef L_
index 5b02817..9fe403b 100644 (file)
@@ -1,6 +1,6 @@
 /* Invoke freopen, but avoid some glitches.
 
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index bae0646..b581261 100644 (file)
@@ -1,5 +1,5 @@
 /* Open a stream to a file.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #include <stdio.h>
 #undef __need_FILE
 
-static inline FILE *
+static FILE *
 orig_freopen (const char *filename, const char *mode, FILE *stream)
 {
   return freopen (filename, mode, stream);
 }
 
 /* Specification.  */
-#include <stdio.h>
+/* Write "stdio.h" here, not <stdio.h>, otherwise OSF/1 5.1 DTK cc eliminates
+   this include because of the preliminary #include <stdio.h> above.  */
+#include "stdio.h"
 
 #include <string.h>
 
diff --git a/lib/fstat.c b/lib/fstat.c
new file mode 100644 (file)
index 0000000..dc802f5
--- /dev/null
@@ -0,0 +1,88 @@
+/* fstat() replacement.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* If the user's config.h happens to include <sys/stat.h>, let it include only
+   the system's <sys/stat.h> here, so that orig_fstat doesn't recurse to
+   rpl_fstat.  */
+#define __need_system_sys_stat_h
+#include <config.h>
+
+/* Get the original definition of fstat.  It might be defined as a macro.  */
+#include <sys/types.h>
+#include <sys/stat.h>
+#if _GL_WINDOWS_64_BIT_ST_SIZE
+# undef stat /* avoid warning on mingw64 with _FILE_OFFSET_BITS=64 */
+# define stat _stati64
+# undef fstat /* avoid warning on mingw64 with _FILE_OFFSET_BITS=64 */
+# define fstat _fstati64
+#endif
+#undef __need_system_sys_stat_h
+
+static int
+orig_fstat (int fd, struct stat *buf)
+{
+  return fstat (fd, buf);
+}
+
+/* Specification.  */
+/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+   eliminates this include because of the preliminary #include <sys/stat.h>
+   above.  */
+#include "sys/stat.h"
+
+#include <errno.h>
+#include <unistd.h>
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+# include "msvc-inval.h"
+#endif
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static int
+fstat_nothrow (int fd, struct stat *buf)
+{
+  int result;
+
+  TRY_MSVC_INVAL
+    {
+      result = orig_fstat (fd, buf);
+    }
+  CATCH_MSVC_INVAL
+    {
+      result = -1;
+      errno = EBADF;
+    }
+  DONE_MSVC_INVAL;
+
+  return result;
+}
+#else
+# define fstat_nothrow orig_fstat
+#endif
+
+int
+rpl_fstat (int fd, struct stat *buf)
+{
+#if REPLACE_FCHDIR && REPLACE_OPEN_DIRECTORY
+  /* Handle the case when rpl_open() used a dummy file descriptor to work
+     around an open() that can't normally visit directories.  */
+  const char *name = _gl_directory_name (fd);
+  if (name != NULL)
+    return stat (name, buf);
+#endif
+
+  return fstat_nothrow (fd, buf);
+}
index 60e7f5a..9947405 100644 (file)
@@ -1,5 +1,5 @@
 /* getdtablesize() function for platforms that don't have it.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
 
 #include <stdio.h>
 
+#include "msvc-inval.h"
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static int
+_setmaxstdio_nothrow (int newmax)
+{
+  int result;
+
+  TRY_MSVC_INVAL
+    {
+      result = _setmaxstdio (newmax);
+    }
+  CATCH_MSVC_INVAL
+    {
+      result = -1;
+    }
+  DONE_MSVC_INVAL;
+
+  return result;
+}
+# define _setmaxstdio _setmaxstdio_nothrow
+#endif
+
 /* Cache for the previous getdtablesize () result.  */
 static int dtablesize;
 
index 7c9f704..ef0f4ce 100644 (file)
@@ -2,7 +2,7 @@
    NOTE: getopt is part of the C library, so if you don't know what
    "Keep this file name-space clean" means, talk to drepper@gnu.org
    before changing it!
-   Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2011 Free Software
+   Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2013 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
 # include <wchar.h>
 #endif
 
-/* This version of `getopt' appears to the caller like standard Unix `getopt'
+/* This version of 'getopt' appears to the caller like standard Unix 'getopt'
    but it behaves differently for the user, since it allows the user
    to intersperse the options with the other arguments.
 
-   As `getopt_long' works, it permutes the elements of ARGV so that,
+   As 'getopt_long' works, it permutes the elements of ARGV so that,
    when it is done, all the options precede everything else.  Thus
    all application programs are extended to handle flexible argument order.
 
-   Using `getopt' or setting the environment variable POSIXLY_CORRECT
+   Using 'getopt' or setting the environment variable POSIXLY_CORRECT
    disables permutation.
    Then the behavior is completely standard.
 
 
 #include "getopt_int.h"
 
-/* For communication from `getopt' to the caller.
-   When `getopt' finds an option that takes an argument,
+/* For communication from 'getopt' to the caller.
+   When 'getopt' finds an option that takes an argument,
    the argument value is returned here.
-   Also, when `ordering' is RETURN_IN_ORDER,
+   Also, when 'ordering' is RETURN_IN_ORDER,
    each non-option ARGV-element is returned here.  */
 
 char *optarg;
 
 /* Index in ARGV of the next element to be scanned.
    This is used for communication to and from the caller
-   and for communication between successive calls to `getopt'.
+   and for communication between successive calls to 'getopt'.
 
-   On entry to `getopt', zero means this is the first call; initialize.
+   On entry to 'getopt', zero means this is the first call; initialize.
 
-   When `getopt' returns -1, this is the index of the first of the
+   When 'getopt' returns -1, this is the index of the first of the
    non-option elements that the caller should itself scan.
 
-   Otherwise, `optind' communicates from one call to the next
+   Otherwise, 'optind' communicates from one call to the next
    how much of ARGV has been scanned so far.  */
 
 /* 1003.2 says this must be 1 before any call.  */
@@ -137,7 +137,7 @@ extern char *__getopt_nonoption_flags;
    The other is elements [last_nonopt,optind), which contains all
    the options processed since those non-options were skipped.
 
-   `first_nonopt' and `last_nonopt' are relocated so that they describe
+   'first_nonopt' and 'last_nonopt' are relocated so that they describe
    the new indices of the non-options in ARGV after they are moved.  */
 
 static void
@@ -154,7 +154,7 @@ exchange (char **argv, struct _getopt_data *d)
      but it consists of two parts that need to be swapped next.  */
 
 #if defined _LIBC && defined USE_NONOPTION_FLAGS
-  /* First make sure the handling of the `__getopt_nonoption_flags'
+  /* First make sure the handling of the '__getopt_nonoption_flags'
      string can work normally.  Our top argument must be in the range
      of the string.  */
   if (d->__nonoption_flags_len > 0 && top >= d->__nonoption_flags_max_len)
@@ -291,48 +291,48 @@ _getopt_initialize (int argc _GL_UNUSED,
 
    If an element of ARGV starts with '-', and is not exactly "-" or "--",
    then it is an option element.  The characters of this element
-   (aside from the initial '-') are option characters.  If `getopt'
+   (aside from the initial '-') are option characters.  If 'getopt'
    is called repeatedly, it returns successively each of the option characters
    from each of the option elements.
 
-   If `getopt' finds another option character, it returns that character,
-   updating `optind' and `nextchar' so that the next call to `getopt' can
+   If 'getopt' finds another option character, it returns that character,
+   updating 'optind' and 'nextchar' so that the next call to 'getopt' can
    resume the scan with the following option character or ARGV-element.
 
-   If there are no more option characters, `getopt' returns -1.
-   Then `optind' is the index in ARGV of the first ARGV-element
+   If there are no more option characters, 'getopt' returns -1.
+   Then 'optind' is the index in ARGV of the first ARGV-element
    that is not an option.  (The ARGV-elements have been permuted
    so that those that are not options now come last.)
 
    OPTSTRING is a string containing the legitimate option characters.
    If an option character is seen that is not listed in OPTSTRING,
-   return '?' after printing an error message.  If you set `opterr' to
+   return '?' after printing an error message.  If you set 'opterr' to
    zero, the error message is suppressed but we still return '?'.
 
    If a char in OPTSTRING is followed by a colon, that means it wants an arg,
    so the following text in the same ARGV-element, or the text of the following
-   ARGV-element, is returned in `optarg'.  Two colons mean an option that
+   ARGV-element, is returned in 'optarg'.  Two colons mean an option that
    wants an optional arg; if there is text in the current ARGV-element,
-   it is returned in `optarg', otherwise `optarg' is set to zero.
+   it is returned in 'optarg', otherwise 'optarg' is set to zero.
 
-   If OPTSTRING starts with `-' or `+', it requests different methods of
+   If OPTSTRING starts with '-' or '+', it requests different methods of
    handling the non-option ARGV-elements.
    See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
 
-   Long-named options begin with `--' instead of `-'.
+   Long-named options begin with '--' instead of '-'.
    Their names may be abbreviated as long as the abbreviation is unique
    or is an exact match for some defined option.  If they have an
    argument, it follows the option name in the same ARGV-element, separated
-   from the option name by a `=', or else the in next ARGV-element.
-   When `getopt' finds a long-named option, it returns 0 if that option's
-   `flag' field is nonzero, the value of the option's `val' field
-   if the `flag' field is zero.
+   from the option name by a '=', or else the in next ARGV-element.
+   When 'getopt' finds a long-named option, it returns 0 if that option's
+   'flag' field is nonzero, the value of the option's 'val' field
+   if the 'flag' field is zero.
 
    The elements of ARGV aren't really const, because we permute them.
    But we pretend they're const in the prototype to be compatible
    with other systems.
 
-   LONGOPTS is a vector of `struct option' terminated by an
+   LONGOPTS is a vector of 'struct option' terminated by an
    element containing a name which is zero.
 
    LONGIND returns the index in LONGOPT of the long-named option found.
@@ -409,7 +409,7 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
           d->__last_nonopt = d->optind;
         }
 
-      /* The special ARGV-element `--' means premature end of options.
+      /* The special ARGV-element '--' means premature end of options.
          Skip it like a null option,
          then exchange with previous non-options as if it were an option,
          then skip everything else like a non-option.  */
@@ -788,7 +788,7 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
     char c = *d->__nextchar++;
     const char *temp = strchr (optstring, c);
 
-    /* Increment `optind' when we start to process its last character.  */
+    /* Increment 'optind' when we start to process its last character.  */
     if (*d->__nextchar == '\0')
       ++d->optind;
 
@@ -887,7 +887,7 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
             return c;
           }
         else
-          /* We already incremented `d->optind' once;
+          /* We already incremented 'd->optind' once;
              increment it again when taking next ARGV-elt as argument.  */
           d->optarg = argv[d->optind++];
 
@@ -1114,7 +1114,7 @@ _getopt_internal_r (int argc, char **argv, const char *optstring,
                   c = '?';
               }
             else
-              /* We already incremented `optind' once;
+              /* We already incremented 'optind' once;
                  increment it again when taking next ARGV-elt as argument.  */
               d->optarg = argv[d->optind++];
             d->__nextchar = NULL;
@@ -1177,7 +1177,7 @@ __posix_getopt (int argc, char *const *argv, const char *optstring)
 #ifdef TEST
 
 /* Compile with -DTEST to make an executable for use in testing
-   the above definition of `getopt'.  */
+   the above definition of 'getopt'.  */
 
 int
 main (int argc, char **argv)
index 0f3918a..d9c7d81 100644 (file)
@@ -1,5 +1,5 @@
 /* Declarations for getopt.
-   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2011 Free Software
+   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2013 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -49,7 +49,9 @@
    linkers.  */
 #if defined __GETOPT_PREFIX && !defined __need_getopt
 # if !@HAVE_GETOPT_H@
+#  define __need_system_stdlib_h
 #  include <stdlib.h>
+#  undef __need_system_stdlib_h
 #  include <stdio.h>
 #  include <unistd.h>
 # endif
@@ -82,7 +84,7 @@
    getopt_long_only can permute argv; this is required for backward
    compatibility (e.g., for LSB 2.0.1).
 
-   This used to be `#if defined __GETOPT_PREFIX && !defined __need_getopt',
+   This used to be '#if defined __GETOPT_PREFIX && !defined __need_getopt',
    but it caused redefinition warnings if both unistd.h and getopt.h were
    included, since unistd.h includes getopt.h having previously defined
    __need_getopt.
 extern "C" {
 #endif
 
-/* For communication from `getopt' to the caller.
-   When `getopt' finds an option that takes an argument,
+/* For communication from 'getopt' to the caller.
+   When 'getopt' finds an option that takes an argument,
    the argument value is returned here.
-   Also, when `ordering' is RETURN_IN_ORDER,
+   Also, when 'ordering' is RETURN_IN_ORDER,
    each non-option ARGV-element is returned here.  */
 
 extern char *optarg;
 
 /* Index in ARGV of the next element to be scanned.
    This is used for communication to and from the caller
-   and for communication between successive calls to `getopt'.
+   and for communication between successive calls to 'getopt'.
 
-   On entry to `getopt', zero means this is the first call; initialize.
+   On entry to 'getopt', zero means this is the first call; initialize.
 
-   When `getopt' returns -1, this is the index of the first of the
+   When 'getopt' returns -1, this is the index of the first of the
    non-option elements that the caller should itself scan.
 
-   Otherwise, `optind' communicates from one call to the next
+   Otherwise, 'optind' communicates from one call to the next
    how much of ARGV has been scanned so far.  */
 
 extern int optind;
 
-/* Callers store zero here to inhibit the error message `getopt' prints
+/* Callers store zero here to inhibit the error message 'getopt' prints
    for unrecognized options.  */
 
 extern int opterr;
@@ -162,24 +164,24 @@ extern int optopt;
 #ifndef __need_getopt
 /* Describe the long-named options requested by the application.
    The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
-   of `struct option' terminated by an element containing a name which is
+   of 'struct option' terminated by an element containing a name which is
    zero.
 
-   The field `has_arg' is:
+   The field 'has_arg' is:
    no_argument          (or 0) if the option does not take an argument,
    required_argument    (or 1) if the option requires an argument,
    optional_argument    (or 2) if the option takes an optional argument.
 
-   If the field `flag' is not NULL, it points to a variable that is set
-   to the value given in the field `val' when the option is found, but
+   If the field 'flag' is not NULL, it points to a variable that is set
+   to the value given in the field 'val' when the option is found, but
    left unchanged if the option is not found.
 
-   To have a long-named option do something other than set an `int' to
-   a compiled-in constant, such as set a value from `optarg', set the
-   option's `flag' field to zero and its `val' field to a nonzero
+   To have a long-named option do something other than set an 'int' to
+   a compiled-in constant, such as set a value from 'optarg', set the
+   option's 'flag' field to zero and its 'val' field to a nonzero
    value (the equivalent single-letter option character, if there is
-   one).  For long options that have a zero `flag' field, `getopt'
-   returns the contents of the `val' field.  */
+   one).  For long options that have a zero 'flag' field, 'getopt'
+   returns the contents of the 'val' field.  */
 
 # if !GNULIB_defined_struct_option
 struct option
@@ -194,7 +196,7 @@ struct option
 #  define GNULIB_defined_struct_option 1
 # endif
 
-/* Names for the values of the `has_arg' field of `struct option'.  */
+/* Names for the values of the 'has_arg' field of 'struct option'.  */
 
 # define no_argument            0
 # define required_argument      1
@@ -208,23 +210,23 @@ struct option
 
    Return the option character from OPTS just read.  Return -1 when
    there are no more options.  For unrecognized options, or options
-   missing arguments, `optopt' is set to the option letter, and '?' is
+   missing arguments, 'optopt' is set to the option letter, and '?' is
    returned.
 
    The OPTS string is a list of characters which are recognized option
    letters, optionally followed by colons, specifying that that letter
-   takes an argument, to be placed in `optarg'.
+   takes an argument, to be placed in 'optarg'.
 
    If a letter in OPTS is followed by two colons, its argument is
-   optional.  This behavior is specific to the GNU `getopt'.
+   optional.  This behavior is specific to the GNU 'getopt'.
 
-   The argument `--' causes premature termination of argument
-   scanning, explicitly telling `getopt' that there are no more
+   The argument '--' causes premature termination of argument
+   scanning, explicitly telling 'getopt' that there are no more
    options.
 
-   If OPTS begins with `-', then non-option arguments are treated as
+   If OPTS begins with '-', then non-option arguments are treated as
    arguments to the option '\1'.  This behavior is specific to the GNU
-   `getopt'.  If OPTS begins with `+', or POSIXLY_CORRECT is set in
+   'getopt'.  If OPTS begins with '+', or POSIXLY_CORRECT is set in
    the environment, then do not permute arguments.  */
 
 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
index 3656802..55a6b4e 100644 (file)
@@ -1,5 +1,5 @@
 /* getopt_long and getopt_long_only entry points for GNU getopt.
-   Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2011 Free Software
+   Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2013 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -141,11 +141,11 @@ main (int argc, char **argv)
           break;
 
         case 'c':
-          printf ("option c with value `%s'\n", optarg);
+          printf ("option c with value '%s'\n", optarg);
           break;
 
         case 'd':
-          printf ("option d with value `%s'\n", optarg);
+          printf ("option d with value '%s'\n", optarg);
           break;
 
         case '?':
index 9f0c713..a6e4b9e 100644 (file)
@@ -1,5 +1,5 @@
 /* Internal declarations for getopt.
-   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2011 Free Software
+   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2013 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -40,7 +40,7 @@ extern int _getopt_internal (int ___argc, char **___argv,
    stop option processing when the first non-option is seen.
    This is what Unix does.
    This mode of operation is selected by either setting the environment
-   variable POSIXLY_CORRECT, or using `+' as the first character
+   variable POSIXLY_CORRECT, or using '+' as the first character
    of the list of option characters, or by calling getopt.
 
    PERMUTE is the default.  We permute the contents of ARGV as we
@@ -52,12 +52,12 @@ extern int _getopt_internal (int ___argc, char **___argv,
    written to expect options and other ARGV-elements in any order
    and that care about the ordering of the two.  We describe each
    non-option ARGV-element as if it were the argument of an option
-   with character code 1.  Using `-' as the first character of the
+   with character code 1.  Using '-' as the first character of the
    list of option characters selects this mode of operation.
 
-   The special argument `--' forces an end of option-scanning regardless
-   of the value of `ordering'.  In the case of RETURN_IN_ORDER, only
-   `--' can cause `getopt' to return -1 with `optind' != ARGC.  */
+   The special argument '--' forces an end of option-scanning regardless
+   of the value of 'ordering'.  In the case of RETURN_IN_ORDER, only
+   '--' can cause 'getopt' to return -1 with 'optind' != ARGC.  */
 
 enum __ord
   {
@@ -99,8 +99,8 @@ struct _getopt_data
   /* Handle permutation of arguments.  */
 
   /* Describe the part of ARGV that contains non-options that have
-     been skipped.  `first_nonopt' is the index in ARGV of the first
-     of them; `last_nonopt' is the index after the last of them.  */
+     been skipped.  'first_nonopt' is the index in ARGV of the first
+     of them; 'last_nonopt' is the index after the last of them.  */
 
   int __first_nonopt;
   int __last_nonopt;
index ef04443..d021571 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Convenience header for conditional use of GNU <libintl.h>.
-   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2011 Free Software
+   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _LIBGETTEXT_H
 #define _LIBGETTEXT_H 1
@@ -186,9 +183,12 @@ npgettext_aux (const char *domain,
 
 #include <string.h>
 
-#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \
-  (((__GNUC__ >= 3 || __GNUG__ >= 2) && !__STRICT_ANSI__) \
-   /* || __STDC_VERSION__ >= 199901L */ )
+#if (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \
+     /* || __STDC_VERSION__ >= 199901L */ )
+# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1
+#else
+# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0
+#endif
 
 #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
 #include <stdlib.h>
index 6dbb457..0a642dd 100644 (file)
@@ -1,6 +1,6 @@
 /* gettime -- get the system clock
 
-   Copyright (C) 2002, 2004-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 7532c0c..ad65c6d 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Provide gettimeofday for systems that don't have it or for which it's broken.
 
-   Copyright (C) 2001-2003, 2005-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* written by Jim Meyering */
 
@@ -112,7 +109,18 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz)
   struct tm save = *localtime_buffer_addr;
 # endif
 
+# if defined timeval /* 'struct timeval' overridden by gnulib?  */
+#  undef timeval
+  struct timeval otv;
+  int result = gettimeofday (&otv, (struct timezone *) tz);
+  if (result == 0)
+    {
+      tv->tv_sec = otv.tv_sec;
+      tv->tv_usec = otv.tv_usec;
+    }
+# else
   int result = gettimeofday (tv, (struct timezone *) tz);
+# endif
 
 # if GETTIMEOFDAY_CLOBBERS_LOCALTIME
   *localtime_buffer_addr = save;
index 083a1ba..6fc8a96 100644 (file)
@@ -1,33 +1,30 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
 #
-# This file is free software, distributed under the terms of the GNU
-# General Public License.  As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file.  If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libdiffutils --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=build-aux --with-tests --avoid=localename --avoid=lock --no-conditional-dependencies --no-libtool --macro-prefix=gl announce-gen c-stack config-h diffseq dirname do-release-commit-and-tag dup2 error exclude exitfail extensions fcntl fdl file-type filenamecat fnmatch-gnu getopt gettext-h gettime git-version-gen gitlog-to-changelog gnu-make gnu-web-doc-update gnumakefile gnupload hard-locale inttostr inttypes largefile maintainer-makefile manywarnings mbrtowc mkstemp mktime progname propername readme-release regex sh-quote signal sigprocmask stat-macros stat-time stdint strcase strftime strptime strtoumax sys_wait unistd unlocked-io update-copyright verify version-etc version-etc-fsf wcwidth xalloc xfreopen xstrtoumax
-
-AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects
-
-SUBDIRS =
-noinst_HEADERS =
-noinst_LIBRARIES =
-noinst_LTLIBRARIES =
-EXTRA_DIST =
-BUILT_SOURCES =
-SUFFIXES =
-MOSTLYCLEANFILES = core *.stackdump
-MOSTLYCLEANDIRS =
-CLEANFILES =
-DISTCLEANFILES =
-MAINTAINERCLEANFILES =
-
-AM_CPPFLAGS =
-AM_CFLAGS =
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libdiffutils --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=build-aux --with-tests --avoid=localename --avoid=lock --makefile-name=gnulib.mk --no-conditional-dependencies --no-libtool --macro-prefix=gl announce-gen binary-io c-stack config-h diffseq dirname do-release-commit-and-tag dup2 error exclude exitfail extensions fcntl fdl file-type filenamecat fnmatch-gnu getopt gettext-h gettime git-version-gen gitlog-to-changelog gnu-make gnu-web-doc-update gnumakefile gnupload hard-locale inttostr inttypes largefile lstat maintainer-makefile manywarnings mbrtowc mkstemp mktime progname propername readme-release regex sh-quote signal stat stat-macros stat-time stdint strcase strftime strptime strtoumax sys_wait system-quote unistd unlocked-io update-copyright vararrays verify version-etc version-etc-fsf wcwidth xalloc xfreopen xreadlink xstrtoumax xvasprintf
+
+
+MOSTLYCLEANFILES += core *.stackdump
 
 noinst_LIBRARIES += libdiffutils.a
 
@@ -70,6 +67,14 @@ EXTRA_DIST += alloca.in.h
 
 ## end   gnulib module alloca-opt
 
+## begin gnulib module allocator
+
+libdiffutils_a_SOURCES += allocator.c
+
+EXTRA_DIST += allocator.h
+
+## end   gnulib module allocator
+
 ## begin gnulib module announce-gen
 
 
@@ -77,9 +82,23 @@ EXTRA_DIST += $(top_srcdir)/build-aux/announce-gen
 
 ## end   gnulib module announce-gen
 
+## begin gnulib module areadlink
+
+libdiffutils_a_SOURCES += areadlink.c
+
+EXTRA_DIST += areadlink.h
+
+## end   gnulib module areadlink
+
+## begin gnulib module binary-io
+
+libdiffutils_a_SOURCES += binary-io.h binary-io.c
+
+## end   gnulib module binary-io
+
 ## begin gnulib module bitrotate
 
-libdiffutils_a_SOURCES += bitrotate.h
+libdiffutils_a_SOURCES += bitrotate.h bitrotate.c
 
 ## end   gnulib module bitrotate
 
@@ -110,6 +129,30 @@ libdiffutils_a_SOURCES += c-strcase.h c-strcasecmp.c c-strncasecmp.c
 
 ## end   gnulib module c-strcase
 
+## begin gnulib module c-strcaseeq
+
+
+EXTRA_DIST += c-strcaseeq.h
+
+## end   gnulib module c-strcaseeq
+
+## begin gnulib module careadlinkat
+
+libdiffutils_a_SOURCES += careadlinkat.c
+
+EXTRA_DIST += careadlinkat.h
+
+## end   gnulib module careadlinkat
+
+## begin gnulib module close
+
+
+EXTRA_DIST += close.c
+
+EXTRA_libdiffutils_a_SOURCES += close.c
+
+## end   gnulib module close
+
 ## begin gnulib module configmake
 
 # Listed in the same order as the GNU makefile conventions, and
@@ -146,7 +189,7 @@ configmake.h: Makefile
          echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \
          echo '#define PKGLIBDIR "$(pkglibdir)"'; \
          echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \
-       } | sed '/""/d' > $@-t
+       } | sed '/""/d' > $@-t && \
        mv -f $@-t $@
 
 BUILT_SOURCES += configmake.h
@@ -304,6 +347,14 @@ EXTRA_DIST += fcntl.in.h
 
 ## end   gnulib module fcntl-h
 
+## begin gnulib module fd-hook
+
+libdiffutils_a_SOURCES += fd-hook.c
+
+EXTRA_DIST += fd-hook.h
+
+## end   gnulib module fd-hook
+
 ## begin gnulib module file-type
 
 libdiffutils_a_SOURCES += file-type.c
@@ -326,6 +377,37 @@ EXTRA_DIST += filenamecat.h
 
 ## end   gnulib module filenamecat-lgpl
 
+## begin gnulib module float
+
+BUILT_SOURCES += $(FLOAT_H)
+
+# We need the following in order to create <float.h> when the system
+# doesn't have one that works with the given compiler.
+if GL_GENERATE_FLOAT_H
+float.h: float.in.h $(top_builddir)/config.status
+       $(AM_V_GEN)rm -f $@-t $@ && \
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \
+             -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \
+             < $(srcdir)/float.in.h; \
+       } > $@-t && \
+       mv $@-t $@
+else
+float.h: $(top_builddir)/config.status
+       rm -f $@
+endif
+MOSTLYCLEANFILES += float.h float.h-t
+
+EXTRA_DIST += float.c float.in.h itold.c
+
+EXTRA_libdiffutils_a_SOURCES += float.c itold.c
+
+## end   gnulib module float
+
 ## begin gnulib module fnmatch
 
 BUILT_SOURCES += $(FNMATCH_H)
@@ -369,6 +451,15 @@ EXTRA_DIST += stdio--.h stdio-safer.h
 
 ## end   gnulib module freopen-safer
 
+## begin gnulib module fstat
+
+
+EXTRA_DIST += fstat.c
+
+EXTRA_libdiffutils_a_SOURCES += fstat.c
+
+## end   gnulib module fstat
+
 ## begin gnulib module gendocs
 
 
@@ -471,7 +562,7 @@ EXTRA_DIST += $(top_srcdir)/build-aux/gnu-web-doc-update
 
 distclean-local: clean-GNUmakefile
 clean-GNUmakefile:
-       test x'$(VPATH)' != x && rm -f $(top_builddir)/GNUmakefile || :
+       test '$(srcdir)' = . || rm -f $(top_builddir)/GNUmakefile
 
 EXTRA_DIST += $(top_srcdir)/GNUmakefile
 
@@ -612,7 +703,7 @@ BUILT_SOURCES += inttypes.h
 
 # We need the following in order to create <inttypes.h> when the system
 # doesn't have one that works with the given compiler.
-inttypes.h: inttypes.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG_NONNULL_H)
+inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
        $(AM_V_GEN)rm -f $@-t $@ && \
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
          sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
@@ -633,10 +724,12 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG_N
              -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
              -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
              -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
+             -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
              -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
              -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
              -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
              -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
              -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
              < $(srcdir)/inttypes.in.h; \
@@ -764,6 +857,50 @@ EXTRA_DIST += config.charset ref-add.sin ref-del.sin
 
 ## end   gnulib module localcharset
 
+## begin gnulib module locale
+
+BUILT_SOURCES += locale.h
+
+# We need the following in order to create <locale.h> when the system
+# doesn't have one that provides all definitions.
+locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(AM_V_GEN)rm -f $@-t $@ && \
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \
+             -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \
+             -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \
+             -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \
+             -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
+             -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
+             -e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \
+             -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \
+             -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
+             -e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $(srcdir)/locale.in.h; \
+       } > $@-t && \
+       mv $@-t $@
+MOSTLYCLEANFILES += locale.h locale.h-t
+
+EXTRA_DIST += locale.in.h
+
+## end   gnulib module locale
+
+## begin gnulib module localeconv
+
+
+EXTRA_DIST += localeconv.c
+
+EXTRA_libdiffutils_a_SOURCES += localeconv.c
+
+## end   gnulib module localeconv
+
 ## begin gnulib module lstat
 
 
@@ -815,7 +952,7 @@ EXTRA_DIST += mbchar.h
 
 ## begin gnulib module mbiter
 
-libdiffutils_a_SOURCES += mbiter.h
+libdiffutils_a_SOURCES += mbiter.h mbiter.c
 
 ## end   gnulib module mbiter
 
@@ -877,7 +1014,7 @@ EXTRA_libdiffutils_a_SOURCES += mbtowc.c
 
 ## begin gnulib module mbuiter
 
-libdiffutils_a_SOURCES += mbuiter.h
+libdiffutils_a_SOURCES += mbuiter.h mbuiter.c
 
 ## end   gnulib module mbuiter
 
@@ -908,6 +1045,24 @@ EXTRA_libdiffutils_a_SOURCES += mktime.c
 
 ## end   gnulib module mktime
 
+## begin gnulib module msvc-inval
+
+
+EXTRA_DIST += msvc-inval.c msvc-inval.h
+
+EXTRA_libdiffutils_a_SOURCES += msvc-inval.c
+
+## end   gnulib module msvc-inval
+
+## begin gnulib module msvc-nothrow
+
+
+EXTRA_DIST += msvc-nothrow.c msvc-nothrow.h
+
+EXTRA_libdiffutils_a_SOURCES += msvc-nothrow.c
+
+## end   gnulib module msvc-nothrow
+
 ## begin gnulib module nl_langinfo
 
 
@@ -926,6 +1081,13 @@ EXTRA_libdiffutils_a_SOURCES += open.c
 
 ## end   gnulib module open
 
+## begin gnulib module pathmax
+
+
+EXTRA_DIST += pathmax.h
+
+## end   gnulib module pathmax
+
 ## begin gnulib module progname
 
 libdiffutils_a_SOURCES += progname.h progname.c
@@ -940,7 +1102,6 @@ libdiffutils_a_SOURCES += propername.h propername.c
 
 ## begin gnulib module quote
 
-libdiffutils_a_SOURCES += quote.c
 
 EXTRA_DIST += quote.h
 
@@ -950,10 +1111,28 @@ EXTRA_DIST += quote.h
 
 libdiffutils_a_SOURCES += quotearg.c
 
-EXTRA_DIST += quotearg.h
+EXTRA_DIST += quote.h quotearg.h
 
 ## end   gnulib module quotearg
 
+## begin gnulib module raise
+
+
+EXTRA_DIST += raise.c
+
+EXTRA_libdiffutils_a_SOURCES += raise.c
+
+## end   gnulib module raise
+
+## begin gnulib module readlink
+
+
+EXTRA_DIST += readlink.c
+
+EXTRA_libdiffutils_a_SOURCES += readlink.c
+
+## end   gnulib module readlink
+
 ## begin gnulib module readme-release
 
 
@@ -970,6 +1149,15 @@ EXTRA_libdiffutils_a_SOURCES += regcomp.c regex.c regex_internal.c regexec.c
 
 ## end   gnulib module regex
 
+## begin gnulib module secure_getenv
+
+
+EXTRA_DIST += secure_getenv.c
+
+EXTRA_libdiffutils_a_SOURCES += secure_getenv.c
+
+## end   gnulib module secure_getenv
+
 ## begin gnulib module sh-quote
 
 libdiffutils_a_SOURCES += sh-quote.h sh-quote.c
@@ -978,6 +1166,7 @@ libdiffutils_a_SOURCES += sh-quote.h sh-quote.c
 
 ## begin gnulib module sigaction
 
+libdiffutils_a_SOURCES += sig-handler.c
 
 EXTRA_DIST += sig-handler.h sigaction.c
 
@@ -985,7 +1174,7 @@ EXTRA_libdiffutils_a_SOURCES += sigaction.c
 
 ## end   gnulib module sigaction
 
-## begin gnulib module signal
+## begin gnulib module signal-h
 
 BUILT_SOURCES += signal.h
 
@@ -1000,11 +1189,13 @@ signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \
              -e 's|@''GNULIB_PTHREAD_SIGMASK''@|$(GNULIB_PTHREAD_SIGMASK)|g' \
+             -e 's|@''GNULIB_RAISE''@|$(GNULIB_RAISE)|g' \
              -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \
              -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \
              -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \
              -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \
              -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \
+             -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \
              -e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \
              -e 's|@''HAVE_SIGINFO_T''@|$(HAVE_SIGINFO_T)|g' \
              -e 's|@''HAVE_SIGACTION''@|$(HAVE_SIGACTION)|g' \
@@ -1012,6 +1203,7 @@ signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|$(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T)|g' \
              -e 's|@''HAVE_SIGHANDLER_T''@|$(HAVE_SIGHANDLER_T)|g' \
              -e 's|@''REPLACE_PTHREAD_SIGMASK''@|$(REPLACE_PTHREAD_SIGMASK)|g' \
+             -e 's|@''REPLACE_RAISE''@|$(REPLACE_RAISE)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
              -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
@@ -1022,7 +1214,7 @@ MOSTLYCLEANFILES += signal.h signal.h-t
 
 EXTRA_DIST += signal.in.h
 
-## end   gnulib module signal
+## end   gnulib module signal-h
 
 ## begin gnulib module sigprocmask
 
@@ -1033,6 +1225,12 @@ EXTRA_libdiffutils_a_SOURCES += sigprocmask.c
 
 ## end   gnulib module sigprocmask
 
+## begin gnulib module size_max
+
+libdiffutils_a_SOURCES += size_max.h
+
+## end   gnulib module size_max
+
 ## begin gnulib module snippet/_Noreturn
 
 # Because this Makefile snippet defines a variable used by other
@@ -1157,6 +1355,7 @@ EXTRA_DIST += stat-macros.h
 
 ## begin gnulib module stat-time
 
+libdiffutils_a_SOURCES += stat-time.c
 
 EXTRA_DIST += stat-time.h
 
@@ -1309,6 +1508,7 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
              -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \
              -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \
+             -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \
              -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \
              -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \
              -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \
@@ -1330,9 +1530,9 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
              -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
              -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
-             -e 's/@''GNULIB_GETS''@/$(GNULIB_GETS)/g' \
              -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
              -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
              -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \
              -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \
              -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \
@@ -1371,11 +1571,14 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
              -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
              -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
+             -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \
+             -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \
              -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
              -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
              -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
              -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
              -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
+             -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
              -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
              -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
              -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
@@ -1446,12 +1649,16 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
              -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
              -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
              -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
+             -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
              -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
+             -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
              -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
+             -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \
              -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
              -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
              -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
              -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
+             -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \
              -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
              -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
              -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
@@ -1472,11 +1679,15 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
              -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
              -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
              -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+             -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
              -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
+             -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+             -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
              -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
              -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
              -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
              -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
+             -e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \
              -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
              -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
              -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
@@ -1490,7 +1701,10 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
              -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
              -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
              -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
+             -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \
+             -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
              -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+             -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
              -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
              -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
              -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
@@ -1669,6 +1883,7 @@ strings.h: strings.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE
        $(AM_V_GEN)rm -f $@-t $@ && \
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
          sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''HAVE_STRINGS_H''@|$(HAVE_STRINGS_H)|g' \
              -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
@@ -1755,7 +1970,9 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
+             -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \
              -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \
+             -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \
              -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \
              -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \
              -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \
@@ -1817,9 +2034,11 @@ sys/time.h: sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \
              -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
+             -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \
              -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \
              -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \
              -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \
+             -e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
              -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
@@ -1832,6 +2051,31 @@ EXTRA_DIST += sys_time.in.h
 
 ## end   gnulib module sys_time
 
+## begin gnulib module sys_types
+
+BUILT_SOURCES += sys/types.h
+
+# We need the following in order to create <sys/types.h> when the system
+# doesn't have one that works with the given compiler.
+sys/types.h: sys_types.in.h $(top_builddir)/config.status
+       $(AM_V_at)$(MKDIR_P) sys
+       $(AM_V_GEN)rm -f $@-t $@ && \
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
+             -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
+             < $(srcdir)/sys_types.in.h; \
+       } > $@-t && \
+       mv $@-t $@
+MOSTLYCLEANFILES += sys/types.h sys/types.h-t
+
+EXTRA_DIST += sys_types.in.h
+
+## end   gnulib module sys_types
+
 ## begin gnulib module sys_wait
 
 BUILT_SOURCES += sys/wait.h
@@ -1860,6 +2104,12 @@ EXTRA_DIST += sys_wait.in.h
 
 ## end   gnulib module sys_wait
 
+## begin gnulib module system-quote
+
+libdiffutils_a_SOURCES += system-quote.h system-quote.c
+
+## end   gnulib module system-quote
+
 ## begin gnulib module tempname
 
 libdiffutils_a_SOURCES += tempname.c
@@ -1921,6 +2171,7 @@ EXTRA_libdiffutils_a_SOURCES += time_r.c
 
 ## begin gnulib module timespec
 
+libdiffutils_a_SOURCES += timespec.c
 
 EXTRA_DIST += timespec.h
 
@@ -1937,6 +2188,7 @@ EXTRA_DIST += trim.h
 ## begin gnulib module unistd
 
 BUILT_SOURCES += unistd.h
+libdiffutils_a_SOURCES += unistd.c
 
 # We need the following in order to create an empty placeholder for
 # <unistd.h> when the system doesn't have one.
@@ -1949,8 +2201,11 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
+             -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
+             -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \
              -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \
              -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \
+             -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \
              -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \
              -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \
              -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \
@@ -1958,6 +2213,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \
              -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \
              -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \
+             -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \
              -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \
              -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \
              -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \
@@ -1970,6 +2226,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
              -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
              -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
+             -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \
              -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \
              -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \
              -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \
@@ -1982,11 +2239,12 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \
              -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \
              -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \
+             -e 's/@''GNULIB_SETHOSTNAME''@/$(GNULIB_SETHOSTNAME)/g' \
              -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \
              -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
              -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
              -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
-             -e 's/@''GNULIB_UNISTD_H_GETOPT''@/$(GNULIB_UNISTD_H_GETOPT)/g' \
+             -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \
              -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
              -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \
              -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \
@@ -2001,6 +2259,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
              -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
              -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
+             -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \
              -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
              -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
              -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
@@ -2018,6 +2277,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \
              -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
              -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \
+             -e 's|@''HAVE_SETHOSTNAME''@|$(HAVE_SETHOSTNAME)|g' \
              -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
              -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
              -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
@@ -2025,10 +2285,12 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
              -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
              -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
+             -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
              -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
              -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
              -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
              -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
+             -e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \
              -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
              -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
              -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
@@ -2038,11 +2300,13 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
              -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
              -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
+             -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
              -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
              -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
              -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
              -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
              -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
+             -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
              -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
              -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
              -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
@@ -2167,6 +2431,24 @@ EXTRA_DIST += $(top_srcdir)/build-aux/useless-if-before-free
 
 ## end   gnulib module useless-if-before-free
 
+## begin gnulib module vasnprintf
+
+
+EXTRA_DIST += asnprintf.c float+.h printf-args.c printf-args.h printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h
+
+EXTRA_libdiffutils_a_SOURCES += asnprintf.c printf-args.c printf-parse.c vasnprintf.c
+
+## end   gnulib module vasnprintf
+
+## begin gnulib module vasprintf
+
+
+EXTRA_DIST += asprintf.c vasprintf.c
+
+EXTRA_libdiffutils_a_SOURCES += asprintf.c vasprintf.c
+
+## end   gnulib module vasprintf
+
 ## begin gnulib module vc-list-files
 
 
@@ -2326,6 +2608,7 @@ EXTRA_libdiffutils_a_SOURCES += wcrtomb.c
 ## begin gnulib module wctype-h
 
 BUILT_SOURCES += wctype.h
+libdiffutils_a_SOURCES += wctype-h.c
 
 # We need the following in order to create <wctype.h> when the system
 # doesn't have one that works with the given compiler.
@@ -2398,6 +2681,20 @@ libdiffutils_a_SOURCES += xfreopen.c xfreopen.h
 
 ## end   gnulib module xfreopen
 
+## begin gnulib module xreadlink
+
+libdiffutils_a_SOURCES += xreadlink.c
+
+EXTRA_DIST += xreadlink.h
+
+## end   gnulib module xreadlink
+
+## begin gnulib module xsize
+
+libdiffutils_a_SOURCES += xsize.h xsize.c
+
+## end   gnulib module xsize
+
 ## begin gnulib module xstriconv
 
 libdiffutils_a_SOURCES += xstriconv.h xstriconv.c
@@ -2424,6 +2721,14 @@ libdiffutils_a_SOURCES += xstrtoumax.c
 
 ## end   gnulib module xstrtoumax
 
+## begin gnulib module xvasprintf
+
+libdiffutils_a_SOURCES += xvasprintf.h xvasprintf.c xasprintf.c
+
+EXTRA_DIST += xalloc.h
+
+## end   gnulib module xvasprintf
+
 
 mostlyclean-local: mostlyclean-generic
        @for dir in '' $(MOSTLYCLEANDIRS); do \
index 26e614b..d55658d 100644 (file)
@@ -1,6 +1,6 @@
 /* hard-locale.c -- Determine whether a locale is hard.
 
-   Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2011 Free Software
+   Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index 7540628..1d43607 100644 (file)
@@ -1,6 +1,6 @@
 /* Determine whether a locale is hard.
 
-   Copyright (C) 1999, 2003-2004, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2003-2004, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 4d76f76..685928e 100644 (file)
@@ -1,6 +1,6 @@
 /* hash - hashing table processing.
 
-   Copyright (C) 1998-2004, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1998-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc.
 
    Written by Jim Meyering, 1992.
 
@@ -63,7 +63,7 @@ struct hash_table
     /* Tuning arguments, kept in a physically separate structure.  */
     const Hash_tuning *tuning;
 
-    /* Three functions are given to `hash_initialize', see the documentation
+    /* Three functions are given to 'hash_initialize', see the documentation
        block for this function.  In a word, HASHER randomizes a user entry
        into a number up from 0 up to some maximum minus 1; COMPARATOR returns
        true if two user entries compare equally; and DATA_FREER is the cleanup
@@ -87,23 +87,23 @@ struct hash_table
    some user-provided data (also called a user entry).  An entry indistinctly
    refers to both the internal entry and its associated user entry.  A user
    entry contents may be hashed by a randomization function (the hashing
-   function, or just `hasher' for short) into a number (or `slot') between 0
+   function, or just "hasher" for short) into a number (or "slot") between 0
    and the current table size.  At each slot position in the hash table,
    starts a linked chain of entries for which the user data all hash to this
    slot.  A bucket is the collection of all entries hashing to the same slot.
 
-   A good `hasher' function will distribute entries rather evenly in buckets.
+   A good "hasher" function will distribute entries rather evenly in buckets.
    In the ideal case, the length of each bucket is roughly the number of
    entries divided by the table size.  Finding the slot for a data is usually
-   done in constant time by the `hasher', and the later finding of a precise
+   done in constant time by the "hasher", and the later finding of a precise
    entry is linear in time with the size of the bucket.  Consequently, a
    larger hash table size (that is, a larger number of buckets) is prone to
-   yielding shorter chains, *given* the `hasher' function behaves properly.
+   yielding shorter chains, *given* the "hasher" function behaves properly.
 
    Long buckets slow down the lookup algorithm.  One might use big hash table
    sizes in hope to reduce the average length of buckets, but this might
    become inordinate, as unused slots in the hash table take some space.  The
-   best bet is to make sure you are using a good `hasher' function (beware
+   best bet is to make sure you are using a good "hasher" function (beware
    that those are not that easy to write! :-), and to use a table size
    larger than the actual number of entries.  */
 
@@ -113,8 +113,8 @@ struct hash_table
    1.0).  The growth threshold defaults to 0.8, and the growth factor
    defaults to 1.414, meaning that the table will have doubled its size
    every second time 80% of the buckets get used.  */
-#define DEFAULT_GROWTH_THRESHOLD 0.8
-#define DEFAULT_GROWTH_FACTOR 1.414
+#define DEFAULT_GROWTH_THRESHOLD 0.8f
+#define DEFAULT_GROWTH_FACTOR 1.414f
 
 /* If a deletion empties a bucket and causes the ratio of used buckets to
    table size to become smaller than the shrink threshold (a number between
@@ -122,8 +122,8 @@ struct hash_table
    number greater than the shrink threshold but smaller than 1.0).  The shrink
    threshold and factor default to 0.0 and 1.0, meaning that the table never
    shrinks.  */
-#define DEFAULT_SHRINK_THRESHOLD 0.0
-#define DEFAULT_SHRINK_FACTOR 1.0
+#define DEFAULT_SHRINK_THRESHOLD 0.0f
+#define DEFAULT_SHRINK_FACTOR 1.0f
 
 /* Use this to initialize or reset a TUNING structure to
    some sensible values. */
@@ -300,7 +300,7 @@ hash_get_first (const Hash_table *table)
 }
 
 /* Return the user data for the entry following ENTRY, where ENTRY has been
-   returned by a previous call to either `hash_get_first' or `hash_get_next'.
+   returned by a previous call to either 'hash_get_first' or 'hash_get_next'.
    Return NULL if there are no more entries.  */
 
 void *
@@ -419,9 +419,9 @@ hash_string (const char *string, size_t n_buckets)
 
 #else /* not USE_DIFF_HASH */
 
-/* This one comes from `recode', and performs a bit better than the above as
+/* This one comes from 'recode', and performs a bit better than the above as
    per a few experiments.  It is inspired from a hashing routine found in the
-   very old Cyber `snoop', itself written in typical Greg Mansfield style.
+   very old Cyber 'snoop', itself written in typical Greg Mansfield style.
    (By the way, what happened to this excellent man?  Is he still alive?)  */
 
 size_t
@@ -440,7 +440,7 @@ hash_string (const char *string, size_t n_buckets)
 /* Return true if CANDIDATE is a prime number.  CANDIDATE should be an odd
    number at least equal to 11.  */
 
-static bool
+static bool _GL_ATTRIBUTE_CONST
 is_prime (size_t candidate)
 {
   size_t divisor = 3;
@@ -459,7 +459,7 @@ is_prime (size_t candidate)
 /* Round a given CANDIDATE number up to the nearest prime, and return that
    prime.  Primes lower than 10 are merely skipped.  */
 
-static size_t
+static size_t _GL_ATTRIBUTE_CONST
 next_prime (size_t candidate)
 {
   /* Skip small primes.  */
@@ -540,7 +540,7 @@ check_tuning (Hash_table *table)
    TUNING, or return 0 if there is no possible way to allocate that
    many entries.  */
 
-static size_t
+static size_t _GL_ATTRIBUTE_PURE
 compute_bucket_size (size_t candidate, const Hash_tuning *tuning)
 {
   if (!tuning->is_n_buckets)
@@ -584,9 +584,9 @@ compute_bucket_size (size_t candidate, const Hash_tuning *tuning)
 
    The user-supplied DATA_FREER function, when not NULL, may be later called
    with the user data as an argument, just before the entry containing the
-   data gets freed.  This happens from within `hash_free' or `hash_clear'.
+   data gets freed.  This happens from within 'hash_free' or 'hash_clear'.
    You should specify this function only if you want these functions to free
-   all of your `data' data.  This is typically the case when your data is
+   all of your 'data' data.  This is typically the case when your data is
    simply an auxiliary struct that you have malloc'd to aggregate several
    values.  */
 
@@ -1018,7 +1018,9 @@ hash_rehash (Hash_table *table, size_t candidate)
   return false;
 }
 
-/* Return -1 upon memory allocation failure.
+/* Insert ENTRY into hash TABLE if there is not already a matching entry.
+
+   Return -1 upon memory allocation failure.
    Return 1 if insertion succeeded.
    Return 0 if there is already a matching entry in the table,
    and in that case, if MATCHED_ENT is non-NULL, set *MATCHED_ENT
@@ -1030,10 +1032,11 @@ hash_rehash (Hash_table *table, size_t candidate)
    hash_insert, the only way to distinguish those cases is to compare
    the return value and ENTRY.  That works only when you can have two
    different ENTRY values that point to data that compares "equal".  Thus,
-   when the ENTRY value is a simple scalar, you must use hash_insert0.
-   ENTRY must not be NULL.  */
+   when the ENTRY value is a simple scalar, you must use
+   hash_insert_if_absent.  ENTRY must not be NULL.  */
 int
-hash_insert0 (Hash_table *table, void const *entry, void const **matched_ent)
+hash_insert_if_absent (Hash_table *table, void const *entry,
+                       void const **matched_ent)
 {
   void *data;
   struct hash_entry *bucket;
@@ -1113,6 +1116,14 @@ hash_insert0 (Hash_table *table, void const *entry, void const **matched_ent)
   return 1;
 }
 
+/* hash_insert0 is the deprecated name for hash_insert_if_absent.
+   .  */
+int
+hash_insert0 (Hash_table *table, void const *entry, void const **matched_ent)
+{
+  return hash_insert_if_absent (table, entry, matched_ent);
+}
+
 /* If ENTRY matches an entry already in the hash table, return the pointer
    to the entry from the table.  Otherwise, insert ENTRY and return ENTRY.
    Return NULL if the storage required for insertion cannot be allocated.
@@ -1123,7 +1134,7 @@ void *
 hash_insert (Hash_table *table, void const *entry)
 {
   void const *matched_ent;
-  int err = hash_insert0 (table, entry, &matched_ent);
+  int err = hash_insert_if_absent (table, entry, &matched_ent);
   return (err == -1
           ? NULL
           : (void *) (err == 0 ? matched_ent : entry));
index 9f694be..bcd0d1d 100644 (file)
@@ -1,5 +1,5 @@
 /* hash - hashing table processing.
-   Copyright (C) 1998-1999, 2001, 2003, 2009-2011 Free Software Foundation,
+   Copyright (C) 1998-1999, 2001, 2003, 2009-2013 Free Software Foundation,
    Inc.
    Written by Jim Meyering <meyering@ascend.com>, 1998.
 
@@ -19,7 +19,7 @@
 /* A generic hash table package.  */
 
 /* Make sure USE_OBSTACK is defined to 1 if you want the allocator to use
-   obstacks instead of malloc, and recompile `hash.c' with same setting.  */
+   obstacks instead of malloc, and recompile 'hash.c' with same setting.  */
 
 #ifndef HASH_H_
 # define HASH_H_
 #  define _GL_ATTRIBUTE_WUR /* empty */
 # endif
 
+# ifndef _GL_ATTRIBUTE_DEPRECATED
+/* The __attribute__((__deprecated__)) feature
+   is available in gcc versions 3.1 and newer.  */
+#  if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 1)
+#   define _GL_ATTRIBUTE_DEPRECATED /* empty */
+#  else
+#   define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__))
+#  endif
+# endif
+
 typedef size_t (*Hash_hasher) (const void *, size_t);
 typedef bool (*Hash_comparator) (const void *, const void *);
 typedef void (*Hash_data_freer) (void *);
@@ -42,8 +52,8 @@ typedef bool (*Hash_processor) (void *, void *);
 
 struct hash_tuning
   {
-    /* This structure is mainly used for `hash_initialize', see the block
-       documentation of `hash_reset_tuning' for more complete comments.  */
+    /* This structure is mainly used for 'hash_initialize', see the block
+       documentation of 'hash_reset_tuning' for more complete comments.  */
 
     float shrink_threshold;     /* ratio of used buckets to trigger a shrink */
     float shrink_factor;        /* ratio of new smaller size to original size */
@@ -59,22 +69,22 @@ struct hash_table;
 typedef struct hash_table Hash_table;
 
 /* Information and lookup.  */
-size_t hash_get_n_buckets (const Hash_table *);
-size_t hash_get_n_buckets_used (const Hash_table *);
-size_t hash_get_n_entries (const Hash_table *);
-size_t hash_get_max_bucket_length (const Hash_table *);
-bool hash_table_ok (const Hash_table *);
+size_t hash_get_n_buckets (const Hash_table *) _GL_ATTRIBUTE_PURE;
+size_t hash_get_n_buckets_used (const Hash_table *) _GL_ATTRIBUTE_PURE;
+size_t hash_get_n_entries (const Hash_table *) _GL_ATTRIBUTE_PURE;
+size_t hash_get_max_bucket_length (const Hash_table *) _GL_ATTRIBUTE_PURE;
+bool hash_table_ok (const Hash_table *) _GL_ATTRIBUTE_PURE;
 void hash_print_statistics (const Hash_table *, FILE *);
 void *hash_lookup (const Hash_table *, const void *);
 
 /* Walking.  */
-void *hash_get_first (const Hash_table *);
+void *hash_get_first (const Hash_table *) _GL_ATTRIBUTE_PURE;
 void *hash_get_next (const Hash_table *, const void *);
 size_t hash_get_entries (const Hash_table *, void **, size_t);
 size_t hash_do_for_each (const Hash_table *, Hash_processor, void *);
 
 /* Allocation and clean-up.  */
-size_t hash_string (const char *, size_t);
+size_t hash_string (const char *, size_t) _GL_ATTRIBUTE_PURE;
 void hash_reset_tuning (Hash_tuning *);
 Hash_table *hash_initialize (size_t, const Hash_tuning *,
                              Hash_hasher, Hash_comparator,
@@ -85,8 +95,13 @@ void hash_free (Hash_table *);
 /* Insertion and deletion.  */
 bool hash_rehash (Hash_table *, size_t) _GL_ATTRIBUTE_WUR;
 void *hash_insert (Hash_table *, const void *) _GL_ATTRIBUTE_WUR;
-int hash_insert0 (Hash_table *table, const void *entry,
-                  const void **matched_ent);
+
+/* Deprecate this interface.  It has been renamed to hash_insert_if_absent.  */
+int hash_insert0 (Hash_table *table, /* FIXME: remove in 2013 */
+                  const void *entry,
+                  const void **matched_ent) _GL_ATTRIBUTE_DEPRECATED;
+int hash_insert_if_absent (Hash_table *table, const void *entry,
+                           const void **matched_ent);
 void *hash_delete (Hash_table *, const void *);
 
 #endif
index 72d16b0..6fb2f24 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Character set conversion.
-   Copyright (C) 1999-2001, 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2001, 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 00177f1..a88173d 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A GNU-like <iconv.h>.
 
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _@GUARD_PREFIX@_ICONV_H
 
index 0aee613..6f019a0 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Character set conversion.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 0ffc3fe..129e030 100644 (file)
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.3 */
+/* ANSI-C code produced by gperf version 3.0.4 */
 /* Command-line: gperf -m 10 ./iconv_open-aix.gperf  */
 /* Computed positions: -k'4,$' */
 
@@ -229,7 +229,7 @@ static const struct mapping mappings[] =
 
 #ifdef __GNUC__
 __inline
-#ifdef __GNUC_STDC_INLINE__
+#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
 __attribute__ ((__gnu_inline__))
 #endif
 #endif
index 8f9f0a9..3bcff76 100644 (file)
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.3 */
+/* ANSI-C code produced by gperf version 3.0.4 */
 /* Command-line: gperf -m 10 ./iconv_open-hpux.gperf  */
 /* Computed positions: -k'4,$' */
 
@@ -272,7 +272,7 @@ static const struct mapping mappings[] =
 
 #ifdef __GNUC__
 __inline
-#ifdef __GNUC_STDC_INLINE__
+#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
 __attribute__ ((__gnu_inline__))
 #endif
 #endif
index 520582e..74ceb8f 100644 (file)
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.3 */
+/* ANSI-C code produced by gperf version 3.0.4 */
 /* Command-line: gperf -m 10 ./iconv_open-irix.gperf  */
 /* Computed positions: -k'1,$' */
 
@@ -172,7 +172,7 @@ static const struct mapping mappings[] =
 
 #ifdef __GNUC__
 __inline
-#ifdef __GNUC_STDC_INLINE__
+#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
 __attribute__ ((__gnu_inline__))
 #endif
 #endif
index 85e4c0f..4d35764 100644 (file)
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.3 */
+/* ANSI-C code produced by gperf version 3.0.4 */
 /* Command-line: gperf -m 10 ./iconv_open-osf.gperf  */
 /* Computed positions: -k'4,$' */
 
@@ -251,7 +251,7 @@ static const struct mapping mappings[] =
 
 #ifdef __GNUC__
 __inline
-#ifdef __GNUC_STDC_INLINE__
+#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
 __attribute__ ((__gnu_inline__))
 #endif
 #endif
index 2963145..630cde1 100644 (file)
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.3 */
+/* ANSI-C code produced by gperf version 3.0.4 */
 /* Command-line: gperf -m 10 ./iconv_open-solaris.gperf  */
 /* Computed positions: -k'10' */
 
@@ -163,7 +163,7 @@ static const struct mapping mappings[] =
 
 #ifdef __GNUC__
 __inline
-#ifdef __GNUC_STDC_INLINE__
+#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
 __attribute__ ((__gnu_inline__))
 #endif
 #endif
index eafcebc..9a38e7e 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Character set conversion.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
@@ -59,7 +56,7 @@ rpl_iconv_open (const char *tocode, const char *fromcode)
      iconv() to these encoding inserts a BOM, which is wrong.
      We do not need to handle conversion between arbitrary encodings and
      UTF-{16,32}{BE,LE}, because the 'striconveh' module implements two-step
-     conversion throough UTF-8.
+     conversion through UTF-8.
      The _ICONV_* constants are chosen to be disjoint from any iconv_t
      returned by the system's iconv_open() functions.  Recall that iconv_t
      is a scalar type.  */
index f021a1a..63ecde8 100644 (file)
@@ -1,6 +1,6 @@
 /* ignore a function return without a compiler warning
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #ifndef _GL_IGNORE_VALUE_H
 # define _GL_IGNORE_VALUE_H
 
-# ifndef _GL_ATTRIBUTE_DEPRECATED
-/* The __attribute__((__deprecated__)) feature
-   is available in gcc versions 3.1 and newer.  */
-#  if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 1)
-#   define _GL_ATTRIBUTE_DEPRECATED /* empty */
-#  else
-#   define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__))
-#  endif
-# endif
-
 /* The __attribute__((__warn_unused_result__)) feature
    is available in gcc versions 3.4 and newer,
    while the typeof feature has been available since 2.7 at least.  */
@@ -54,9 +44,4 @@
 #  define ignore_value(x) (({ __typeof__ (x) __x = (x); (void) __x; }))
 # endif
 
-/* ignore_value works for scalars, pointers and aggregates;
-   deprecate ignore_ptr.  */
-static inline void _GL_ATTRIBUTE_DEPRECATED
-ignore_ptr (void *p) { (void) p; } /* deprecated: use ignore_value */
-
 #endif
index 1f6a539..b473052 100644 (file)
@@ -1,6 +1,6 @@
 /* intprops.h -- properties of integer types
 
-   Copyright (C) 2001-2005, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2005, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 1825f56..4605145 100644 (file)
@@ -1,6 +1,6 @@
 /* inttostr.h -- convert integers to printable strings
 
-   Copyright (C) 2001-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 7abf394..1893f55 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2011 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2013 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Derek Price.
    This file is part of gnulib.
 
    The include_next requires a split double-inclusion guard.  */
 #if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
 # if @HAVE_INTTYPES_H@
+
+   /* Some pre-C++11 <stdint.h> implementations need this.  */
+#  if defined __cplusplus && ! defined __STDC_FORMAT_MACROS
+#   define __STDC_FORMAT_MACROS 1
+#  endif
+
 #  @INCLUDE_NEXT@ @NEXT_INTTYPES_H@
 # endif
 #endif
 # error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>."
 #endif
 
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+
 /* The definition of _GL_ARG_NONNULL is copied here.  */
 
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
 /* 7.8.1 Macros for format specifiers */
 
-#if ! defined __cplusplus || defined __STDC_FORMAT_MACROS
-
-# if defined _TNS_R_TARGET
+#if defined _TNS_R_TARGET
    /* Tandem NonStop R series and compatible platforms released before
       July 2005 support %Ld but not %lld.  */
-#  define _LONG_LONG_FORMAT_PREFIX "L"
-# else
-#  define _LONG_LONG_FORMAT_PREFIX "ll"
-# endif
+# define _LONG_LONG_FORMAT_PREFIX "L"
+#else
+# define _LONG_LONG_FORMAT_PREFIX "ll"
+#endif
 
-# if !defined PRId8 || @PRI_MACROS_BROKEN@
-#  undef PRId8
-#  ifdef INT8_MAX
-#   define PRId8 "d"
-#  endif
+#if !defined PRId8 || @PRI_MACROS_BROKEN@
+# undef PRId8
+# ifdef INT8_MAX
+#  define PRId8 "d"
 # endif
-# if !defined PRIi8 || @PRI_MACROS_BROKEN@
-#  undef PRIi8
-#  ifdef INT8_MAX
-#   define PRIi8 "i"
-#  endif
+#endif
+#if !defined PRIi8 || @PRI_MACROS_BROKEN@
+# undef PRIi8
+# ifdef INT8_MAX
+#  define PRIi8 "i"
 # endif
-# if !defined PRIo8 || @PRI_MACROS_BROKEN@
-#  undef PRIo8
-#  ifdef UINT8_MAX
-#   define PRIo8 "o"
-#  endif
+#endif
+#if !defined PRIo8 || @PRI_MACROS_BROKEN@
+# undef PRIo8
+# ifdef UINT8_MAX
+#  define PRIo8 "o"
 # endif
-# if !defined PRIu8 || @PRI_MACROS_BROKEN@
-#  undef PRIu8
-#  ifdef UINT8_MAX
-#   define PRIu8 "u"
-#  endif
+#endif
+#if !defined PRIu8 || @PRI_MACROS_BROKEN@
+# undef PRIu8
+# ifdef UINT8_MAX
+#  define PRIu8 "u"
 # endif
-# if !defined PRIx8 || @PRI_MACROS_BROKEN@
-#  undef PRIx8
-#  ifdef UINT8_MAX
-#   define PRIx8 "x"
-#  endif
+#endif
+#if !defined PRIx8 || @PRI_MACROS_BROKEN@
+# undef PRIx8
+# ifdef UINT8_MAX
+#  define PRIx8 "x"
 # endif
-# if !defined PRIX8 || @PRI_MACROS_BROKEN@
-#  undef PRIX8
-#  ifdef UINT8_MAX
-#   define PRIX8 "X"
-#  endif
+#endif
+#if !defined PRIX8 || @PRI_MACROS_BROKEN@
+# undef PRIX8
+# ifdef UINT8_MAX
+#  define PRIX8 "X"
 # endif
-# if !defined PRId16 || @PRI_MACROS_BROKEN@
-#  undef PRId16
-#  ifdef INT16_MAX
-#   define PRId16 "d"
-#  endif
+#endif
+#if !defined PRId16 || @PRI_MACROS_BROKEN@
+# undef PRId16
+# ifdef INT16_MAX
+#  define PRId16 "d"
 # endif
-# if !defined PRIi16 || @PRI_MACROS_BROKEN@
-#  undef PRIi16
-#  ifdef INT16_MAX
-#   define PRIi16 "i"
-#  endif
+#endif
+#if !defined PRIi16 || @PRI_MACROS_BROKEN@
+# undef PRIi16
+# ifdef INT16_MAX
+#  define PRIi16 "i"
 # endif
-# if !defined PRIo16 || @PRI_MACROS_BROKEN@
-#  undef PRIo16
-#  ifdef UINT16_MAX
-#   define PRIo16 "o"
-#  endif
+#endif
+#if !defined PRIo16 || @PRI_MACROS_BROKEN@
+# undef PRIo16
+# ifdef UINT16_MAX
+#  define PRIo16 "o"
 # endif
-# if !defined PRIu16 || @PRI_MACROS_BROKEN@
-#  undef PRIu16
-#  ifdef UINT16_MAX
-#   define PRIu16 "u"
-#  endif
+#endif
+#if !defined PRIu16 || @PRI_MACROS_BROKEN@
+# undef PRIu16
+# ifdef UINT16_MAX
+#  define PRIu16 "u"
 # endif
-# if !defined PRIx16 || @PRI_MACROS_BROKEN@
-#  undef PRIx16
-#  ifdef UINT16_MAX
-#   define PRIx16 "x"
-#  endif
+#endif
+#if !defined PRIx16 || @PRI_MACROS_BROKEN@
+# undef PRIx16
+# ifdef UINT16_MAX
+#  define PRIx16 "x"
 # endif
-# if !defined PRIX16 || @PRI_MACROS_BROKEN@
-#  undef PRIX16
-#  ifdef UINT16_MAX
-#   define PRIX16 "X"
-#  endif
+#endif
+#if !defined PRIX16 || @PRI_MACROS_BROKEN@
+# undef PRIX16
+# ifdef UINT16_MAX
+#  define PRIX16 "X"
 # endif
-# if !defined PRId32 || @PRI_MACROS_BROKEN@
-#  undef PRId32
-#  ifdef INT32_MAX
-#   define PRId32 "d"
-#  endif
+#endif
+#if !defined PRId32 || @PRI_MACROS_BROKEN@
+# undef PRId32
+# ifdef INT32_MAX
+#  define PRId32 "d"
 # endif
-# if !defined PRIi32 || @PRI_MACROS_BROKEN@
-#  undef PRIi32
-#  ifdef INT32_MAX
-#   define PRIi32 "i"
-#  endif
+#endif
+#if !defined PRIi32 || @PRI_MACROS_BROKEN@
+# undef PRIi32
+# ifdef INT32_MAX
+#  define PRIi32 "i"
 # endif
-# if !defined PRIo32 || @PRI_MACROS_BROKEN@
-#  undef PRIo32
-#  ifdef UINT32_MAX
-#   define PRIo32 "o"
-#  endif
+#endif
+#if !defined PRIo32 || @PRI_MACROS_BROKEN@
+# undef PRIo32
+# ifdef UINT32_MAX
+#  define PRIo32 "o"
 # endif
-# if !defined PRIu32 || @PRI_MACROS_BROKEN@
-#  undef PRIu32
-#  ifdef UINT32_MAX
-#   define PRIu32 "u"
-#  endif
+#endif
+#if !defined PRIu32 || @PRI_MACROS_BROKEN@
+# undef PRIu32
+# ifdef UINT32_MAX
+#  define PRIu32 "u"
 # endif
-# if !defined PRIx32 || @PRI_MACROS_BROKEN@
-#  undef PRIx32
-#  ifdef UINT32_MAX
-#   define PRIx32 "x"
-#  endif
+#endif
+#if !defined PRIx32 || @PRI_MACROS_BROKEN@
+# undef PRIx32
+# ifdef UINT32_MAX
+#  define PRIx32 "x"
 # endif
-# if !defined PRIX32 || @PRI_MACROS_BROKEN@
-#  undef PRIX32
-#  ifdef UINT32_MAX
-#   define PRIX32 "X"
-#  endif
+#endif
+#if !defined PRIX32 || @PRI_MACROS_BROKEN@
+# undef PRIX32
+# ifdef UINT32_MAX
+#  define PRIX32 "X"
 # endif
-# ifdef INT64_MAX
-#  if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@)
-#   define _PRI64_PREFIX "l"
-#  elif defined _MSC_VER || defined __MINGW32__
-#   define _PRI64_PREFIX "I64"
-#  elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-#   define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX
-#  endif
-#  if !defined PRId64 || @PRI_MACROS_BROKEN@
-#   undef PRId64
-#   define PRId64 _PRI64_PREFIX "d"
-#  endif
-#  if !defined PRIi64 || @PRI_MACROS_BROKEN@
-#   undef PRIi64
-#   define PRIi64 _PRI64_PREFIX "i"
-#  endif
+#endif
+#ifdef INT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@)
+#  define _PRI64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+#  define _PRI64_PREFIX "I64"
+# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+#  define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined PRId64 || @PRI_MACROS_BROKEN@
+#  undef PRId64
+#  define PRId64 _PRI64_PREFIX "d"
+# endif
+# if !defined PRIi64 || @PRI_MACROS_BROKEN@
+#  undef PRIi64
+#  define PRIi64 _PRI64_PREFIX "i"
 # endif
-# ifdef UINT64_MAX
-#  if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@)
-#   define _PRIu64_PREFIX "l"
-#  elif defined _MSC_VER || defined __MINGW32__
-#   define _PRIu64_PREFIX "I64"
-#  elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
-#   define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX
-#  endif
-#  if !defined PRIo64 || @PRI_MACROS_BROKEN@
-#   undef PRIo64
-#   define PRIo64 _PRIu64_PREFIX "o"
-#  endif
-#  if !defined PRIu64 || @PRI_MACROS_BROKEN@
-#   undef PRIu64
-#   define PRIu64 _PRIu64_PREFIX "u"
-#  endif
-#  if !defined PRIx64 || @PRI_MACROS_BROKEN@
-#   undef PRIx64
-#   define PRIx64 _PRIu64_PREFIX "x"
-#  endif
-#  if !defined PRIX64 || @PRI_MACROS_BROKEN@
-#   undef PRIX64
-#   define PRIX64 _PRIu64_PREFIX "X"
-#  endif
+#endif
+#ifdef UINT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@)
+#  define _PRIu64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+#  define _PRIu64_PREFIX "I64"
+# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+#  define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined PRIo64 || @PRI_MACROS_BROKEN@
+#  undef PRIo64
+#  define PRIo64 _PRIu64_PREFIX "o"
+# endif
+# if !defined PRIu64 || @PRI_MACROS_BROKEN@
+#  undef PRIu64
+#  define PRIu64 _PRIu64_PREFIX "u"
+# endif
+# if !defined PRIx64 || @PRI_MACROS_BROKEN@
+#  undef PRIx64
+#  define PRIx64 _PRIu64_PREFIX "x"
+# endif
+# if !defined PRIX64 || @PRI_MACROS_BROKEN@
+#  undef PRIX64
+#  define PRIX64 _PRIu64_PREFIX "X"
 # endif
+#endif
 
-# if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@
-#  undef PRIdLEAST8
-#  define PRIdLEAST8 "d"
-# endif
-# if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@
-#  undef PRIiLEAST8
-#  define PRIiLEAST8 "i"
-# endif
-# if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@
-#  undef PRIoLEAST8
-#  define PRIoLEAST8 "o"
-# endif
-# if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@
-#  undef PRIuLEAST8
-#  define PRIuLEAST8 "u"
-# endif
-# if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@
-#  undef PRIxLEAST8
-#  define PRIxLEAST8 "x"
-# endif
-# if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@
-#  undef PRIXLEAST8
-#  define PRIXLEAST8 "X"
-# endif
-# if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@
-#  undef PRIdLEAST16
-#  define PRIdLEAST16 "d"
-# endif
-# if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@
-#  undef PRIiLEAST16
-#  define PRIiLEAST16 "i"
-# endif
-# if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@
-#  undef PRIoLEAST16
-#  define PRIoLEAST16 "o"
-# endif
-# if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@
-#  undef PRIuLEAST16
-#  define PRIuLEAST16 "u"
-# endif
-# if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@
-#  undef PRIxLEAST16
-#  define PRIxLEAST16 "x"
-# endif
-# if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@
-#  undef PRIXLEAST16
-#  define PRIXLEAST16 "X"
-# endif
-# if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@
-#  undef PRIdLEAST32
-#  define PRIdLEAST32 "d"
-# endif
-# if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@
-#  undef PRIiLEAST32
-#  define PRIiLEAST32 "i"
-# endif
-# if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@
-#  undef PRIoLEAST32
-#  define PRIoLEAST32 "o"
-# endif
-# if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@
-#  undef PRIuLEAST32
-#  define PRIuLEAST32 "u"
-# endif
-# if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@
-#  undef PRIxLEAST32
-#  define PRIxLEAST32 "x"
-# endif
-# if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@
-#  undef PRIXLEAST32
-#  define PRIXLEAST32 "X"
-# endif
-# ifdef INT64_MAX
-#  if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@
-#   undef PRIdLEAST64
-#   define PRIdLEAST64 PRId64
-#  endif
-#  if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@
-#   undef PRIiLEAST64
-#   define PRIiLEAST64 PRIi64
-#  endif
+#if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIdLEAST8
+# define PRIdLEAST8 "d"
+#endif
+#if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIiLEAST8
+# define PRIiLEAST8 "i"
+#endif
+#if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIoLEAST8
+# define PRIoLEAST8 "o"
+#endif
+#if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIuLEAST8
+# define PRIuLEAST8 "u"
+#endif
+#if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIxLEAST8
+# define PRIxLEAST8 "x"
+#endif
+#if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIXLEAST8
+# define PRIXLEAST8 "X"
+#endif
+#if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIdLEAST16
+# define PRIdLEAST16 "d"
+#endif
+#if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIiLEAST16
+# define PRIiLEAST16 "i"
+#endif
+#if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIoLEAST16
+# define PRIoLEAST16 "o"
+#endif
+#if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIuLEAST16
+# define PRIuLEAST16 "u"
+#endif
+#if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIxLEAST16
+# define PRIxLEAST16 "x"
+#endif
+#if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIXLEAST16
+# define PRIXLEAST16 "X"
+#endif
+#if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIdLEAST32
+# define PRIdLEAST32 "d"
+#endif
+#if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIiLEAST32
+# define PRIiLEAST32 "i"
+#endif
+#if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIoLEAST32
+# define PRIoLEAST32 "o"
+#endif
+#if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIuLEAST32
+# define PRIuLEAST32 "u"
+#endif
+#if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIxLEAST32
+# define PRIxLEAST32 "x"
+#endif
+#if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIXLEAST32
+# define PRIXLEAST32 "X"
+#endif
+#ifdef INT64_MAX
+# if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@
+#  undef PRIdLEAST64
+#  define PRIdLEAST64 PRId64
 # endif
-# ifdef UINT64_MAX
-#  if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@
-#   undef PRIoLEAST64
-#   define PRIoLEAST64 PRIo64
-#  endif
-#  if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@
-#   undef PRIuLEAST64
-#   define PRIuLEAST64 PRIu64
-#  endif
-#  if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@
-#   undef PRIxLEAST64
-#   define PRIxLEAST64 PRIx64
-#  endif
-#  if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@
-#   undef PRIXLEAST64
-#   define PRIXLEAST64 PRIX64
-#  endif
+# if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@
+#  undef PRIiLEAST64
+#  define PRIiLEAST64 PRIi64
+# endif
+#endif
+#ifdef UINT64_MAX
+# if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@
+#  undef PRIoLEAST64
+#  define PRIoLEAST64 PRIo64
+# endif
+# if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@
+#  undef PRIuLEAST64
+#  define PRIuLEAST64 PRIu64
+# endif
+# if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@
+#  undef PRIxLEAST64
+#  define PRIxLEAST64 PRIx64
 # endif
+# if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@
+#  undef PRIXLEAST64
+#  define PRIXLEAST64 PRIX64
+# endif
+#endif
 
-# if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@
-#  undef PRIdFAST8
-#  if INT_FAST8_MAX > INT32_MAX
-#   define PRIdFAST8 PRId64
-#  else
-#   define PRIdFAST8 "d"
-#  endif
+#if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIdFAST8
+# if INT_FAST8_MAX > INT32_MAX
+#  define PRIdFAST8 PRId64
+# else
+#  define PRIdFAST8 "d"
 # endif
-# if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@
-#  undef PRIiFAST8
-#  if INT_FAST8_MAX > INT32_MAX
-#   define PRIiFAST8 PRIi64
-#  else
-#   define PRIiFAST8 "i"
-#  endif
+#endif
+#if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIiFAST8
+# if INT_FAST8_MAX > INT32_MAX
+#  define PRIiFAST8 PRIi64
+# else
+#  define PRIiFAST8 "i"
 # endif
-# if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@
-#  undef PRIoFAST8
-#  if UINT_FAST8_MAX > UINT32_MAX
-#   define PRIoFAST8 PRIo64
-#  else
-#   define PRIoFAST8 "o"
-#  endif
+#endif
+#if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIoFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+#  define PRIoFAST8 PRIo64
+# else
+#  define PRIoFAST8 "o"
 # endif
-# if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@
-#  undef PRIuFAST8
-#  if UINT_FAST8_MAX > UINT32_MAX
-#   define PRIuFAST8 PRIu64
-#  else
-#   define PRIuFAST8 "u"
-#  endif
+#endif
+#if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIuFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+#  define PRIuFAST8 PRIu64
+# else
+#  define PRIuFAST8 "u"
 # endif
-# if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@
-#  undef PRIxFAST8
-#  if UINT_FAST8_MAX > UINT32_MAX
-#   define PRIxFAST8 PRIx64
-#  else
-#   define PRIxFAST8 "x"
-#  endif
+#endif
+#if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIxFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+#  define PRIxFAST8 PRIx64
+# else
+#  define PRIxFAST8 "x"
 # endif
-# if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@
-#  undef PRIXFAST8
-#  if UINT_FAST8_MAX > UINT32_MAX
-#   define PRIXFAST8 PRIX64
-#  else
-#   define PRIXFAST8 "X"
-#  endif
+#endif
+#if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIXFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+#  define PRIXFAST8 PRIX64
+# else
+#  define PRIXFAST8 "X"
 # endif
-# if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@
-#  undef PRIdFAST16
-#  if INT_FAST16_MAX > INT32_MAX
-#   define PRIdFAST16 PRId64
-#  else
-#   define PRIdFAST16 "d"
-#  endif
+#endif
+#if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIdFAST16
+# if INT_FAST16_MAX > INT32_MAX
+#  define PRIdFAST16 PRId64
+# else
+#  define PRIdFAST16 "d"
 # endif
-# if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@
-#  undef PRIiFAST16
-#  if INT_FAST16_MAX > INT32_MAX
-#   define PRIiFAST16 PRIi64
-#  else
-#   define PRIiFAST16 "i"
-#  endif
+#endif
+#if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIiFAST16
+# if INT_FAST16_MAX > INT32_MAX
+#  define PRIiFAST16 PRIi64
+# else
+#  define PRIiFAST16 "i"
 # endif
-# if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@
-#  undef PRIoFAST16
-#  if UINT_FAST16_MAX > UINT32_MAX
-#   define PRIoFAST16 PRIo64
-#  else
-#   define PRIoFAST16 "o"
-#  endif
+#endif
+#if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIoFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+#  define PRIoFAST16 PRIo64
+# else
+#  define PRIoFAST16 "o"
 # endif
-# if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@
-#  undef PRIuFAST16
-#  if UINT_FAST16_MAX > UINT32_MAX
-#   define PRIuFAST16 PRIu64
-#  else
-#   define PRIuFAST16 "u"
-#  endif
+#endif
+#if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIuFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+#  define PRIuFAST16 PRIu64
+# else
+#  define PRIuFAST16 "u"
 # endif
-# if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@
-#  undef PRIxFAST16
-#  if UINT_FAST16_MAX > UINT32_MAX
-#   define PRIxFAST16 PRIx64
-#  else
-#   define PRIxFAST16 "x"
-#  endif
+#endif
+#if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIxFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+#  define PRIxFAST16 PRIx64
+# else
+#  define PRIxFAST16 "x"
 # endif
-# if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@
-#  undef PRIXFAST16
-#  if UINT_FAST16_MAX > UINT32_MAX
-#   define PRIXFAST16 PRIX64
-#  else
-#   define PRIXFAST16 "X"
-#  endif
+#endif
+#if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIXFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+#  define PRIXFAST16 PRIX64
+# else
+#  define PRIXFAST16 "X"
 # endif
-# if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@
-#  undef PRIdFAST32
-#  if INT_FAST32_MAX > INT32_MAX
-#   define PRIdFAST32 PRId64
-#  else
-#   define PRIdFAST32 "d"
-#  endif
+#endif
+#if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIdFAST32
+# if INT_FAST32_MAX > INT32_MAX
+#  define PRIdFAST32 PRId64
+# else
+#  define PRIdFAST32 "d"
 # endif
-# if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@
-#  undef PRIiFAST32
-#  if INT_FAST32_MAX > INT32_MAX
-#   define PRIiFAST32 PRIi64
-#  else
-#   define PRIiFAST32 "i"
-#  endif
+#endif
+#if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIiFAST32
+# if INT_FAST32_MAX > INT32_MAX
+#  define PRIiFAST32 PRIi64
+# else
+#  define PRIiFAST32 "i"
 # endif
-# if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@
-#  undef PRIoFAST32
-#  if UINT_FAST32_MAX > UINT32_MAX
-#   define PRIoFAST32 PRIo64
-#  else
-#   define PRIoFAST32 "o"
-#  endif
+#endif
+#if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIoFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+#  define PRIoFAST32 PRIo64
+# else
+#  define PRIoFAST32 "o"
 # endif
-# if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@
-#  undef PRIuFAST32
-#  if UINT_FAST32_MAX > UINT32_MAX
-#   define PRIuFAST32 PRIu64
-#  else
-#   define PRIuFAST32 "u"
-#  endif
+#endif
+#if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIuFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+#  define PRIuFAST32 PRIu64
+# else
+#  define PRIuFAST32 "u"
 # endif
-# if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@
-#  undef PRIxFAST32
-#  if UINT_FAST32_MAX > UINT32_MAX
-#   define PRIxFAST32 PRIx64
-#  else
-#   define PRIxFAST32 "x"
-#  endif
+#endif
+#if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIxFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+#  define PRIxFAST32 PRIx64
+# else
+#  define PRIxFAST32 "x"
 # endif
-# if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@
-#  undef PRIXFAST32
-#  if UINT_FAST32_MAX > UINT32_MAX
-#   define PRIXFAST32 PRIX64
-#  else
-#   define PRIXFAST32 "X"
-#  endif
+#endif
+#if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIXFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+#  define PRIXFAST32 PRIX64
+# else
+#  define PRIXFAST32 "X"
 # endif
-# ifdef INT64_MAX
-#  if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@
-#   undef PRIdFAST64
-#   define PRIdFAST64 PRId64
-#  endif
-#  if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@
-#   undef PRIiFAST64
-#   define PRIiFAST64 PRIi64
-#  endif
+#endif
+#ifdef INT64_MAX
+# if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@
+#  undef PRIdFAST64
+#  define PRIdFAST64 PRId64
 # endif
-# ifdef UINT64_MAX
-#  if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@
-#   undef PRIoFAST64
-#   define PRIoFAST64 PRIo64
-#  endif
-#  if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@
-#   undef PRIuFAST64
-#   define PRIuFAST64 PRIu64
-#  endif
-#  if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@
-#   undef PRIxFAST64
-#   define PRIxFAST64 PRIx64
-#  endif
-#  if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@
-#   undef PRIXFAST64
-#   define PRIXFAST64 PRIX64
-#  endif
+# if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@
+#  undef PRIiFAST64
+#  define PRIiFAST64 PRIi64
+# endif
+#endif
+#ifdef UINT64_MAX
+# if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@
+#  undef PRIoFAST64
+#  define PRIoFAST64 PRIo64
+# endif
+# if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@
+#  undef PRIuFAST64
+#  define PRIuFAST64 PRIu64
+# endif
+# if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@
+#  undef PRIxFAST64
+#  define PRIxFAST64 PRIx64
 # endif
+# if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@
+#  undef PRIXFAST64
+#  define PRIXFAST64 PRIX64
+# endif
+#endif
 
-# if !defined PRIdMAX || @PRI_MACROS_BROKEN@
-#  undef PRIdMAX
-#  if @INT32_MAX_LT_INTMAX_MAX@
-#   define PRIdMAX PRId64
-#  else
-#   define PRIdMAX "ld"
-#  endif
+#if !defined PRIdMAX || @PRI_MACROS_BROKEN@
+# undef PRIdMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+#  define PRIdMAX PRId64
+# else
+#  define PRIdMAX "ld"
 # endif
-# if !defined PRIiMAX || @PRI_MACROS_BROKEN@
-#  undef PRIiMAX
-#  if @INT32_MAX_LT_INTMAX_MAX@
-#   define PRIiMAX PRIi64
-#  else
-#   define PRIiMAX "li"
-#  endif
+#endif
+#if !defined PRIiMAX || @PRI_MACROS_BROKEN@
+# undef PRIiMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+#  define PRIiMAX PRIi64
+# else
+#  define PRIiMAX "li"
 # endif
-# if !defined PRIoMAX || @PRI_MACROS_BROKEN@
-#  undef PRIoMAX
-#  if @UINT32_MAX_LT_UINTMAX_MAX@
-#   define PRIoMAX PRIo64
-#  else
-#   define PRIoMAX "lo"
-#  endif
+#endif
+#if !defined PRIoMAX || @PRI_MACROS_BROKEN@
+# undef PRIoMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+#  define PRIoMAX PRIo64
+# else
+#  define PRIoMAX "lo"
 # endif
-# if !defined PRIuMAX || @PRI_MACROS_BROKEN@
-#  undef PRIuMAX
-#  if @UINT32_MAX_LT_UINTMAX_MAX@
-#   define PRIuMAX PRIu64
-#  else
-#   define PRIuMAX "lu"
-#  endif
+#endif
+#if !defined PRIuMAX || @PRI_MACROS_BROKEN@
+# undef PRIuMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+#  define PRIuMAX PRIu64
+# else
+#  define PRIuMAX "lu"
 # endif
-# if !defined PRIxMAX || @PRI_MACROS_BROKEN@
-#  undef PRIxMAX
-#  if @UINT32_MAX_LT_UINTMAX_MAX@
-#   define PRIxMAX PRIx64
-#  else
-#   define PRIxMAX "lx"
-#  endif
+#endif
+#if !defined PRIxMAX || @PRI_MACROS_BROKEN@
+# undef PRIxMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+#  define PRIxMAX PRIx64
+# else
+#  define PRIxMAX "lx"
 # endif
-# if !defined PRIXMAX || @PRI_MACROS_BROKEN@
-#  undef PRIXMAX
-#  if @UINT32_MAX_LT_UINTMAX_MAX@
-#   define PRIXMAX PRIX64
-#  else
-#   define PRIXMAX "lX"
-#  endif
+#endif
+#if !defined PRIXMAX || @PRI_MACROS_BROKEN@
+# undef PRIXMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+#  define PRIXMAX PRIX64
+# else
+#  define PRIXMAX "lX"
 # endif
+#endif
 
-# if !defined PRIdPTR || @PRI_MACROS_BROKEN@
-#  undef PRIdPTR
-#  ifdef INTPTR_MAX
-#   define PRIdPTR @PRIPTR_PREFIX@ "d"
-#  endif
+#if !defined PRIdPTR || @PRI_MACROS_BROKEN@
+# undef PRIdPTR
+# ifdef INTPTR_MAX
+#  define PRIdPTR @PRIPTR_PREFIX@ "d"
 # endif
-# if !defined PRIiPTR || @PRI_MACROS_BROKEN@
-#  undef PRIiPTR
-#  ifdef INTPTR_MAX
-#   define PRIiPTR @PRIPTR_PREFIX@ "i"
-#  endif
+#endif
+#if !defined PRIiPTR || @PRI_MACROS_BROKEN@
+# undef PRIiPTR
+# ifdef INTPTR_MAX
+#  define PRIiPTR @PRIPTR_PREFIX@ "i"
 # endif
-# if !defined PRIoPTR || @PRI_MACROS_BROKEN@
-#  undef PRIoPTR
-#  ifdef UINTPTR_MAX
-#   define PRIoPTR @PRIPTR_PREFIX@ "o"
-#  endif
+#endif
+#if !defined PRIoPTR || @PRI_MACROS_BROKEN@
+# undef PRIoPTR
+# ifdef UINTPTR_MAX
+#  define PRIoPTR @PRIPTR_PREFIX@ "o"
 # endif
-# if !defined PRIuPTR || @PRI_MACROS_BROKEN@
-#  undef PRIuPTR
-#  ifdef UINTPTR_MAX
-#   define PRIuPTR @PRIPTR_PREFIX@ "u"
-#  endif
+#endif
+#if !defined PRIuPTR || @PRI_MACROS_BROKEN@
+# undef PRIuPTR
+# ifdef UINTPTR_MAX
+#  define PRIuPTR @PRIPTR_PREFIX@ "u"
 # endif
-# if !defined PRIxPTR || @PRI_MACROS_BROKEN@
-#  undef PRIxPTR
-#  ifdef UINTPTR_MAX
-#   define PRIxPTR @PRIPTR_PREFIX@ "x"
-#  endif
+#endif
+#if !defined PRIxPTR || @PRI_MACROS_BROKEN@
+# undef PRIxPTR
+# ifdef UINTPTR_MAX
+#  define PRIxPTR @PRIPTR_PREFIX@ "x"
 # endif
-# if !defined PRIXPTR || @PRI_MACROS_BROKEN@
-#  undef PRIXPTR
-#  ifdef UINTPTR_MAX
-#   define PRIXPTR @PRIPTR_PREFIX@ "X"
-#  endif
+#endif
+#if !defined PRIXPTR || @PRI_MACROS_BROKEN@
+# undef PRIXPTR
+# ifdef UINTPTR_MAX
+#  define PRIXPTR @PRIPTR_PREFIX@ "X"
 # endif
+#endif
 
-# if !defined SCNd8 || @PRI_MACROS_BROKEN@
-#  undef SCNd8
-#  ifdef INT8_MAX
-#   define SCNd8 "hhd"
-#  endif
+#if !defined SCNd8 || @PRI_MACROS_BROKEN@
+# undef SCNd8
+# ifdef INT8_MAX
+#  define SCNd8 "hhd"
 # endif
-# if !defined SCNi8 || @PRI_MACROS_BROKEN@
-#  undef SCNi8
-#  ifdef INT8_MAX
-#   define SCNi8 "hhi"
-#  endif
+#endif
+#if !defined SCNi8 || @PRI_MACROS_BROKEN@
+# undef SCNi8
+# ifdef INT8_MAX
+#  define SCNi8 "hhi"
 # endif
-# if !defined SCNo8 || @PRI_MACROS_BROKEN@
-#  undef SCNo8
-#  ifdef UINT8_MAX
-#   define SCNo8 "hho"
-#  endif
+#endif
+#if !defined SCNo8 || @PRI_MACROS_BROKEN@
+# undef SCNo8
+# ifdef UINT8_MAX
+#  define SCNo8 "hho"
 # endif
-# if !defined SCNu8 || @PRI_MACROS_BROKEN@
-#  undef SCNu8
-#  ifdef UINT8_MAX
-#   define SCNu8 "hhu"
-#  endif
+#endif
+#if !defined SCNu8 || @PRI_MACROS_BROKEN@
+# undef SCNu8
+# ifdef UINT8_MAX
+#  define SCNu8 "hhu"
 # endif
-# if !defined SCNx8 || @PRI_MACROS_BROKEN@
-#  undef SCNx8
-#  ifdef UINT8_MAX
-#   define SCNx8 "hhx"
-#  endif
+#endif
+#if !defined SCNx8 || @PRI_MACROS_BROKEN@
+# undef SCNx8
+# ifdef UINT8_MAX
+#  define SCNx8 "hhx"
 # endif
-# if !defined SCNd16 || @PRI_MACROS_BROKEN@
-#  undef SCNd16
-#  ifdef INT16_MAX
-#   define SCNd16 "hd"
-#  endif
+#endif
+#if !defined SCNd16 || @PRI_MACROS_BROKEN@
+# undef SCNd16
+# ifdef INT16_MAX
+#  define SCNd16 "hd"
 # endif
-# if !defined SCNi16 || @PRI_MACROS_BROKEN@
-#  undef SCNi16
-#  ifdef INT16_MAX
-#   define SCNi16 "hi"
-#  endif
+#endif
+#if !defined SCNi16 || @PRI_MACROS_BROKEN@
+# undef SCNi16
+# ifdef INT16_MAX
+#  define SCNi16 "hi"
 # endif
-# if !defined SCNo16 || @PRI_MACROS_BROKEN@
-#  undef SCNo16
-#  ifdef UINT16_MAX
-#   define SCNo16 "ho"
-#  endif
+#endif
+#if !defined SCNo16 || @PRI_MACROS_BROKEN@
+# undef SCNo16
+# ifdef UINT16_MAX
+#  define SCNo16 "ho"
 # endif
-# if !defined SCNu16 || @PRI_MACROS_BROKEN@
-#  undef SCNu16
-#  ifdef UINT16_MAX
-#   define SCNu16 "hu"
-#  endif
+#endif
+#if !defined SCNu16 || @PRI_MACROS_BROKEN@
+# undef SCNu16
+# ifdef UINT16_MAX
+#  define SCNu16 "hu"
 # endif
-# if !defined SCNx16 || @PRI_MACROS_BROKEN@
-#  undef SCNx16
-#  ifdef UINT16_MAX
-#   define SCNx16 "hx"
-#  endif
+#endif
+#if !defined SCNx16 || @PRI_MACROS_BROKEN@
+# undef SCNx16
+# ifdef UINT16_MAX
+#  define SCNx16 "hx"
 # endif
-# if !defined SCNd32 || @PRI_MACROS_BROKEN@
-#  undef SCNd32
-#  ifdef INT32_MAX
-#   define SCNd32 "d"
-#  endif
+#endif
+#if !defined SCNd32 || @PRI_MACROS_BROKEN@
+# undef SCNd32
+# ifdef INT32_MAX
+#  define SCNd32 "d"
 # endif
-# if !defined SCNi32 || @PRI_MACROS_BROKEN@
-#  undef SCNi32
-#  ifdef INT32_MAX
-#   define SCNi32 "i"
-#  endif
+#endif
+#if !defined SCNi32 || @PRI_MACROS_BROKEN@
+# undef SCNi32
+# ifdef INT32_MAX
+#  define SCNi32 "i"
 # endif
-# if !defined SCNo32 || @PRI_MACROS_BROKEN@
-#  undef SCNo32
-#  ifdef UINT32_MAX
-#   define SCNo32 "o"
-#  endif
+#endif
+#if !defined SCNo32 || @PRI_MACROS_BROKEN@
+# undef SCNo32
+# ifdef UINT32_MAX
+#  define SCNo32 "o"
 # endif
-# if !defined SCNu32 || @PRI_MACROS_BROKEN@
-#  undef SCNu32
-#  ifdef UINT32_MAX
-#   define SCNu32 "u"
-#  endif
+#endif
+#if !defined SCNu32 || @PRI_MACROS_BROKEN@
+# undef SCNu32
+# ifdef UINT32_MAX
+#  define SCNu32 "u"
 # endif
-# if !defined SCNx32 || @PRI_MACROS_BROKEN@
-#  undef SCNx32
-#  ifdef UINT32_MAX
-#   define SCNx32 "x"
-#  endif
+#endif
+#if !defined SCNx32 || @PRI_MACROS_BROKEN@
+# undef SCNx32
+# ifdef UINT32_MAX
+#  define SCNx32 "x"
 # endif
-# ifdef INT64_MAX
-#  if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@)
-#   define _SCN64_PREFIX "l"
-#  elif defined _MSC_VER || defined __MINGW32__
-#   define _SCN64_PREFIX "I64"
-#  elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-#   define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX
-#  endif
-#  if !defined SCNd64 || @PRI_MACROS_BROKEN@
-#   undef SCNd64
-#   define SCNd64 _SCN64_PREFIX "d"
-#  endif
-#  if !defined SCNi64 || @PRI_MACROS_BROKEN@
-#   undef SCNi64
-#   define SCNi64 _SCN64_PREFIX "i"
-#  endif
+#endif
+#ifdef INT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@)
+#  define _SCN64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+#  define _SCN64_PREFIX "I64"
+# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+#  define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined SCNd64 || @PRI_MACROS_BROKEN@
+#  undef SCNd64
+#  define SCNd64 _SCN64_PREFIX "d"
+# endif
+# if !defined SCNi64 || @PRI_MACROS_BROKEN@
+#  undef SCNi64
+#  define SCNi64 _SCN64_PREFIX "i"
 # endif
-# ifdef UINT64_MAX
-#  if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@)
-#   define _SCNu64_PREFIX "l"
-#  elif defined _MSC_VER || defined __MINGW32__
-#   define _SCNu64_PREFIX "I64"
-#  elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
-#   define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX
-#  endif
-#  if !defined SCNo64 || @PRI_MACROS_BROKEN@
-#   undef SCNo64
-#   define SCNo64 _SCNu64_PREFIX "o"
-#  endif
-#  if !defined SCNu64 || @PRI_MACROS_BROKEN@
-#   undef SCNu64
-#   define SCNu64 _SCNu64_PREFIX "u"
-#  endif
-#  if !defined SCNx64 || @PRI_MACROS_BROKEN@
-#   undef SCNx64
-#   define SCNx64 _SCNu64_PREFIX "x"
-#  endif
+#endif
+#ifdef UINT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@)
+#  define _SCNu64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+#  define _SCNu64_PREFIX "I64"
+# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+#  define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined SCNo64 || @PRI_MACROS_BROKEN@
+#  undef SCNo64
+#  define SCNo64 _SCNu64_PREFIX "o"
+# endif
+# if !defined SCNu64 || @PRI_MACROS_BROKEN@
+#  undef SCNu64
+#  define SCNu64 _SCNu64_PREFIX "u"
+# endif
+# if !defined SCNx64 || @PRI_MACROS_BROKEN@
+#  undef SCNx64
+#  define SCNx64 _SCNu64_PREFIX "x"
 # endif
+#endif
 
-# if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@
-#  undef SCNdLEAST8
-#  define SCNdLEAST8 "hhd"
-# endif
-# if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@
-#  undef SCNiLEAST8
-#  define SCNiLEAST8 "hhi"
-# endif
-# if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@
-#  undef SCNoLEAST8
-#  define SCNoLEAST8 "hho"
-# endif
-# if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@
-#  undef SCNuLEAST8
-#  define SCNuLEAST8 "hhu"
-# endif
-# if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@
-#  undef SCNxLEAST8
-#  define SCNxLEAST8 "hhx"
-# endif
-# if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@
-#  undef SCNdLEAST16
-#  define SCNdLEAST16 "hd"
-# endif
-# if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@
-#  undef SCNiLEAST16
-#  define SCNiLEAST16 "hi"
-# endif
-# if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@
-#  undef SCNoLEAST16
-#  define SCNoLEAST16 "ho"
-# endif
-# if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@
-#  undef SCNuLEAST16
-#  define SCNuLEAST16 "hu"
-# endif
-# if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@
-#  undef SCNxLEAST16
-#  define SCNxLEAST16 "hx"
-# endif
-# if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@
-#  undef SCNdLEAST32
-#  define SCNdLEAST32 "d"
-# endif
-# if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@
-#  undef SCNiLEAST32
-#  define SCNiLEAST32 "i"
-# endif
-# if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@
-#  undef SCNoLEAST32
-#  define SCNoLEAST32 "o"
-# endif
-# if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@
-#  undef SCNuLEAST32
-#  define SCNuLEAST32 "u"
-# endif
-# if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@
-#  undef SCNxLEAST32
-#  define SCNxLEAST32 "x"
-# endif
-# ifdef INT64_MAX
-#  if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@
-#   undef SCNdLEAST64
-#   define SCNdLEAST64 SCNd64
-#  endif
-#  if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@
-#   undef SCNiLEAST64
-#   define SCNiLEAST64 SCNi64
-#  endif
+#if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNdLEAST8
+# define SCNdLEAST8 "hhd"
+#endif
+#if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNiLEAST8
+# define SCNiLEAST8 "hhi"
+#endif
+#if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNoLEAST8
+# define SCNoLEAST8 "hho"
+#endif
+#if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNuLEAST8
+# define SCNuLEAST8 "hhu"
+#endif
+#if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNxLEAST8
+# define SCNxLEAST8 "hhx"
+#endif
+#if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNdLEAST16
+# define SCNdLEAST16 "hd"
+#endif
+#if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNiLEAST16
+# define SCNiLEAST16 "hi"
+#endif
+#if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNoLEAST16
+# define SCNoLEAST16 "ho"
+#endif
+#if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNuLEAST16
+# define SCNuLEAST16 "hu"
+#endif
+#if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNxLEAST16
+# define SCNxLEAST16 "hx"
+#endif
+#if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNdLEAST32
+# define SCNdLEAST32 "d"
+#endif
+#if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNiLEAST32
+# define SCNiLEAST32 "i"
+#endif
+#if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNoLEAST32
+# define SCNoLEAST32 "o"
+#endif
+#if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNuLEAST32
+# define SCNuLEAST32 "u"
+#endif
+#if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNxLEAST32
+# define SCNxLEAST32 "x"
+#endif
+#ifdef INT64_MAX
+# if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@
+#  undef SCNdLEAST64
+#  define SCNdLEAST64 SCNd64
 # endif
-# ifdef UINT64_MAX
-#  if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@
-#   undef SCNoLEAST64
-#   define SCNoLEAST64 SCNo64
-#  endif
-#  if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@
-#   undef SCNuLEAST64
-#   define SCNuLEAST64 SCNu64
-#  endif
-#  if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@
-#   undef SCNxLEAST64
-#   define SCNxLEAST64 SCNx64
-#  endif
+# if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@
+#  undef SCNiLEAST64
+#  define SCNiLEAST64 SCNi64
+# endif
+#endif
+#ifdef UINT64_MAX
+# if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@
+#  undef SCNoLEAST64
+#  define SCNoLEAST64 SCNo64
+# endif
+# if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@
+#  undef SCNuLEAST64
+#  define SCNuLEAST64 SCNu64
+# endif
+# if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@
+#  undef SCNxLEAST64
+#  define SCNxLEAST64 SCNx64
 # endif
+#endif
 
-# if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@
-#  undef SCNdFAST8
-#  if INT_FAST8_MAX > INT32_MAX
-#   define SCNdFAST8 SCNd64
-#  elif INT_FAST8_MAX == 0x7fff
-#   define SCNdFAST8 "hd"
-#  elif INT_FAST8_MAX == 0x7f
-#   define SCNdFAST8 "hhd"
-#  else
-#   define SCNdFAST8 "d"
-#  endif
+#if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNdFAST8
+# if INT_FAST8_MAX > INT32_MAX
+#  define SCNdFAST8 SCNd64
+# elif INT_FAST8_MAX == 0x7fff
+#  define SCNdFAST8 "hd"
+# elif INT_FAST8_MAX == 0x7f
+#  define SCNdFAST8 "hhd"
+# else
+#  define SCNdFAST8 "d"
 # endif
-# if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@
-#  undef SCNiFAST8
-#  if INT_FAST8_MAX > INT32_MAX
-#   define SCNiFAST8 SCNi64
-#  elif INT_FAST8_MAX == 0x7fff
-#   define SCNiFAST8 "hi"
-#  elif INT_FAST8_MAX == 0x7f
-#   define SCNiFAST8 "hhi"
-#  else
-#   define SCNiFAST8 "i"
-#  endif
+#endif
+#if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNiFAST8
+# if INT_FAST8_MAX > INT32_MAX
+#  define SCNiFAST8 SCNi64
+# elif INT_FAST8_MAX == 0x7fff
+#  define SCNiFAST8 "hi"
+# elif INT_FAST8_MAX == 0x7f
+#  define SCNiFAST8 "hhi"
+# else
+#  define SCNiFAST8 "i"
 # endif
-# if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@
-#  undef SCNoFAST8
-#  if UINT_FAST8_MAX > UINT32_MAX
-#   define SCNoFAST8 SCNo64
-#  elif UINT_FAST8_MAX == 0xffff
-#   define SCNoFAST8 "ho"
-#  elif UINT_FAST8_MAX == 0xff
-#   define SCNoFAST8 "hho"
-#  else
-#   define SCNoFAST8 "o"
-#  endif
+#endif
+#if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNoFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+#  define SCNoFAST8 SCNo64
+# elif UINT_FAST8_MAX == 0xffff
+#  define SCNoFAST8 "ho"
+# elif UINT_FAST8_MAX == 0xff
+#  define SCNoFAST8 "hho"
+# else
+#  define SCNoFAST8 "o"
 # endif
-# if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@
-#  undef SCNuFAST8
-#  if UINT_FAST8_MAX > UINT32_MAX
-#   define SCNuFAST8 SCNu64
-#  elif UINT_FAST8_MAX == 0xffff
-#   define SCNuFAST8 "hu"
-#  elif UINT_FAST8_MAX == 0xff
-#   define SCNuFAST8 "hhu"
-#  else
-#   define SCNuFAST8 "u"
-#  endif
+#endif
+#if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNuFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+#  define SCNuFAST8 SCNu64
+# elif UINT_FAST8_MAX == 0xffff
+#  define SCNuFAST8 "hu"
+# elif UINT_FAST8_MAX == 0xff
+#  define SCNuFAST8 "hhu"
+# else
+#  define SCNuFAST8 "u"
 # endif
-# if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@
-#  undef SCNxFAST8
-#  if UINT_FAST8_MAX > UINT32_MAX
-#   define SCNxFAST8 SCNx64
-#  elif UINT_FAST8_MAX == 0xffff
-#   define SCNxFAST8 "hx"
-#  elif UINT_FAST8_MAX == 0xff
-#   define SCNxFAST8 "hhx"
-#  else
-#   define SCNxFAST8 "x"
-#  endif
+#endif
+#if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNxFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+#  define SCNxFAST8 SCNx64
+# elif UINT_FAST8_MAX == 0xffff
+#  define SCNxFAST8 "hx"
+# elif UINT_FAST8_MAX == 0xff
+#  define SCNxFAST8 "hhx"
+# else
+#  define SCNxFAST8 "x"
 # endif
-# if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@
-#  undef SCNdFAST16
-#  if INT_FAST16_MAX > INT32_MAX
-#   define SCNdFAST16 SCNd64
-#  elif INT_FAST16_MAX == 0x7fff
-#   define SCNdFAST16 "hd"
-#  else
-#   define SCNdFAST16 "d"
-#  endif
+#endif
+#if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNdFAST16
+# if INT_FAST16_MAX > INT32_MAX
+#  define SCNdFAST16 SCNd64
+# elif INT_FAST16_MAX == 0x7fff
+#  define SCNdFAST16 "hd"
+# else
+#  define SCNdFAST16 "d"
 # endif
-# if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@
-#  undef SCNiFAST16
-#  if INT_FAST16_MAX > INT32_MAX
-#   define SCNiFAST16 SCNi64
-#  elif INT_FAST16_MAX == 0x7fff
-#   define SCNiFAST16 "hi"
-#  else
-#   define SCNiFAST16 "i"
-#  endif
+#endif
+#if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNiFAST16
+# if INT_FAST16_MAX > INT32_MAX
+#  define SCNiFAST16 SCNi64
+# elif INT_FAST16_MAX == 0x7fff
+#  define SCNiFAST16 "hi"
+# else
+#  define SCNiFAST16 "i"
 # endif
-# if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@
-#  undef SCNoFAST16
-#  if UINT_FAST16_MAX > UINT32_MAX
-#   define SCNoFAST16 SCNo64
-#  elif UINT_FAST16_MAX == 0xffff
-#   define SCNoFAST16 "ho"
-#  else
-#   define SCNoFAST16 "o"
-#  endif
+#endif
+#if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNoFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+#  define SCNoFAST16 SCNo64
+# elif UINT_FAST16_MAX == 0xffff
+#  define SCNoFAST16 "ho"
+# else
+#  define SCNoFAST16 "o"
 # endif
-# if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@
-#  undef SCNuFAST16
-#  if UINT_FAST16_MAX > UINT32_MAX
-#   define SCNuFAST16 SCNu64
-#  elif UINT_FAST16_MAX == 0xffff
-#   define SCNuFAST16 "hu"
-#  else
-#   define SCNuFAST16 "u"
-#  endif
+#endif
+#if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNuFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+#  define SCNuFAST16 SCNu64
+# elif UINT_FAST16_MAX == 0xffff
+#  define SCNuFAST16 "hu"
+# else
+#  define SCNuFAST16 "u"
 # endif
-# if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@
-#  undef SCNxFAST16
-#  if UINT_FAST16_MAX > UINT32_MAX
-#   define SCNxFAST16 SCNx64
-#  elif UINT_FAST16_MAX == 0xffff
-#   define SCNxFAST16 "hx"
-#  else
-#   define SCNxFAST16 "x"
-#  endif
+#endif
+#if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNxFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+#  define SCNxFAST16 SCNx64
+# elif UINT_FAST16_MAX == 0xffff
+#  define SCNxFAST16 "hx"
+# else
+#  define SCNxFAST16 "x"
 # endif
-# if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@
-#  undef SCNdFAST32
-#  if INT_FAST32_MAX > INT32_MAX
-#   define SCNdFAST32 SCNd64
-#  else
-#   define SCNdFAST32 "d"
-#  endif
+#endif
+#if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNdFAST32
+# if INT_FAST32_MAX > INT32_MAX
+#  define SCNdFAST32 SCNd64
+# else
+#  define SCNdFAST32 "d"
 # endif
-# if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@
-#  undef SCNiFAST32
-#  if INT_FAST32_MAX > INT32_MAX
-#   define SCNiFAST32 SCNi64
-#  else
-#   define SCNiFAST32 "i"
-#  endif
+#endif
+#if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNiFAST32
+# if INT_FAST32_MAX > INT32_MAX
+#  define SCNiFAST32 SCNi64
+# else
+#  define SCNiFAST32 "i"
 # endif
-# if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@
-#  undef SCNoFAST32
-#  if UINT_FAST32_MAX > UINT32_MAX
-#   define SCNoFAST32 SCNo64
-#  else
-#   define SCNoFAST32 "o"
-#  endif
+#endif
+#if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNoFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+#  define SCNoFAST32 SCNo64
+# else
+#  define SCNoFAST32 "o"
 # endif
-# if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@
-#  undef SCNuFAST32
-#  if UINT_FAST32_MAX > UINT32_MAX
-#   define SCNuFAST32 SCNu64
-#  else
-#   define SCNuFAST32 "u"
-#  endif
+#endif
+#if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNuFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+#  define SCNuFAST32 SCNu64
+# else
+#  define SCNuFAST32 "u"
 # endif
-# if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@
-#  undef SCNxFAST32
-#  if UINT_FAST32_MAX > UINT32_MAX
-#   define SCNxFAST32 SCNx64
-#  else
-#   define SCNxFAST32 "x"
-#  endif
+#endif
+#if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNxFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+#  define SCNxFAST32 SCNx64
+# else
+#  define SCNxFAST32 "x"
 # endif
-# ifdef INT64_MAX
-#  if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@
-#   undef SCNdFAST64
-#   define SCNdFAST64 SCNd64
-#  endif
-#  if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@
-#   undef SCNiFAST64
-#   define SCNiFAST64 SCNi64
-#  endif
+#endif
+#ifdef INT64_MAX
+# if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@
+#  undef SCNdFAST64
+#  define SCNdFAST64 SCNd64
 # endif
-# ifdef UINT64_MAX
-#  if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@
-#   undef SCNoFAST64
-#   define SCNoFAST64 SCNo64
-#  endif
-#  if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@
-#   undef SCNuFAST64
-#   define SCNuFAST64 SCNu64
-#  endif
-#  if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@
-#   undef SCNxFAST64
-#   define SCNxFAST64 SCNx64
-#  endif
+# if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@
+#  undef SCNiFAST64
+#  define SCNiFAST64 SCNi64
+# endif
+#endif
+#ifdef UINT64_MAX
+# if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@
+#  undef SCNoFAST64
+#  define SCNoFAST64 SCNo64
 # endif
+# if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@
+#  undef SCNuFAST64
+#  define SCNuFAST64 SCNu64
+# endif
+# if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@
+#  undef SCNxFAST64
+#  define SCNxFAST64 SCNx64
+# endif
+#endif
 
-# if !defined SCNdMAX || @PRI_MACROS_BROKEN@
-#  undef SCNdMAX
-#  if @INT32_MAX_LT_INTMAX_MAX@
-#   define SCNdMAX SCNd64
-#  else
-#   define SCNdMAX "ld"
-#  endif
+#if !defined SCNdMAX || @PRI_MACROS_BROKEN@
+# undef SCNdMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+#  define SCNdMAX SCNd64
+# else
+#  define SCNdMAX "ld"
 # endif
-# if !defined SCNiMAX || @PRI_MACROS_BROKEN@
-#  undef SCNiMAX
-#  if @INT32_MAX_LT_INTMAX_MAX@
-#   define SCNiMAX SCNi64
-#  else
-#   define SCNiMAX "li"
-#  endif
+#endif
+#if !defined SCNiMAX || @PRI_MACROS_BROKEN@
+# undef SCNiMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+#  define SCNiMAX SCNi64
+# else
+#  define SCNiMAX "li"
 # endif
-# if !defined SCNoMAX || @PRI_MACROS_BROKEN@
-#  undef SCNoMAX
-#  if @UINT32_MAX_LT_UINTMAX_MAX@
-#   define SCNoMAX SCNo64
-#  else
-#   define SCNoMAX "lo"
-#  endif
+#endif
+#if !defined SCNoMAX || @PRI_MACROS_BROKEN@
+# undef SCNoMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+#  define SCNoMAX SCNo64
+# else
+#  define SCNoMAX "lo"
 # endif
-# if !defined SCNuMAX || @PRI_MACROS_BROKEN@
-#  undef SCNuMAX
-#  if @UINT32_MAX_LT_UINTMAX_MAX@
-#   define SCNuMAX SCNu64
-#  else
-#   define SCNuMAX "lu"
-#  endif
+#endif
+#if !defined SCNuMAX || @PRI_MACROS_BROKEN@
+# undef SCNuMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+#  define SCNuMAX SCNu64
+# else
+#  define SCNuMAX "lu"
 # endif
-# if !defined SCNxMAX || @PRI_MACROS_BROKEN@
-#  undef SCNxMAX
-#  if @UINT32_MAX_LT_UINTMAX_MAX@
-#   define SCNxMAX SCNx64
-#  else
-#   define SCNxMAX "lx"
-#  endif
+#endif
+#if !defined SCNxMAX || @PRI_MACROS_BROKEN@
+# undef SCNxMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+#  define SCNxMAX SCNx64
+# else
+#  define SCNxMAX "lx"
 # endif
+#endif
 
-# if !defined SCNdPTR || @PRI_MACROS_BROKEN@
-#  undef SCNdPTR
-#  ifdef INTPTR_MAX
-#   define SCNdPTR @PRIPTR_PREFIX@ "d"
-#  endif
+#if !defined SCNdPTR || @PRI_MACROS_BROKEN@
+# undef SCNdPTR
+# ifdef INTPTR_MAX
+#  define SCNdPTR @PRIPTR_PREFIX@ "d"
 # endif
-# if !defined SCNiPTR || @PRI_MACROS_BROKEN@
-#  undef SCNiPTR
-#  ifdef INTPTR_MAX
-#   define SCNiPTR @PRIPTR_PREFIX@ "i"
-#  endif
+#endif
+#if !defined SCNiPTR || @PRI_MACROS_BROKEN@
+# undef SCNiPTR
+# ifdef INTPTR_MAX
+#  define SCNiPTR @PRIPTR_PREFIX@ "i"
 # endif
-# if !defined SCNoPTR || @PRI_MACROS_BROKEN@
-#  undef SCNoPTR
-#  ifdef UINTPTR_MAX
-#   define SCNoPTR @PRIPTR_PREFIX@ "o"
-#  endif
+#endif
+#if !defined SCNoPTR || @PRI_MACROS_BROKEN@
+# undef SCNoPTR
+# ifdef UINTPTR_MAX
+#  define SCNoPTR @PRIPTR_PREFIX@ "o"
 # endif
-# if !defined SCNuPTR || @PRI_MACROS_BROKEN@
-#  undef SCNuPTR
-#  ifdef UINTPTR_MAX
-#   define SCNuPTR @PRIPTR_PREFIX@ "u"
-#  endif
+#endif
+#if !defined SCNuPTR || @PRI_MACROS_BROKEN@
+# undef SCNuPTR
+# ifdef UINTPTR_MAX
+#  define SCNuPTR @PRIPTR_PREFIX@ "u"
 # endif
-# if !defined SCNxPTR || @PRI_MACROS_BROKEN@
-#  undef SCNxPTR
-#  ifdef UINTPTR_MAX
-#   define SCNxPTR @PRIPTR_PREFIX@ "x"
-#  endif
+#endif
+#if !defined SCNxPTR || @PRI_MACROS_BROKEN@
+# undef SCNxPTR
+# ifdef UINTPTR_MAX
+#  define SCNxPTR @PRIPTR_PREFIX@ "x"
 # endif
-
 #endif
 
 /* 7.8.2 Functions for greatest-width integer types */
@@ -1075,10 +1079,23 @@ _GL_WARN_ON_USE (imaxdiv, "imaxdiv is unportable - "
 #endif
 
 #if @GNULIB_STRTOIMAX@
-# if !@HAVE_DECL_STRTOIMAX@
-#  undef strtoimax
-extern intmax_t strtoimax (const char *, char **, int) _GL_ARG_NONNULL ((1));
+# if @REPLACE_STRTOIMAX@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef strtoimax
+#   define strtoimax rpl_strtoimax
+#  endif
+_GL_FUNCDECL_RPL (strtoimax, intmax_t,
+                  (const char *, char **, int) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtoimax, intmax_t, (const char *, char **, int));
+# else
+#  if !@HAVE_DECL_STRTOIMAX@
+#   undef strtoimax
+_GL_FUNCDECL_SYS (strtoimax, intmax_t,
+                  (const char *, char **, int) _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (strtoimax, intmax_t, (const char *, char **, int));
 # endif
+_GL_CXXALIASWARN (strtoimax);
 #elif defined GNULIB_POSIXCHECK
 # undef strtoimax
 # if HAVE_RAW_DECL_STRTOIMAX
@@ -1090,8 +1107,11 @@ _GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - "
 #if @GNULIB_STRTOUMAX@
 # if !@HAVE_DECL_STRTOUMAX@
 #  undef strtoumax
-extern uintmax_t strtoumax (const char *, char **, int) _GL_ARG_NONNULL ((1));
+_GL_FUNCDECL_SYS (strtoumax, uintmax_t,
+                  (const char *, char **, int) _GL_ARG_NONNULL ((1)));
 # endif
+_GL_CXXALIAS_SYS (strtoumax, uintmax_t, (const char *, char **, int));
+_GL_CXXALIASWARN (strtoumax);
 #elif defined GNULIB_POSIXCHECK
 # undef strtoumax
 # if HAVE_RAW_DECL_STRTOUMAX
index 38d5363..613ef63 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test wide character for being blank.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
diff --git a/lib/itold.c b/lib/itold.c
new file mode 100644 (file)
index 0000000..9aabc7e
--- /dev/null
@@ -0,0 +1,28 @@
+/* Replacement for 'int' to 'long double' conversion routine.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2011.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <float.h>
+
+void
+_Qp_itoq (long double *result, int a)
+{
+  /* Convert from 'int' to 'double', then from 'double' to 'long double'.  */
+  *result = (double) a;
+}
index 1d54e02..5388ce6 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Substitute for and wrapper around <langinfo.h>.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /*
  * POSIX <langinfo.h> for platforms that lack it or have an incomplete one.
index d8b5953..953cc1e 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Determine a canonical name for the current locale's character encoding.
 
-   Copyright (C) 2000-2006, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2000-2006, 2008-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* Written by Bruno Haible <bruno@clisp.org>.  */
 
 #include <stdlib.h>
 
 #if defined __APPLE__ && defined __MACH__ && HAVE_LANGINFO_CODESET
-# define DARWIN7 /* Darwin 7 or newer, i.e. MacOS X 10.3 or newer */
+# define DARWIN7 /* Darwin 7 or newer, i.e. Mac OS X 10.3 or newer */
 #endif
 
 #if defined _WIN32 || defined __WIN32__
-# define WIN32_NATIVE
+# define WINDOWS_NATIVE
 #endif
 
 #if defined __EMX__
@@ -46,7 +43,7 @@
 # endif
 #endif
 
-#if !defined WIN32_NATIVE
+#if !defined WINDOWS_NATIVE
 # include <unistd.h>
 # if HAVE_LANGINFO_CODESET
 #  include <langinfo.h>
@@ -59,7 +56,7 @@
 #  define WIN32_LEAN_AND_MEAN
 #  include <windows.h>
 # endif
-#elif defined WIN32_NATIVE
+#elif defined WINDOWS_NATIVE
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
 #endif
@@ -85,7 +82,7 @@
 #endif
 
 #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
-  /* Win32, Cygwin, OS/2, DOS */
+  /* Native Windows, Cygwin, OS/2, DOS */
 # define ISSLASH(C) ((C) == '/' || (C) == '\\')
 #endif
 
@@ -125,7 +122,7 @@ get_charset_aliases (void)
   cp = charset_aliases;
   if (cp == NULL)
     {
-#if !(defined DARWIN7 || defined VMS || defined WIN32_NATIVE || defined __CYGWIN__)
+#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined __CYGWIN__)
       const char *dir;
       const char *base = "charset.alias";
       char *file_name;
@@ -310,7 +307,7 @@ get_charset_aliases (void)
            "DECKOREAN" "\0" "EUC-KR" "\0";
 # endif
 
-# if defined WIN32_NATIVE || defined __CYGWIN__
+# if defined WINDOWS_NATIVE || defined __CYGWIN__
       /* To avoid the troubles of installing a separate file in the same
          directory as the DLL and of retrieving the DLL's directory at
          runtime, simply inline the aliases here.  */
@@ -362,7 +359,7 @@ locale_charset (void)
   const char *codeset;
   const char *aliases;
 
-#if !(defined WIN32_NATIVE || defined OS2)
+#if !(defined WINDOWS_NATIVE || defined OS2)
 
 # if HAVE_LANGINFO_CODESET
 
@@ -409,10 +406,10 @@ locale_charset (void)
             }
         }
 
-      /* Woe32 has a function returning the locale's codepage as a number:
-         GetACP().  This encoding is used by Cygwin, unless the user has set
-         the environment variable CYGWIN=codepage:oem (which very few people
-         do).
+      /* The Windows API has a function returning the locale's codepage as a
+         number: GetACP().  This encoding is used by Cygwin, unless the user
+         has set the environment variable CYGWIN=codepage:oem (which very few
+         people do).
          Output directed to console windows needs to be converted (to
          GetOEMCP() if the console is using a raster font, or to
          GetConsoleOutputCP() if it is using a TrueType font).  Cygwin does
@@ -455,12 +452,12 @@ locale_charset (void)
 
 # endif
 
-#elif defined WIN32_NATIVE
+#elif defined WINDOWS_NATIVE
 
   static char buf[2 + 10 + 1];
 
-  /* Woe32 has a function returning the locale's codepage as a number:
-     GetACP().
+  /* The Windows API has a function returning the locale's codepage as a
+     number: GetACP().
      When the output goes to a console window, it needs to be provided in
      GetOEMCP() encoding if the console is using a raster font, or in
      GetConsoleOutputCP() encoding if it is using a TrueType font.
@@ -545,5 +542,12 @@ locale_charset (void)
   if (codeset[0] == '\0')
     codeset = "ASCII";
 
+#ifdef DARWIN7
+  /* Mac OS X sets MB_CUR_MAX to 1 when LC_ALL=C, and "UTF-8"
+     (the default codeset) does not work when MB_CUR_MAX is 1.  */
+  if (strcmp (codeset, "UTF-8") == 0 && MB_CUR_MAX <= 1)
+    codeset = "ASCII";
+#endif
+
   return codeset;
 }
index 53c8a94..c209829 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Determine a canonical name for the current locale's character encoding.
-   Copyright (C) 2000-2003, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2009-2013 Free Software Foundation, Inc.
    This file is part of the GNU CHARSET Library.
 
    This program is free software; you can redistribute it and/or modify
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _LOCALCHARSET_H
 #define _LOCALCHARSET_H
diff --git a/lib/locale.in.h b/lib/locale.in.h
new file mode 100644 (file)
index 0000000..264161a
--- /dev/null
@@ -0,0 +1,216 @@
+/* A POSIX <locale.h>.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#ifdef _GL_ALREADY_INCLUDING_LOCALE_H
+
+/* Special invocation conventions to handle Solaris header files
+   (through Solaris 10) when combined with gettext's libintl.h.  */
+
+#@INCLUDE_NEXT@ @NEXT_LOCALE_H@
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _@GUARD_PREFIX@_LOCALE_H
+
+#define _GL_ALREADY_INCLUDING_LOCALE_H
+
+/* The include_next requires a split double-inclusion guard.  */
+#@INCLUDE_NEXT@ @NEXT_LOCALE_H@
+
+#undef _GL_ALREADY_INCLUDING_LOCALE_H
+
+#ifndef _@GUARD_PREFIX@_LOCALE_H
+#define _@GUARD_PREFIX@_LOCALE_H
+
+/* NetBSD 5.0 mis-defines NULL.  */
+#include <stddef.h>
+
+/* Mac OS X 10.5 defines the locale_t type in <xlocale.h>.  */
+#if @HAVE_XLOCALE_H@
+# include <xlocale.h>
+#endif
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+
+/* The definition of _GL_ARG_NONNULL is copied here.  */
+
+/* The definition of _GL_WARN_ON_USE is copied here.  */
+
+/* The LC_MESSAGES locale category is specified in POSIX, but not in ISO C.
+   On systems that don't define it, use the same value as GNU libintl.  */
+#if !defined LC_MESSAGES
+# define LC_MESSAGES 1729
+#endif
+
+/* Bionic libc's 'struct lconv' is just a dummy.  */
+#if @REPLACE_STRUCT_LCONV@
+# define lconv rpl_lconv
+struct lconv
+{
+  /* All 'char *' are actually 'const char *'.  */
+
+  /* Members that depend on the LC_NUMERIC category of the locale.  See
+     <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_04> */
+
+  /* Symbol used as decimal point.  */
+  char *decimal_point;
+  /* Symbol used to separate groups of digits to the left of the decimal
+     point.  */
+  char *thousands_sep;
+  /* Definition of the size of groups of digits to the left of the decimal
+     point.  */
+  char *grouping;
+
+  /* Members that depend on the LC_MONETARY category of the locale.  See
+     <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_03> */
+
+  /* Symbol used as decimal point.  */
+  char *mon_decimal_point;
+  /* Symbol used to separate groups of digits to the left of the decimal
+     point.  */
+  char *mon_thousands_sep;
+  /* Definition of the size of groups of digits to the left of the decimal
+     point.  */
+  char *mon_grouping;
+  /* Sign used to indicate a value >= 0.  */
+  char *positive_sign;
+  /* Sign used to indicate a value < 0.  */
+  char *negative_sign;
+
+  /* For formatting local currency.  */
+  /* Currency symbol (3 characters) followed by separator (1 character).  */
+  char *currency_symbol;
+  /* Number of digits after the decimal point.  */
+  char frac_digits;
+  /* For values >= 0: 1 if the currency symbol precedes the number, 0 if it
+     comes after the number.  */
+  char p_cs_precedes;
+  /* For values >= 0: Position of the sign.  */
+  char p_sign_posn;
+  /* For values >= 0: Placement of spaces between currency symbol, sign, and
+     number.  */
+  char p_sep_by_space;
+  /* For values < 0: 1 if the currency symbol precedes the number, 0 if it
+     comes after the number.  */
+  char n_cs_precedes;
+  /* For values < 0: Position of the sign.  */
+  char n_sign_posn;
+  /* For values < 0: Placement of spaces between currency symbol, sign, and
+     number.  */
+  char n_sep_by_space;
+
+  /* For formatting international currency.  */
+  /* Currency symbol (3 characters) followed by separator (1 character).  */
+  char *int_curr_symbol;
+  /* Number of digits after the decimal point.  */
+  char int_frac_digits;
+  /* For values >= 0: 1 if the currency symbol precedes the number, 0 if it
+     comes after the number.  */
+  char int_p_cs_precedes;
+  /* For values >= 0: Position of the sign.  */
+  char int_p_sign_posn;
+  /* For values >= 0: Placement of spaces between currency symbol, sign, and
+     number.  */
+  char int_p_sep_by_space;
+  /* For values < 0: 1 if the currency symbol precedes the number, 0 if it
+     comes after the number.  */
+  char int_n_cs_precedes;
+  /* For values < 0: Position of the sign.  */
+  char int_n_sign_posn;
+  /* For values < 0: Placement of spaces between currency symbol, sign, and
+     number.  */
+  char int_n_sep_by_space;
+};
+#endif
+
+#if @GNULIB_LOCALECONV@
+# if @REPLACE_LOCALECONV@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef localeconv
+#   define localeconv rpl_localeconv
+#  endif
+_GL_FUNCDECL_RPL (localeconv, struct lconv *, (void));
+_GL_CXXALIAS_RPL (localeconv, struct lconv *, (void));
+# else
+_GL_CXXALIAS_SYS (localeconv, struct lconv *, (void));
+# endif
+_GL_CXXALIASWARN (localeconv);
+#elif @REPLACE_STRUCT_LCONV@
+# undef localeconv
+# define localeconv localeconv_used_without_requesting_gnulib_module_localeconv
+#elif defined GNULIB_POSIXCHECK
+# undef localeconv
+# if HAVE_RAW_DECL_LOCALECONV
+_GL_WARN_ON_USE (localeconv,
+                 "localeconv returns too few information on some platforms - "
+                 "use gnulib module localeconv for portability");
+# endif
+#endif
+
+#if @GNULIB_SETLOCALE@
+# if @REPLACE_SETLOCALE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef setlocale
+#   define setlocale rpl_setlocale
+#   define GNULIB_defined_setlocale 1
+#  endif
+_GL_FUNCDECL_RPL (setlocale, char *, (int category, const char *locale));
+_GL_CXXALIAS_RPL (setlocale, char *, (int category, const char *locale));
+# else
+_GL_CXXALIAS_SYS (setlocale, char *, (int category, const char *locale));
+# endif
+_GL_CXXALIASWARN (setlocale);
+#elif defined GNULIB_POSIXCHECK
+# undef setlocale
+# if HAVE_RAW_DECL_SETLOCALE
+_GL_WARN_ON_USE (setlocale, "setlocale works differently on native Windows - "
+                 "use gnulib module setlocale for portability");
+# endif
+#endif
+
+#if @GNULIB_DUPLOCALE@
+# if @REPLACE_DUPLOCALE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef duplocale
+#   define duplocale rpl_duplocale
+#  endif
+_GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale));
+# else
+#  if @HAVE_DUPLOCALE@
+_GL_CXXALIAS_SYS (duplocale, locale_t, (locale_t locale));
+#  endif
+# endif
+# if @HAVE_DUPLOCALE@
+_GL_CXXALIASWARN (duplocale);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef duplocale
+# if HAVE_RAW_DECL_DUPLOCALE
+_GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - "
+                 "use gnulib module duplocale for portability");
+# endif
+#endif
+
+#endif /* _@GUARD_PREFIX@_LOCALE_H */
+#endif /* ! _GL_ALREADY_INCLUDING_LOCALE_H */
+#endif /* _@GUARD_PREFIX@_LOCALE_H */
diff --git a/lib/localeconv.c b/lib/localeconv.c
new file mode 100644 (file)
index 0000000..7c7c77c
--- /dev/null
@@ -0,0 +1,103 @@
+/* Query locale dependent information for formatting numbers.
+   Copyright (C) 2012-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <locale.h>
+
+#if HAVE_STRUCT_LCONV_DECIMAL_POINT
+
+/* Override for platforms where 'struct lconv' lacks the int_p_*, int_n_*
+   members.  */
+
+struct lconv *
+localeconv (void)
+{
+  static struct lconv result;
+# undef lconv
+# undef localeconv
+  struct lconv *sys_result = localeconv ();
+
+  result.decimal_point = sys_result->decimal_point;
+  result.thousands_sep = sys_result->thousands_sep;
+  result.grouping = sys_result->grouping;
+  result.mon_decimal_point = sys_result->mon_decimal_point;
+  result.mon_thousands_sep = sys_result->mon_thousands_sep;
+  result.mon_grouping = sys_result->mon_grouping;
+  result.positive_sign = sys_result->positive_sign;
+  result.negative_sign = sys_result->negative_sign;
+  result.currency_symbol = sys_result->currency_symbol;
+  result.frac_digits = sys_result->frac_digits;
+  result.p_cs_precedes = sys_result->p_cs_precedes;
+  result.p_sign_posn = sys_result->p_sign_posn;
+  result.p_sep_by_space = sys_result->p_sep_by_space;
+  result.n_cs_precedes = sys_result->n_cs_precedes;
+  result.n_sign_posn = sys_result->n_sign_posn;
+  result.n_sep_by_space = sys_result->n_sep_by_space;
+  result.int_curr_symbol = sys_result->int_curr_symbol;
+  result.int_frac_digits = sys_result->int_frac_digits;
+  result.int_p_cs_precedes = sys_result->p_cs_precedes;
+  result.int_p_sign_posn = sys_result->p_sign_posn;
+  result.int_p_sep_by_space = sys_result->p_sep_by_space;
+  result.int_n_cs_precedes = sys_result->n_cs_precedes;
+  result.int_n_sign_posn = sys_result->n_sign_posn;
+  result.int_n_sep_by_space = sys_result->n_sep_by_space;
+
+  return &result;
+}
+
+#else
+
+/* Override for platforms where 'struct lconv' is a dummy.  */
+
+# include <limits.h>
+
+struct lconv *
+localeconv (void)
+{
+  static /*const*/ struct lconv result =
+    {
+      /* decimal_point */ ".",
+      /* thousands_sep */ "",
+      /* grouping */ "",
+      /* mon_decimal_point */ "",
+      /* mon_thousands_sep */ "",
+      /* mon_grouping */ "",
+      /* positive_sign */ "",
+      /* negative_sign */ "",
+      /* currency_symbol */ "",
+      /* frac_digits */ CHAR_MAX,
+      /* p_cs_precedes */ CHAR_MAX,
+      /* p_sign_posn */ CHAR_MAX,
+      /* p_sep_by_space */ CHAR_MAX,
+      /* n_cs_precedes */ CHAR_MAX,
+      /* n_sign_posn */ CHAR_MAX,
+      /* n_sep_by_space */ CHAR_MAX,
+      /* int_curr_symbol */ "",
+      /* int_frac_digits */ CHAR_MAX,
+      /* int_p_cs_precedes */ CHAR_MAX,
+      /* int_p_sign_posn */ CHAR_MAX,
+      /* int_p_sep_by_space */ CHAR_MAX,
+      /* int_n_cs_precedes */ CHAR_MAX,
+      /* int_n_sign_posn */ CHAR_MAX,
+      /* int_n_sep_by_space */ CHAR_MAX
+    };
+
+  return &result;
+}
+
+#endif
index 29fc6d2..1a613a8 100644 (file)
@@ -1,6 +1,6 @@
 /* Work around a bug of lstat on some systems
 
-   Copyright (C) 1997-2006, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 1997-2006, 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -35,24 +35,27 @@ typedef int dummy;
 # include <sys/stat.h>
 # undef __need_system_sys_stat_h
 
-static inline int
+static int
 orig_lstat (const char *filename, struct stat *buf)
 {
   return lstat (filename, buf);
 }
 
 /* Specification.  */
-# include <sys/stat.h>
+/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+   eliminates this include because of the preliminary #include <sys/stat.h>
+   above.  */
+# include "sys/stat.h"
 
 # include <string.h>
 # include <errno.h>
 
 /* lstat works differently on Linux and Solaris systems.  POSIX (see
-   `pathname resolution' in the glossary) requires that programs like
-   `ls' take into consideration the fact that FILE has a trailing slash
+   "pathname resolution" in the glossary) requires that programs like
+   'ls' take into consideration the fact that FILE has a trailing slash
    when FILE is a symbolic link.  On Linux and Solaris 10 systems, the
    lstat function already has the desired semantics (in treating
-   `lstat ("symlink/", sbuf)' just like `lstat ("symlink/.", sbuf)',
+   'lstat ("symlink/", sbuf)' just like 'lstat ("symlink/.", sbuf)',
    but on Solaris 9 and earlier it does not.
 
    If FILE has a trailing slash and specifies a symbolic link,
index 7d2c090..908735d 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* malloc() function that is glibc compatible.
 
-   Copyright (C) 1997-1998, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1997-1998, 2006-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* written by Jim Meyering and Bruno Haible */
 
index 11482c5..3cd2f6d 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Safe automatic memory allocation.
-   Copyright (C) 2003, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2009-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2003.
 
    This program is free software; you can redistribute it and/or modify
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #define _GL_USE_STDLIB_ALLOC 1
 #include <config.h>
@@ -24,6 +21,8 @@
 /* Specification.  */
 #include "malloca.h"
 
+#include <stdint.h>
+
 #include "verify.h"
 
 /* The speed critical point in this file is freea() applied to an alloca()
@@ -87,7 +86,7 @@ mmalloca (size_t n)
           ((int *) p)[-1] = MAGIC_NUMBER;
 
           /* Enter p into the hash table.  */
-          slot = (unsigned long) p % HASH_TABLE_SIZE;
+          slot = (uintptr_t) p % HASH_TABLE_SIZE;
           ((struct header *) (p - HEADER_SIZE))->next = mmalloca_results[slot];
           mmalloca_results[slot] = p;
 
@@ -120,7 +119,7 @@ freea (void *p)
         {
           /* Looks like a mmalloca() result.  To see whether it really is one,
              perform a lookup in the hash table.  */
-          size_t slot = (unsigned long) p % HASH_TABLE_SIZE;
+          size_t slot = (uintptr_t) p % HASH_TABLE_SIZE;
           void **chain = &mmalloca_results[slot];
           for (; *chain != NULL;)
             {
index 933fa7e..906d47a 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Safe automatic memory allocation.
-   Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2003.
 
    This program is free software; you can redistribute it and/or modify
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _MALLOCA_H
 #define _MALLOCA_H
@@ -45,7 +42,7 @@ extern "C" {
    and a page size can be as small as 4096 bytes.  So we cannot safely
    allocate anything larger than 4096 bytes.  Also care for the possibility
    of a few compiler-allocated temporary stack slots.
-   This must be a macro, not an inline function.  */
+   This must be a macro, not a function.  */
 # define safe_alloca(N) ((N) < 4032 ? alloca (N) : NULL)
 #else
 # define safe_alloca(N) ((void) (N), NULL)
index c9b0dcd..7482c31 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2006, 2009-2011 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -16,6 +16,8 @@
 
 #include <config.h>
 
+#define MBCHAR_INLINE _GL_EXTERN_INLINE
+
 #include <limits.h>
 
 #include "mbchar.h"
index 6dcb6cf..327c957 100644 (file)
@@ -1,5 +1,5 @@
 /* Multibyte character data type.
-   Copyright (C) 2001, 2005-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2005-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #include <wchar.h>
 #include <wctype.h>
 
+_GL_INLINE_HEADER_BEGIN
+#ifndef MBCHAR_INLINE
+# define MBCHAR_INLINE _GL_INLINE
+#endif
+
 #define MBCHAR_BUF_SIZE 24
 
 struct mbchar
@@ -235,7 +240,7 @@ typedef struct mbchar mbchar_t;
 /* Unprintable characters appear as a small box of width 1.  */
 #define MB_UNPRINTABLE_WIDTH 1
 
-static inline int
+MBCHAR_INLINE int
 mb_width_aux (wint_t wc)
 {
   int w = wcwidth (wc);
@@ -256,7 +261,7 @@ mb_width_aux (wint_t wc)
    (mbc)->wc = (mbc)->buf[0] = (sc))
 
 /* Copying a character.  */
-static inline void
+MBCHAR_INLINE void
 mb_copy (mbchar_t *new_mbc, const mbchar_t *old_mbc)
 {
   if (old_mbc->ptr == &old_mbc->buf[0])
@@ -304,7 +309,7 @@ mb_copy (mbchar_t *new_mbc, const mbchar_t *old_mbc)
 
 extern const unsigned int is_basic_table[];
 
-static inline bool
+MBCHAR_INLINE bool
 is_basic (char c)
 {
   return (is_basic_table [(unsigned char) c >> 5] >> ((unsigned char) c & 31))
@@ -313,7 +318,7 @@ is_basic (char c)
 
 #else
 
-static inline bool
+MBCHAR_INLINE bool
 is_basic (char c)
 {
   switch (c)
@@ -347,4 +352,6 @@ is_basic (char c)
 
 #endif
 
+_GL_INLINE_HEADER_END
+
 #endif /* _MBCHAR_H */
diff --git a/lib/mbiter.c b/lib/mbiter.c
new file mode 100644 (file)
index 0000000..22a1ff8
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+#define MBITER_INLINE _GL_EXTERN_INLINE
+#include "mbiter.h"
index 38cf6b1..24504c3 100644 (file)
@@ -1,5 +1,5 @@
 /* Iterating through multibyte strings: macros for multi-byte encodings.
-   Copyright (C) 2001, 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2005, 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -47,9 +47,9 @@
      initializes the iterator, starting at startptr and crossing length bytes.
 
    mbi_avail (iter)
-     returns true if there are more multibyte chracters available before
+     returns true if there are more multibyte characters available before
      the end of string is reached. In this case, mbi_cur (iter) is
-     initialized to the next multibyte chracter.
+     initialized to the next multibyte character.
 
    mbi_advance (iter)
      advances the iterator by one multibyte character.
 
 #include "mbchar.h"
 
+_GL_INLINE_HEADER_BEGIN
+#ifndef MBITER_INLINE
+# define MBITER_INLINE _GL_INLINE
+#endif
+
 struct mbiter_multi
 {
   const char *limit;    /* pointer to end of string */
@@ -112,7 +117,7 @@ struct mbiter_multi
         */
 };
 
-static inline void
+MBITER_INLINE void
 mbiter_multi_next (struct mbiter_multi *iter)
 {
   if (iter->next_done)
@@ -172,14 +177,14 @@ mbiter_multi_next (struct mbiter_multi *iter)
   iter->next_done = true;
 }
 
-static inline void
+MBITER_INLINE void
 mbiter_multi_reloc (struct mbiter_multi *iter, ptrdiff_t ptrdiff)
 {
   iter->cur.ptr += ptrdiff;
   iter->limit += ptrdiff;
 }
 
-static inline void
+MBITER_INLINE void
 mbiter_multi_copy (struct mbiter_multi *new_iter, const struct mbiter_multi *old_iter)
 {
   new_iter->limit = old_iter->limit;
@@ -212,4 +217,6 @@ typedef struct mbiter_multi mbi_iterator_t;
 /* Copying an iterator.  */
 #define mbi_copy mbiter_multi_copy
 
+_GL_INLINE_HEADER_END
+
 #endif /* _MBITER_H */
index 7a8e599..5ee44ae 100644 (file)
@@ -1,5 +1,5 @@
 /* Convert multibyte character to wide character.
-   Copyright (C) 1999-2002, 2005-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2002, 2005-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
@@ -128,7 +128,7 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
       {
         const char *encoding = locale_charset ();
 
-        if (STREQ (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
+        if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
           {
             /* Cf. unistr/u8-mblen.c.  */
             unsigned char c = (unsigned char) p[0];
@@ -185,7 +185,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
         /* As a reference for this code, you can use the GNU libiconv
            implementation.  Look for uses of the RET_TOOFEW macro.  */
 
-        if (STREQ (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0))
+        if (STREQ_OPT (encoding,
+                       "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0))
           {
             if (m == 1)
               {
@@ -208,9 +209,12 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
               }
             goto invalid;
           }
-        if (STREQ (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0)
-            || STREQ (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0)
-            || STREQ (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0))
+        if (STREQ_OPT (encoding,
+                       "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0)
+            || STREQ_OPT (encoding,
+                          "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0)
+            || STREQ_OPT (encoding,
+                          "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0))
           {
             if (m == 1)
               {
@@ -221,7 +225,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
               }
             goto invalid;
           }
-        if (STREQ (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0))
+        if (STREQ_OPT (encoding,
+                       "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0))
           {
             if (m == 1)
               {
@@ -239,7 +244,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
               }
             goto invalid;
           }
-        if (STREQ (encoding, "GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0))
+        if (STREQ_OPT (encoding,
+                       "GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0))
           {
             if (m == 1)
               {
@@ -272,7 +278,7 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
               }
             goto invalid;
           }
-        if (STREQ (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0))
+        if (STREQ_OPT (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0))
           {
             if (m == 1)
               {
index dfff49c..97ef1da 100644 (file)
@@ -1,5 +1,5 @@
 /* Case-insensitive string comparison function.
-   Copyright (C) 1998-1999, 2005-2011 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2005,
    based on earlier glibc code.
 
index 8ac2137..26fbb7f 100644 (file)
@@ -1,5 +1,5 @@
 /* Test for initial conversion state.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
index efddd52..85e938b 100644 (file)
@@ -1,5 +1,5 @@
 /* Counting the multibyte characters in a string.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2007.
 
    This program is free software: you can redistribute it and/or modify
index e78bbfb..b50e973 100644 (file)
@@ -1,5 +1,5 @@
 /* Convert string to wide string.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
index 91073b5..5a0b888 100644 (file)
@@ -1,5 +1,5 @@
 /* Convert string to wide string.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
@@ -22,7 +22,7 @@
 /* Internal state used by the functions mbsrtowcs() and mbsnrtowcs().  */
 mbstate_t _gl_mbsrtowcs_state
 /* The state must initially be in the "initial state"; so, zero-initialize it.
-   On most systems, putting it into BSS is sufficient.  Not so on MacOS X 10.3,
+   On most systems, putting it into BSS is sufficient.  Not so on Mac OS X 10.3,
    see <http://lists.gnu.org/archive/html/bug-gnulib/2009-01/msg00329.html>.
    When it needs an initializer, use 0 or {0} as initializer? 0 only works
    when mbstate_t is a scalar type (such as when gnulib defines it, or on
index 69e6dff..116ff49 100644 (file)
@@ -1,5 +1,5 @@
 /* Convert string to wide string.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
index 611000e..f84e689 100644 (file)
@@ -1,5 +1,5 @@
 /* Searching in a string.
-   Copyright (C) 2005-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2005.
 
    This program is free software: you can redistribute it and/or modify
index 1645eb5..767ab39 100644 (file)
@@ -1,5 +1,5 @@
 /* Convert multibyte character to wide character.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
index b3848a1..632f2e1 100644 (file)
@@ -1,5 +1,5 @@
 /* Convert multibyte character to wide character.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/lib/mbuiter.c b/lib/mbuiter.c
new file mode 100644 (file)
index 0000000..9167580
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+#define MBUITER_INLINE _GL_EXTERN_INLINE
+#include "mbuiter.h"
index 178f36e..c5f5fce 100644 (file)
@@ -1,5 +1,5 @@
 /* Iterating through multibyte strings: macros for multi-byte encodings.
-   Copyright (C) 2001, 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2005, 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -55,9 +55,9 @@
      initializes the iterator, starting at startptr.
 
    mbui_avail (iter)
-     returns true if there are more multibyte chracters available before
+     returns true if there are more multibyte characters available before
      the end of string is reached. In this case, mbui_cur (iter) is
-     initialized to the next multibyte chracter.
+     initialized to the next multibyte character.
 
    mbui_advance (iter)
      advances the iterator by one multibyte character.
 #include "mbchar.h"
 #include "strnlen1.h"
 
+_GL_INLINE_HEADER_BEGIN
+#ifndef MBUITER_INLINE
+# define MBUITER_INLINE _GL_INLINE
+#endif
+
 struct mbuiter_multi
 {
   bool in_shift;        /* true if next byte may not be interpreted as ASCII */
@@ -120,7 +125,7 @@ struct mbuiter_multi
         */
 };
 
-static inline void
+MBUITER_INLINE void
 mbuiter_multi_next (struct mbuiter_multi *iter)
 {
   if (iter->next_done)
@@ -181,13 +186,13 @@ mbuiter_multi_next (struct mbuiter_multi *iter)
   iter->next_done = true;
 }
 
-static inline void
+MBUITER_INLINE void
 mbuiter_multi_reloc (struct mbuiter_multi *iter, ptrdiff_t ptrdiff)
 {
   iter->cur.ptr += ptrdiff;
 }
 
-static inline void
+MBUITER_INLINE void
 mbuiter_multi_copy (struct mbuiter_multi *new_iter, const struct mbuiter_multi *old_iter)
 {
   if ((new_iter->in_shift = old_iter->in_shift))
@@ -219,4 +224,6 @@ typedef struct mbuiter_multi mbui_iterator_t;
 /* Copying an iterator.  */
 #define mbui_copy mbuiter_multi_copy
 
+_GL_INLINE_HEADER_END
+
 #endif /* _MBUITER_H */
index 6d903b1..3db38a9 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2011
+/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2013
    Free Software Foundation, Inc.
 
    Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
index 3c8437e..7a9af6c 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2011 Free Software
+/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2013 Free Software
    Foundation, Inc.
    This file is derived from the one in the GNU C Library.
 
index 9b4d1f1..e660a23 100644 (file)
@@ -1,23 +1,21 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Convert a `struct tm' to a time_t value.
-   Copyright (C) 1993-1999, 2002-2007, 2009-2011 Free Software Foundation, Inc.
+/* Convert a 'struct tm' to a time_t value.
+   Copyright (C) 1993-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Paul Eggert <eggert@twinsun.com>.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public
+   License as published by the Free Software Foundation; either
+   version 3 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
 
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+   You should have received a copy of the GNU General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
 
 /* Define this to have a standalone program to test this implementation of
    mktime.  */
 # include <config.h>
 #endif
 
-/* Some of the code in this file assumes that signed integer overflow
-   silently wraps around.  This assumption can't easily be programmed
-   around, nor can it be checked for portably at compile-time or
-   easily eliminated at run-time.
-
-   Define WRAPV to 1 if the assumption is valid.  Otherwise, define it
-   to 0; this forces the use of slower code that, while not guaranteed
-   by the C Standard, works on all production platforms that we know
-   about.  */
-#ifndef WRAPV
-# if (__GNUC__ == 4 && 4 <= __GNUC_MINOR__) || 4 < __GNUC__
-#  pragma GCC optimize ("wrapv")
-#  define WRAPV 1
-# else
-#  define WRAPV 0
-# endif
-#endif
-
 /* Assume that leap seconds are possible, unless told otherwise.
-   If the host has a `zic' command with a `-L leapsecondfilename' option,
+   If the host has a 'zic' command with a '-L leapsecondfilename' option,
    then it supports leap seconds; otherwise it probably doesn't.  */
 #ifndef LEAP_SECONDS_POSSIBLE
 # define LEAP_SECONDS_POSSIBLE 1
@@ -56,7 +36,7 @@
 
 #include <limits.h>
 
-#include <string.h>             /* For the real memcpy prototype.  */
+#include <string.h>            /* For the real memcpy prototype.  */
 
 #if DEBUG
 # include <stdio.h>
 # define mktime my_mktime
 #endif /* DEBUG */
 
+/* Some of the code in this file assumes that signed integer overflow
+   silently wraps around.  This assumption can't easily be programmed
+   around, nor can it be checked for portably at compile-time or
+   easily eliminated at run-time.
+
+   Define WRAPV to 1 if the assumption is valid and if
+     #pragma GCC optimize ("wrapv")
+   does not trigger GCC bug 51793
+   <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51793>.
+   Otherwise, define it to 0; this forces the use of slower code that,
+   while not guaranteed by the C Standard, works on all production
+   platforms that we know about.  */
+#ifndef WRAPV
+# if (((__GNUC__ == 4 && 4 <= __GNUC_MINOR__) || 4 < __GNUC__) \
+      && defined __GLIBC__)
+#  pragma GCC optimize ("wrapv")
+#  define WRAPV 1
+# else
+#  define WRAPV 0
+# endif
+#endif
+
 /* Verify a requirement at compile-time (unlike assert, which is runtime).  */
 #define verify(name, assertion) struct name { char a[(assertion) ? 1 : -1]; }
 
@@ -114,12 +116,12 @@ verify (long_int_is_wide_enough, INT_MAX == INT_MAX * (long_int) 2 / 2);
    your host.  */
 #define TYPE_MINIMUM(t) \
   ((t) (! TYPE_SIGNED (t) \
-        ? (t) 0 \
-        : ~ TYPE_MAXIMUM (t)))
+       ? (t) 0 \
+       : ~ TYPE_MAXIMUM (t)))
 #define TYPE_MAXIMUM(t) \
   ((t) (! TYPE_SIGNED (t) \
-        ? (t) -1 \
-        : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
+       ? (t) -1 \
+       : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
 
 #ifndef TIME_T_MIN
 # define TIME_T_MIN TYPE_MINIMUM (time_t)
@@ -131,16 +133,16 @@ verify (long_int_is_wide_enough, INT_MAX == INT_MAX * (long_int) 2 / 2);
 
 verify (time_t_is_integer, TYPE_IS_INTEGER (time_t));
 verify (twos_complement_arithmetic,
-        (TYPE_TWOS_COMPLEMENT (int)
-         && TYPE_TWOS_COMPLEMENT (long_int)
-         && TYPE_TWOS_COMPLEMENT (time_t)));
+       (TYPE_TWOS_COMPLEMENT (int)
+        && TYPE_TWOS_COMPLEMENT (long_int)
+        && TYPE_TWOS_COMPLEMENT (time_t)));
 
 #define EPOCH_YEAR 1970
 #define TM_YEAR_BASE 1900
 verify (base_year_is_a_multiple_of_100, TM_YEAR_BASE % 100 == 0);
 
 /* Return 1 if YEAR + TM_YEAR_BASE is a leap year.  */
-static inline int
+static int
 leapyear (long_int year)
 {
   /* Don't add YEAR to TM_YEAR_BASE, as that might overflow.
@@ -148,7 +150,7 @@ leapyear (long_int year)
   return
     ((year & 3) == 0
      && (year % 100 != 0
-         || ((year / 100) & 3) == (- (TM_YEAR_BASE / 100) & 3)));
+        || ((year / 100) & 3) == (- (TM_YEAR_BASE / 100) & 3)));
 }
 
 /* How many days come before each month (0-12).  */
@@ -180,7 +182,7 @@ const unsigned short int __mon_yday[2][13] =
 static int
 isdst_differ (int a, int b)
 {
-  return (!a != !b) & (0 <= a) & (0 <= b);
+  return (!a != !b) && (0 <= a) && (0 <= b);
 }
 
 /* Return an integer value measuring (YEAR1-YDAY1 HOUR1:MIN1:SEC1) -
@@ -194,9 +196,9 @@ isdst_differ (int a, int b)
    The result may overflow.  It is the caller's responsibility to
    detect overflow.  */
 
-static inline time_t
+static time_t
 ydhms_diff (long_int year1, long_int yday1, int hour1, int min1, int sec1,
-            int year0, int yday0, int hour0, int min0, int sec0)
+           int year0, int yday0, int hour0, int min0, int sec0)
 {
   verify (C99_integer_division, -1 / 2 == 0);
 
@@ -277,15 +279,15 @@ time_t_int_add_ok (time_t a, int b)
    yield a value equal to *T.  */
 static time_t
 guess_time_tm (long_int year, long_int yday, int hour, int min, int sec,
-               const time_t *t, const struct tm *tp)
+              const time_t *t, const struct tm *tp)
 {
   if (tp)
     {
       time_t d = ydhms_diff (year, yday, hour, min, sec,
-                             tp->tm_year, tp->tm_yday,
-                             tp->tm_hour, tp->tm_min, tp->tm_sec);
+                            tp->tm_year, tp->tm_yday,
+                            tp->tm_hour, tp->tm_min, tp->tm_sec);
       if (time_t_add_ok (*t, d))
-        return *t + d;
+       return *t + d;
     }
 
   /* Overflow occurred one way or another.  Return the nearest result
@@ -294,8 +296,8 @@ guess_time_tm (long_int year, long_int yday, int hour, int min, int sec,
      match; and don't oscillate between two values, as that would
      confuse the spring-forward gap detector.  */
   return (*t < TIME_T_MIDPOINT
-          ? (*t <= TIME_T_MIN + 1 ? *t + 1 : TIME_T_MIN)
-          : (TIME_T_MAX - 1 <= *t ? *t - 1 : TIME_T_MAX));
+         ? (*t <= TIME_T_MIN + 1 ? *t + 1 : TIME_T_MIN)
+         : (TIME_T_MAX - 1 <= *t ? *t - 1 : TIME_T_MAX));
 }
 
 /* Use CONVERT to convert *T to a broken down time in *TP.
@@ -303,7 +305,7 @@ guess_time_tm (long_int year, long_int yday, int hour, int min, int sec,
    it is the nearest in-range value and then convert that.  */
 static struct tm *
 ranged_convert (struct tm *(*convert) (const time_t *, struct tm *),
-                time_t *t, struct tm *tp)
+               time_t *t, struct tm *tp)
 {
   struct tm *r = convert (t, tp);
 
@@ -313,25 +315,25 @@ ranged_convert (struct tm *(*convert) (const time_t *, struct tm *),
       time_t ok = 0;
 
       /* BAD is a known unconvertible time_t, and OK is a known good one.
-         Use binary search to narrow the range between BAD and OK until
-         they differ by 1.  */
+        Use binary search to narrow the range between BAD and OK until
+        they differ by 1.  */
       while (bad != ok + (bad < 0 ? -1 : 1))
-        {
-          time_t mid = *t = time_t_avg (ok, bad);
-          r = convert (t, tp);
-          if (r)
-            ok = mid;
-          else
-            bad = mid;
-        }
+       {
+         time_t mid = *t = time_t_avg (ok, bad);
+         r = convert (t, tp);
+         if (r)
+           ok = mid;
+         else
+           bad = mid;
+       }
 
       if (!r && ok)
-        {
-          /* The last conversion attempt failed;
-             revert to the most recent successful attempt.  */
-          *t = ok;
-          r = convert (t, tp);
-        }
+       {
+         /* The last conversion attempt failed;
+            revert to the most recent successful attempt.  */
+         *t = ok;
+         r = convert (t, tp);
+       }
     }
 
   return r;
@@ -346,8 +348,8 @@ ranged_convert (struct tm *(*convert) (const time_t *, struct tm *),
    This function is external because it is used also by timegm.c.  */
 time_t
 __mktime_internal (struct tm *tp,
-                   struct tm *(*convert) (const time_t *, struct tm *),
-                   time_t *offset)
+                  struct tm *(*convert) (const time_t *, struct tm *),
+                  time_t *offset)
 {
   time_t t, gt, t0, t1, t2;
   struct tm tm;
@@ -386,8 +388,8 @@ __mktime_internal (struct tm *tp,
   /* Calculate day of year from year, month, and day of month.
      The result need not be in range.  */
   int mon_yday = ((__mon_yday[leapyear (year)]
-                   [mon_remainder + 12 * negative_mon_remainder])
-                  - 1);
+                  [mon_remainder + 12 * negative_mon_remainder])
+                 - 1);
   long_int lmday = mday;
   long_int yday = mon_yday + lmday;
 
@@ -398,33 +400,33 @@ __mktime_internal (struct tm *tp,
   if (LEAP_SECONDS_POSSIBLE)
     {
       /* Handle out-of-range seconds specially,
-         since ydhms_tm_diff assumes every minute has 60 seconds.  */
+        since ydhms_tm_diff assumes every minute has 60 seconds.  */
       if (sec < 0)
-        sec = 0;
+       sec = 0;
       if (59 < sec)
-        sec = 59;
+       sec = 59;
     }
 
   /* Invert CONVERT by probing.  First assume the same offset as last
      time.  */
 
   t0 = ydhms_diff (year, yday, hour, min, sec,
-                   EPOCH_YEAR - TM_YEAR_BASE, 0, 0, 0, - guessed_offset);
+                  EPOCH_YEAR - TM_YEAR_BASE, 0, 0, 0, - guessed_offset);
 
   if (TIME_T_MAX / INT_MAX / 366 / 24 / 60 / 60 < 3)
     {
       /* time_t isn't large enough to rule out overflows, so check
-         for major overflows.  A gross check suffices, since if t0
-         has overflowed, it is off by a multiple of TIME_T_MAX -
-         TIME_T_MIN + 1.  So ignore any component of the difference
-         that is bounded by a small value.  */
+        for major overflows.  A gross check suffices, since if t0
+        has overflowed, it is off by a multiple of TIME_T_MAX -
+        TIME_T_MIN + 1.  So ignore any component of the difference
+        that is bounded by a small value.  */
 
       /* Approximate log base 2 of the number of time units per
-         biennium.  A biennium is 2 years; use this unit instead of
-         years to avoid integer overflow.  For example, 2 average
-         Gregorian years are 2 * 365.2425 * 24 * 60 * 60 seconds,
-         which is 63113904 seconds, and rint (log2 (63113904)) is
-         26.  */
+        biennium.  A biennium is 2 years; use this unit instead of
+        years to avoid integer overflow.  For example, 2 average
+        Gregorian years are 2 * 365.2425 * 24 * 60 * 60 seconds,
+        which is 63113904 seconds, and rint (log2 (63113904)) is
+        26.  */
       int ALOG2_SECONDS_PER_BIENNIUM = 26;
       int ALOG2_MINUTES_PER_BIENNIUM = 20;
       int ALOG2_HOURS_PER_BIENNIUM = 14;
@@ -432,64 +434,64 @@ __mktime_internal (struct tm *tp,
       int LOG2_YEARS_PER_BIENNIUM = 1;
 
       int approx_requested_biennia =
-        (SHR (year_requested, LOG2_YEARS_PER_BIENNIUM)
-         - SHR (EPOCH_YEAR - TM_YEAR_BASE, LOG2_YEARS_PER_BIENNIUM)
-         + SHR (mday, ALOG2_DAYS_PER_BIENNIUM)
-         + SHR (hour, ALOG2_HOURS_PER_BIENNIUM)
-         + SHR (min, ALOG2_MINUTES_PER_BIENNIUM)
-         + (LEAP_SECONDS_POSSIBLE
-            ? 0
-            : SHR (sec, ALOG2_SECONDS_PER_BIENNIUM)));
+       (SHR (year_requested, LOG2_YEARS_PER_BIENNIUM)
+        - SHR (EPOCH_YEAR - TM_YEAR_BASE, LOG2_YEARS_PER_BIENNIUM)
+        + SHR (mday, ALOG2_DAYS_PER_BIENNIUM)
+        + SHR (hour, ALOG2_HOURS_PER_BIENNIUM)
+        + SHR (min, ALOG2_MINUTES_PER_BIENNIUM)
+        + (LEAP_SECONDS_POSSIBLE
+           ? 0
+           : SHR (sec, ALOG2_SECONDS_PER_BIENNIUM)));
 
       int approx_biennia = SHR (t0, ALOG2_SECONDS_PER_BIENNIUM);
       int diff = approx_biennia - approx_requested_biennia;
-      int abs_diff = diff < 0 ? -1 - diff : diff;
+      int approx_abs_diff = diff < 0 ? -1 - diff : diff;
 
       /* IRIX 4.0.5 cc miscalculates TIME_T_MIN / 3: it erroneously
-         gives a positive value of 715827882.  Setting a variable
-         first then doing math on it seems to work.
-         (ghazi@caip.rutgers.edu) */
+        gives a positive value of 715827882.  Setting a variable
+        first then doing math on it seems to work.
+        (ghazi@caip.rutgers.edu) */
       time_t time_t_max = TIME_T_MAX;
       time_t time_t_min = TIME_T_MIN;
       time_t overflow_threshold =
-        (time_t_max / 3 - time_t_min / 3) >> ALOG2_SECONDS_PER_BIENNIUM;
-
-      if (overflow_threshold < abs_diff)
-        {
-          /* Overflow occurred.  Try repairing it; this might work if
-             the time zone offset is enough to undo the overflow.  */
-          time_t repaired_t0 = -1 - t0;
-          approx_biennia = SHR (repaired_t0, ALOG2_SECONDS_PER_BIENNIUM);
-          diff = approx_biennia - approx_requested_biennia;
-          abs_diff = diff < 0 ? -1 - diff : diff;
-          if (overflow_threshold < abs_diff)
-            return -1;
-          guessed_offset += repaired_t0 - t0;
-          t0 = repaired_t0;
-        }
+       (time_t_max / 3 - time_t_min / 3) >> ALOG2_SECONDS_PER_BIENNIUM;
+
+      if (overflow_threshold < approx_abs_diff)
+       {
+         /* Overflow occurred.  Try repairing it; this might work if
+            the time zone offset is enough to undo the overflow.  */
+         time_t repaired_t0 = -1 - t0;
+         approx_biennia = SHR (repaired_t0, ALOG2_SECONDS_PER_BIENNIUM);
+         diff = approx_biennia - approx_requested_biennia;
+         approx_abs_diff = diff < 0 ? -1 - diff : diff;
+         if (overflow_threshold < approx_abs_diff)
+           return -1;
+         guessed_offset += repaired_t0 - t0;
+         t0 = repaired_t0;
+       }
     }
 
   /* Repeatedly use the error to improve the guess.  */
 
   for (t = t1 = t2 = t0, dst2 = 0;
        (gt = guess_time_tm (year, yday, hour, min, sec, &t,
-                            ranged_convert (convert, &t, &tm)),
-        t != gt);
+                           ranged_convert (convert, &t, &tm)),
+       t != gt);
        t1 = t2, t2 = t, t = gt, dst2 = tm.tm_isdst != 0)
     if (t == t1 && t != t2
-        && (tm.tm_isdst < 0
-            || (isdst < 0
-                ? dst2 <= (tm.tm_isdst != 0)
-                : (isdst != 0) != (tm.tm_isdst != 0))))
+       && (tm.tm_isdst < 0
+           || (isdst < 0
+               ? dst2 <= (tm.tm_isdst != 0)
+               : (isdst != 0) != (tm.tm_isdst != 0))))
       /* We can't possibly find a match, as we are oscillating
-         between two values.  The requested time probably falls
-         within a spring-forward gap of size GT - T.  Follow the common
-         practice in this case, which is to return a time that is GT - T
-         away from the requested time, preferring a time whose
-         tm_isdst differs from the requested value.  (If no tm_isdst
-         was requested and only one of the two values has a nonzero
-         tm_isdst, prefer that value.)  In practice, this is more
-         useful than returning -1.  */
+        between two values.  The requested time probably falls
+        within a spring-forward gap of size GT - T.  Follow the common
+        practice in this case, which is to return a time that is GT - T
+        away from the requested time, preferring a time whose
+        tm_isdst differs from the requested value.  (If no tm_isdst
+        was requested and only one of the two values has a nonzero
+        tm_isdst, prefer that value.)  In practice, this is more
+        useful than returning -1.  */
       goto offset_found;
     else if (--remaining_probes == 0)
       return -1;
@@ -499,50 +501,50 @@ __mktime_internal (struct tm *tp,
   if (isdst_differ (isdst, tm.tm_isdst))
     {
       /* tm.tm_isdst has the wrong value.  Look for a neighboring
-         time with the right value, and use its UTC offset.
+        time with the right value, and use its UTC offset.
 
-         Heuristic: probe the adjacent timestamps in both directions,
-         looking for the desired isdst.  This should work for all real
-         time zone histories in the tz database.  */
+        Heuristic: probe the adjacent timestamps in both directions,
+        looking for the desired isdst.  This should work for all real
+        time zone histories in the tz database.  */
 
       /* Distance between probes when looking for a DST boundary.  In
-         tzdata2003a, the shortest period of DST is 601200 seconds
-         (e.g., America/Recife starting 2000-10-08 01:00), and the
-         shortest period of non-DST surrounded by DST is 694800
-         seconds (Africa/Tunis starting 1943-04-17 01:00).  Use the
-         minimum of these two values, so we don't miss these short
-         periods when probing.  */
+        tzdata2003a, the shortest period of DST is 601200 seconds
+        (e.g., America/Recife starting 2000-10-08 01:00), and the
+        shortest period of non-DST surrounded by DST is 694800
+        seconds (Africa/Tunis starting 1943-04-17 01:00).  Use the
+        minimum of these two values, so we don't miss these short
+        periods when probing.  */
       int stride = 601200;
 
       /* The longest period of DST in tzdata2003a is 536454000 seconds
-         (e.g., America/Jujuy starting 1946-10-01 01:00).  The longest
-         period of non-DST is much longer, but it makes no real sense
-         to search for more than a year of non-DST, so use the DST
-         max.  */
+        (e.g., America/Jujuy starting 1946-10-01 01:00).  The longest
+        period of non-DST is much longer, but it makes no real sense
+        to search for more than a year of non-DST, so use the DST
+        max.  */
       int duration_max = 536454000;
 
       /* Search in both directions, so the maximum distance is half
-         the duration; add the stride to avoid off-by-1 problems.  */
+        the duration; add the stride to avoid off-by-1 problems.  */
       int delta_bound = duration_max / 2 + stride;
 
       int delta, direction;
 
       for (delta = stride; delta < delta_bound; delta += stride)
-        for (direction = -1; direction <= 1; direction += 2)
-          if (time_t_int_add_ok (t, delta * direction))
-            {
-              time_t ot = t + delta * direction;
-              struct tm otm;
-              ranged_convert (convert, &ot, &otm);
-              if (! isdst_differ (isdst, otm.tm_isdst))
-                {
-                  /* We found the desired tm_isdst.
-                     Extrapolate back to the desired time.  */
-                  t = guess_time_tm (year, yday, hour, min, sec, &ot, &otm);
-                  ranged_convert (convert, &t, &tm);
-                  goto offset_found;
-                }
-            }
+       for (direction = -1; direction <= 1; direction += 2)
+         if (time_t_int_add_ok (t, delta * direction))
+           {
+             time_t ot = t + delta * direction;
+             struct tm otm;
+             ranged_convert (convert, &ot, &otm);
+             if (! isdst_differ (isdst, otm.tm_isdst))
+               {
+                 /* We found the desired tm_isdst.
+                    Extrapolate back to the desired time.  */
+                 t = guess_time_tm (year, yday, hour, min, sec, &ot, &otm);
+                 ranged_convert (convert, &t, &tm);
+                 goto offset_found;
+               }
+           }
     }
 
  offset_found:
@@ -551,16 +553,16 @@ __mktime_internal (struct tm *tp,
   if (LEAP_SECONDS_POSSIBLE && sec_requested != tm.tm_sec)
     {
       /* Adjust time to reflect the tm_sec requested, not the normalized value.
-         Also, repair any damage from a false match due to a leap second.  */
+        Also, repair any damage from a false match due to a leap second.  */
       int sec_adjustment = (sec == 0 && tm.tm_sec == 60) - sec;
       if (! time_t_int_add_ok (t, sec_requested))
-        return -1;
+       return -1;
       t1 = t + sec_requested;
       if (! time_t_int_add_ok (t1, sec_adjustment))
-        return -1;
+       return -1;
       t2 = t1 + sec_adjustment;
       if (! convert (&t2, &tm))
-        return -1;
+       return -1;
       t = t2;
     }
 
@@ -581,7 +583,7 @@ mktime (struct tm *tp)
 {
 #ifdef _LIBC
   /* POSIX.1 8.1.1 requires that whenever mktime() is called, the
-     time zone names contained in the external variable `tzname' shall
+     time zone names contained in the external variable 'tzname' shall
      be set as if the tzset() function had been called.  */
   __tzset ();
 #endif
@@ -604,13 +606,13 @@ static int
 not_equal_tm (const struct tm *a, const struct tm *b)
 {
   return ((a->tm_sec ^ b->tm_sec)
-          | (a->tm_min ^ b->tm_min)
-          | (a->tm_hour ^ b->tm_hour)
-          | (a->tm_mday ^ b->tm_mday)
-          | (a->tm_mon ^ b->tm_mon)
-          | (a->tm_year ^ b->tm_year)
-          | (a->tm_yday ^ b->tm_yday)
-          | isdst_differ (a->tm_isdst, b->tm_isdst));
+         | (a->tm_min ^ b->tm_min)
+         | (a->tm_hour ^ b->tm_hour)
+         | (a->tm_mday ^ b->tm_mday)
+         | (a->tm_mon ^ b->tm_mon)
+         | (a->tm_year ^ b->tm_year)
+         | (a->tm_yday ^ b->tm_yday)
+         | isdst_differ (a->tm_isdst, b->tm_isdst));
 }
 
 static void
@@ -618,9 +620,9 @@ print_tm (const struct tm *tp)
 {
   if (tp)
     printf ("%04d-%02d-%02d %02d:%02d:%02d yday %03d wday %d isdst %d",
-            tp->tm_year + TM_YEAR_BASE, tp->tm_mon + 1, tp->tm_mday,
-            tp->tm_hour, tp->tm_min, tp->tm_sec,
-            tp->tm_yday, tp->tm_wday, tp->tm_isdst);
+           tp->tm_year + TM_YEAR_BASE, tp->tm_mon + 1, tp->tm_mday,
+           tp->tm_hour, tp->tm_min, tp->tm_sec,
+           tp->tm_yday, tp->tm_wday, tp->tm_isdst);
   else
     printf ("0");
 }
@@ -652,11 +654,11 @@ main (int argc, char **argv)
 
   if ((argc == 3 || argc == 4)
       && (sscanf (argv[1], "%d-%d-%d%c",
-                  &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &trailer)
-          == 3)
+                 &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &trailer)
+         == 3)
       && (sscanf (argv[2], "%d:%d:%d%c",
-                  &tm.tm_hour, &tm.tm_min, &tm.tm_sec, &trailer)
-          == 3))
+                 &tm.tm_hour, &tm.tm_min, &tm.tm_sec, &trailer)
+         == 3))
     {
       tm.tm_year -= TM_YEAR_BASE;
       tm.tm_mon--;
@@ -665,10 +667,10 @@ main (int argc, char **argv)
       tl = mktime (&tmk);
       lt = localtime (&tl);
       if (lt)
-        {
-          tml = *lt;
-          lt = &tml;
-        }
+       {
+         tml = *lt;
+         lt = &tml;
+       }
       printf ("mktime returns %ld == ", (long int) tl);
       print_tm (&tmk);
       printf ("\n");
@@ -681,51 +683,51 @@ main (int argc, char **argv)
       time_t to = atol (argv[3]);
 
       if (argc == 4)
-        for (tl = from; by < 0 ? to <= tl : tl <= to; tl = tl1)
-          {
-            lt = localtime (&tl);
-            if (lt)
-              {
-                tmk = tml = *lt;
-                tk = mktime (&tmk);
-                status |= check_result (tk, tmk, tl, &tml);
-              }
-            else
-              {
-                printf ("localtime (%ld) yields 0\n", (long int) tl);
-                status = 1;
-              }
-            tl1 = tl + by;
-            if ((tl1 < tl) != (by < 0))
-              break;
-          }
+       for (tl = from; by < 0 ? to <= tl : tl <= to; tl = tl1)
+         {
+           lt = localtime (&tl);
+           if (lt)
+             {
+               tmk = tml = *lt;
+               tk = mktime (&tmk);
+               status |= check_result (tk, tmk, tl, &tml);
+             }
+           else
+             {
+               printf ("localtime (%ld) yields 0\n", (long int) tl);
+               status = 1;
+             }
+           tl1 = tl + by;
+           if ((tl1 < tl) != (by < 0))
+             break;
+         }
       else
-        for (tl = from; by < 0 ? to <= tl : tl <= to; tl = tl1)
-          {
-            /* Null benchmark.  */
-            lt = localtime (&tl);
-            if (lt)
-              {
-                tmk = tml = *lt;
-                tk = tl;
-                status |= check_result (tk, tmk, tl, &tml);
-              }
-            else
-              {
-                printf ("localtime (%ld) yields 0\n", (long int) tl);
-                status = 1;
-              }
-            tl1 = tl + by;
-            if ((tl1 < tl) != (by < 0))
-              break;
-          }
+       for (tl = from; by < 0 ? to <= tl : tl <= to; tl = tl1)
+         {
+           /* Null benchmark.  */
+           lt = localtime (&tl);
+           if (lt)
+             {
+               tmk = tml = *lt;
+               tk = tl;
+               status |= check_result (tk, tmk, tl, &tml);
+             }
+           else
+             {
+               printf ("localtime (%ld) yields 0\n", (long int) tl);
+               status = 1;
+             }
+           tl1 = tl + by;
+           if ((tl1 < tl) != (by < 0))
+             break;
+         }
     }
   else
     printf ("Usage:\
 \t%s YYYY-MM-DD HH:MM:SS [ISDST] # Test given time.\n\
 \t%s FROM BY TO # Test values FROM, FROM+BY, ..., TO.\n\
 \t%s FROM BY TO - # Do not test those values (for benchmark).\n",
-            argv[0], argv[0], argv[0]);
+           argv[0], argv[0], argv[0]);
 
   return status;
 }
diff --git a/lib/msvc-inval.c b/lib/msvc-inval.c
new file mode 100644 (file)
index 0000000..72a6b6e
--- /dev/null
@@ -0,0 +1,129 @@
+/* Invalid parameter handler for MSVC runtime libraries.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "msvc-inval.h"
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+    && !(MSVC_INVALID_PARAMETER_HANDLING == SANE_LIBRARY_HANDLING)
+
+/* Get _invalid_parameter_handler type and _set_invalid_parameter_handler
+   declaration.  */
+# include <stdlib.h>
+
+# if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+
+static void cdecl
+gl_msvc_invalid_parameter_handler (const wchar_t *expression,
+                                   const wchar_t *function,
+                                   const wchar_t *file,
+                                   unsigned int line,
+                                   uintptr_t dummy)
+{
+}
+
+# else
+
+/* Get declarations of the native Windows API functions.  */
+#  define WIN32_LEAN_AND_MEAN
+#  include <windows.h>
+
+#  if defined _MSC_VER
+
+static void cdecl
+gl_msvc_invalid_parameter_handler (const wchar_t *expression,
+                                   const wchar_t *function,
+                                   const wchar_t *file,
+                                   unsigned int line,
+                                   uintptr_t dummy)
+{
+  RaiseException (STATUS_GNULIB_INVALID_PARAMETER, 0, 0, NULL);
+}
+
+#  else
+
+/* An index to thread-local storage.  */
+static DWORD tls_index;
+static int tls_initialized /* = 0 */;
+
+/* Used as a fallback only.  */
+static struct gl_msvc_inval_per_thread not_per_thread;
+
+struct gl_msvc_inval_per_thread *
+gl_msvc_inval_current (void)
+{
+  if (!tls_initialized)
+    {
+      tls_index = TlsAlloc ();
+      tls_initialized = 1;
+    }
+  if (tls_index == TLS_OUT_OF_INDEXES)
+    /* TlsAlloc had failed.  */
+    return &not_per_thread;
+  else
+    {
+      struct gl_msvc_inval_per_thread *pointer =
+        (struct gl_msvc_inval_per_thread *) TlsGetValue (tls_index);
+      if (pointer == NULL)
+        {
+          /* First call.  Allocate a new 'struct gl_msvc_inval_per_thread'.  */
+          pointer =
+            (struct gl_msvc_inval_per_thread *)
+            malloc (sizeof (struct gl_msvc_inval_per_thread));
+          if (pointer == NULL)
+            /* Could not allocate memory.  Use the global storage.  */
+            pointer = &not_per_thread;
+          TlsSetValue (tls_index, pointer);
+        }
+      return pointer;
+    }
+}
+
+static void cdecl
+gl_msvc_invalid_parameter_handler (const wchar_t *expression,
+                                   const wchar_t *function,
+                                   const wchar_t *file,
+                                   unsigned int line,
+                                   uintptr_t dummy)
+{
+  struct gl_msvc_inval_per_thread *current = gl_msvc_inval_current ();
+  if (current->restart_valid)
+    longjmp (current->restart, 1);
+  else
+    /* An invalid parameter notification from outside the gnulib code.
+       Give the caller a chance to intervene.  */
+    RaiseException (STATUS_GNULIB_INVALID_PARAMETER, 0, 0, NULL);
+}
+
+#  endif
+
+# endif
+
+static int gl_msvc_inval_initialized /* = 0 */;
+
+void
+gl_msvc_inval_ensure_handler (void)
+{
+  if (gl_msvc_inval_initialized == 0)
+    {
+      _set_invalid_parameter_handler (gl_msvc_invalid_parameter_handler);
+      gl_msvc_inval_initialized = 1;
+    }
+}
+
+#endif
diff --git a/lib/msvc-inval.h b/lib/msvc-inval.h
new file mode 100644 (file)
index 0000000..dcb0353
--- /dev/null
@@ -0,0 +1,222 @@
+/* Invalid parameter handler for MSVC runtime libraries.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _MSVC_INVAL_H
+#define _MSVC_INVAL_H
+
+/* With MSVC runtime libraries with the "invalid parameter handler" concept,
+   functions like fprintf(), dup2(), or close() crash when the caller passes
+   an invalid argument.  But POSIX wants error codes (such as EINVAL or EBADF)
+   instead.
+   This file defines macros that turn such an invalid parameter notification
+   into a non-local exit.  An error code can then be produced at the target
+   of this exit.  You can thus write code like
+
+     TRY_MSVC_INVAL
+       {
+         <Code that can trigger an invalid parameter notification
+          but does not do 'return', 'break', 'continue', nor 'goto'.>
+       }
+     CATCH_MSVC_INVAL
+       {
+         <Code that handles an invalid parameter notification
+          but does not do 'return', 'break', 'continue', nor 'goto'.>
+       }
+     DONE_MSVC_INVAL;
+
+   This entire block expands to a single statement.
+
+   The handling of invalid parameters can be done in three ways:
+
+     * The default way, which is reasonable for programs (not libraries):
+       AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [DEFAULT_HANDLING])
+
+     * The way for libraries that make "hairy" calls (like close(-1), or
+       fclose(fp) where fileno(fp) is closed, or simply getdtablesize()):
+       AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [HAIRY_LIBRARY_HANDLING])
+
+     * The way for libraries that make no "hairy" calls:
+       AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [SANE_LIBRARY_HANDLING])
+ */
+
+#define DEFAULT_HANDLING       0
+#define HAIRY_LIBRARY_HANDLING 1
+#define SANE_LIBRARY_HANDLING  2
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+    && !(MSVC_INVALID_PARAMETER_HANDLING == SANE_LIBRARY_HANDLING)
+/* A native Windows platform with the "invalid parameter handler" concept,
+   and either DEFAULT_HANDLING or HAIRY_LIBRARY_HANDLING.  */
+
+# if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+/* Default handling.  */
+
+#  ifdef __cplusplus
+extern "C" {
+#  endif
+
+/* Ensure that the invalid parameter handler in installed that just returns.
+   Because we assume no other part of the program installs a different
+   invalid parameter handler, this solution is multithread-safe.  */
+extern void gl_msvc_inval_ensure_handler (void);
+
+#  ifdef __cplusplus
+}
+#  endif
+
+#  define TRY_MSVC_INVAL \
+     do                                                                        \
+       {                                                                       \
+         gl_msvc_inval_ensure_handler ();                                      \
+         if (1)
+#  define CATCH_MSVC_INVAL \
+         else
+#  define DONE_MSVC_INVAL \
+       }                                                                       \
+     while (0)
+
+# else
+/* Handling for hairy libraries.  */
+
+#  include <excpt.h>
+
+/* Gnulib can define its own status codes, as described in the page
+   "Raising Software Exceptions" on microsoft.com
+   <http://msdn.microsoft.com/en-us/library/het71c37.aspx>.
+   Our status codes are composed of
+     - 0xE0000000, mandatory for all user-defined status codes,
+     - 0x474E550, a API identifier ("GNU"),
+     - 0, 1, 2, ..., used to distinguish different status codes from the
+       same API.  */
+#  define STATUS_GNULIB_INVALID_PARAMETER (0xE0000000 + 0x474E550 + 0)
+
+#  if defined _MSC_VER
+/* A compiler that supports __try/__except, as described in the page
+   "try-except statement" on microsoft.com
+   <http://msdn.microsoft.com/en-us/library/s58ftw19.aspx>.
+   With __try/__except, we can use the multithread-safe exception handling.  */
+
+#   ifdef __cplusplus
+extern "C" {
+#   endif
+
+/* Ensure that the invalid parameter handler in installed that raises a
+   software exception with code STATUS_GNULIB_INVALID_PARAMETER.
+   Because we assume no other part of the program installs a different
+   invalid parameter handler, this solution is multithread-safe.  */
+extern void gl_msvc_inval_ensure_handler (void);
+
+#   ifdef __cplusplus
+}
+#   endif
+
+#   define TRY_MSVC_INVAL \
+      do                                                                       \
+        {                                                                      \
+          gl_msvc_inval_ensure_handler ();                                     \
+          __try
+#   define CATCH_MSVC_INVAL \
+          __except (GetExceptionCode () == STATUS_GNULIB_INVALID_PARAMETER     \
+                    ? EXCEPTION_EXECUTE_HANDLER                                \
+                    : EXCEPTION_CONTINUE_SEARCH)
+#   define DONE_MSVC_INVAL \
+        }                                                                      \
+      while (0)
+
+#  else
+/* Any compiler.
+   We can only use setjmp/longjmp.  */
+
+#   include <setjmp.h>
+
+#   ifdef __cplusplus
+extern "C" {
+#   endif
+
+struct gl_msvc_inval_per_thread
+{
+  /* The restart that will resume execution at the code between
+     CATCH_MSVC_INVAL and DONE_MSVC_INVAL.  It is enabled only between
+     TRY_MSVC_INVAL and CATCH_MSVC_INVAL.  */
+  jmp_buf restart;
+
+  /* Tells whether the contents of restart is valid.  */
+  int restart_valid;
+};
+
+/* Ensure that the invalid parameter handler in installed that passes
+   control to the gl_msvc_inval_restart if it is valid, or raises a
+   software exception with code STATUS_GNULIB_INVALID_PARAMETER otherwise.
+   Because we assume no other part of the program installs a different
+   invalid parameter handler, this solution is multithread-safe.  */
+extern void gl_msvc_inval_ensure_handler (void);
+
+/* Return a pointer to the per-thread data for the current thread.  */
+extern struct gl_msvc_inval_per_thread *gl_msvc_inval_current (void);
+
+#   ifdef __cplusplus
+}
+#   endif
+
+#   define TRY_MSVC_INVAL \
+      do                                                                       \
+        {                                                                      \
+          struct gl_msvc_inval_per_thread *msvc_inval_current;                 \
+          gl_msvc_inval_ensure_handler ();                                     \
+          msvc_inval_current = gl_msvc_inval_current ();                       \
+          /* First, initialize gl_msvc_inval_restart.  */                      \
+          if (setjmp (msvc_inval_current->restart) == 0)                       \
+            {                                                                  \
+              /* Then, mark it as valid.  */                                   \
+              msvc_inval_current->restart_valid = 1;
+#   define CATCH_MSVC_INVAL \
+              /* Execution completed.                                          \
+                 Mark gl_msvc_inval_restart as invalid.  */                    \
+              msvc_inval_current->restart_valid = 0;                           \
+            }                                                                  \
+          else                                                                 \
+            {                                                                  \
+              /* Execution triggered an invalid parameter notification.        \
+                 Mark gl_msvc_inval_restart as invalid.  */                    \
+              msvc_inval_current->restart_valid = 0;
+#   define DONE_MSVC_INVAL \
+            }                                                                  \
+        }                                                                      \
+      while (0)
+
+#  endif
+
+# endif
+
+#else
+/* A platform that does not need to the invalid parameter handler,
+   or when SANE_LIBRARY_HANDLING is desired.  */
+
+/* The braces here avoid GCC warnings like
+   "warning: suggest explicit braces to avoid ambiguous 'else'".  */
+# define TRY_MSVC_INVAL \
+    do                                                                         \
+      {                                                                        \
+        if (1)
+# define CATCH_MSVC_INVAL \
+        else
+# define DONE_MSVC_INVAL \
+      }                                                                        \
+    while (0)
+
+#endif
+
+#endif /* _MSVC_INVAL_H */
diff --git a/lib/msvc-nothrow.c b/lib/msvc-nothrow.c
new file mode 100644 (file)
index 0000000..8d65472
--- /dev/null
@@ -0,0 +1,49 @@
+/* Wrappers that don't throw invalid parameter notifications
+   with MSVC runtime libraries.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "msvc-nothrow.h"
+
+/* Get declarations of the native Windows API functions.  */
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+
+#include "msvc-inval.h"
+
+#undef _get_osfhandle
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+intptr_t
+_gl_nothrow_get_osfhandle (int fd)
+{
+  intptr_t result;
+
+  TRY_MSVC_INVAL
+    {
+      result = _get_osfhandle (fd);
+    }
+  CATCH_MSVC_INVAL
+    {
+      result = (intptr_t) INVALID_HANDLE_VALUE;
+    }
+  DONE_MSVC_INVAL;
+
+  return result;
+}
+#endif
diff --git a/lib/msvc-nothrow.h b/lib/msvc-nothrow.h
new file mode 100644 (file)
index 0000000..5f52181
--- /dev/null
@@ -0,0 +1,43 @@
+/* Wrappers that don't throw invalid parameter notifications
+   with MSVC runtime libraries.
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _MSVC_NOTHROW_H
+#define _MSVC_NOTHROW_H
+
+/* With MSVC runtime libraries with the "invalid parameter handler" concept,
+   functions like fprintf(), dup2(), or close() crash when the caller passes
+   an invalid argument.  But POSIX wants error codes (such as EINVAL or EBADF)
+   instead.
+   This file defines wrappers that turn such an invalid parameter notification
+   into an error code.  */
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+/* Get original declaration of _get_osfhandle.  */
+# include <io.h>
+
+# if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+
+/* Override _get_osfhandle.  */
+extern intptr_t _gl_nothrow_get_osfhandle (int fd);
+#  define _get_osfhandle _gl_nothrow_get_osfhandle
+
+# endif
+
+#endif
+
+#endif /* _MSVC_NOTHROW_H */
index 8406ff1..771c953 100644 (file)
@@ -1,6 +1,6 @@
 /* nl_langinfo() replacement: query locale dependent information.
 
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -141,7 +141,8 @@ nl_langinfo (nl_item item)
       {
         static char buf[2 + 10 + 1];
 
-        /* Woe32 has a function returning the locale's codepage as a number.  */
+        /* The Windows API has a function returning the locale's codepage as
+           a number.  */
         sprintf (buf, "CP%u", GetACP ());
         return buf;
       }
index ffd3b8d..a0c43ea 100644 (file)
@@ -1,5 +1,5 @@
 /* Open a descriptor to a file.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #include <sys/types.h>
 #undef __need_system_fcntl_h
 
-static inline int
+static int
 orig_open (const char *filename, int flags, mode_t mode)
 {
   return open (filename, flags, mode);
 }
 
 /* Specification.  */
-#include <fcntl.h>
+/* Write "fcntl.h" here, not <fcntl.h>, otherwise OSF/1 5.1 DTK cc eliminates
+   this include because of the preliminary #include <fcntl.h> above.  */
+#include "fcntl.h"
 
 #include <errno.h>
 #include <stdarg.h>
diff --git a/lib/pathmax.h b/lib/pathmax.h
new file mode 100644 (file)
index 0000000..a9ddc33
--- /dev/null
@@ -0,0 +1,83 @@
+/* Define PATH_MAX somehow.  Requires sys/types.h.
+   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2013 Free Software
+   Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _PATHMAX_H
+# define _PATHMAX_H
+
+/* POSIX:2008 defines PATH_MAX to be the maximum number of bytes in a filename,
+   including the terminating NUL byte.
+   <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html>
+   PATH_MAX is not defined on systems which have no limit on filename length,
+   such as GNU/Hurd.
+
+   This file does *not* define PATH_MAX always.  Programs that use this file
+   can handle the GNU/Hurd case in several ways:
+     - Either with a package-wide handling, or with a per-file handling,
+     - Either through a
+         #ifdef PATH_MAX
+       or through a fallback like
+         #ifndef PATH_MAX
+         # define PATH_MAX 8192
+         #endif
+       or through a fallback like
+         #ifndef PATH_MAX
+         # define PATH_MAX pathconf ("/", _PC_PATH_MAX)
+         #endif
+ */
+
+# include <unistd.h>
+
+# include <limits.h>
+
+# ifndef _POSIX_PATH_MAX
+#  define _POSIX_PATH_MAX 256
+# endif
+
+/* Don't include sys/param.h if it already has been.  */
+# if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN
+#  include <sys/param.h>
+# endif
+
+# if !defined PATH_MAX && defined MAXPATHLEN
+#  define PATH_MAX MAXPATHLEN
+# endif
+
+# ifdef __hpux
+/* On HP-UX, PATH_MAX designates the maximum number of bytes in a filename,
+   *not* including the terminating NUL byte, and is set to 1023.
+   Additionally, when _XOPEN_SOURCE is defined to 500 or more, PATH_MAX is
+   not defined at all any more.  */
+#  undef PATH_MAX
+#  define PATH_MAX 1024
+# endif
+
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* The page "Naming Files, Paths, and Namespaces" on msdn.microsoft.com,
+   section "Maximum Path Length Limitation",
+   <http://msdn.microsoft.com/en-us/library/aa365247(v=vs.85).aspx#maxpath>
+   explains that the maximum size of a filename, including the terminating
+   NUL byte, is 260 = 3 + 256 + 1.
+   This is the same value as
+     - FILENAME_MAX in <stdio.h>,
+     - _MAX_PATH in <stdlib.h>,
+     - MAX_PATH in <windef.h>.
+   Undefine the original value, because mingw's <limits.h> gets it wrong.  */
+#  undef PATH_MAX
+#  define PATH_MAX 260
+# endif
+
+#endif /* _PATHMAX_H */
index dd78eb1..ec19a08 100644 (file)
@@ -1,6 +1,6 @@
 /* Parse arguments from a string and prepend them to an argv.
 
-   Copyright (C) 1999-2002, 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2002, 2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
similarity index 95%
rename from gnulib-tests/printf-args.c
rename to lib/printf-args.c
index 2e5a39d..c27e6bc 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Decomposed printf argument list.
-   Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2011 Free Software
+   Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* This file can be parametrized with the following macros:
      ENABLE_UNISTDIO    Set to 1 to enable the unistdio extensions.
similarity index 92%
rename from gnulib-tests/printf-args.h
rename to lib/printf-args.h
index 90c88f8..2a9c2a3 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Decomposed printf argument list.
-   Copyright (C) 1999, 2002-2003, 2006-2007, 2011 Free Software
+   Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2013 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _PRINTF_ARGS_H
 #define _PRINTF_ARGS_H
similarity index 98%
rename from gnulib-tests/printf-parse.c
rename to lib/printf-parse.c
index 326a0ef..23cacc1 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Formatted output to strings.
-   Copyright (C) 1999-2000, 2002-2003, 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2000, 2002-2003, 2006-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* This file can be parametrized with the following macros:
      CHAR_T             The element type of the format string.
@@ -404,7 +401,7 @@ PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a)
                       cp++;
                     }
 #if defined __APPLE__ && defined __MACH__
-                  /* On MacOS X 10.3, PRIdMAX is defined as "qd".
+                  /* On Mac OS X 10.3, PRIdMAX is defined as "qd".
                      We cannot change it to "lld" because PRIdMAX must also
                      be understood by the system's printf routines.  */
                   else if (*cp == 'q')
@@ -423,7 +420,7 @@ PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a)
                     }
 #endif
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-                  /* On native Win32, PRIdMAX is defined as "I64d".
+                  /* On native Windows, PRIdMAX is defined as "I64d".
                      We cannot change it to "lld" because PRIdMAX must also
                      be understood by the system's printf routines.  */
                   else if (*cp == 'I' && cp[1] == '6' && cp[2] == '4')
similarity index 94%
rename from gnulib-tests/printf-parse.h
rename to lib/printf-parse.h
index 6cbe68e..d8474be 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Parse printf format string.
-   Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2011 Free Software
+   Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2013 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _PRINTF_PARSE_H
 #define _PRINTF_PARSE_H
index 2465748..0c195e5 100644 (file)
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2001-2003, 2005-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2001.
 
    This program is free software: you can redistribute it and/or modify
index 0844066..b4f3c27 100644 (file)
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2001-2004, 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006, 2009-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2001.
 
    This program is free software: you can redistribute it and/or modify
index b74923d..8cc8308 100644 (file)
@@ -1,5 +1,5 @@
 /* Localization of proper names.
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2006.
 
    This program is free software: you can redistribute it and/or modify
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+/* Without this pragma, gcc 4.7.0 20111124 mistakenly suggests that
+   the proper_name function might be candidate for attribute 'const'  */
+#if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__
+# pragma GCC diagnostic ignored "-Wsuggest-attribute=const"
+#endif
+
 #include <config.h>
 
 /* Specification.  */
index d2a1e3b..59dfade 100644 (file)
@@ -1,5 +1,5 @@
 /* Localization of proper names.
-   Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2006.
 
    This program is free software: you can redistribute it and/or modify
@@ -89,7 +89,7 @@ extern "C" {
 #endif
 
 /* Return the localization of NAME.  NAME is written in ASCII.  */
-extern const char * proper_name (const char *name);
+extern const char * proper_name (const char *name) /* NOT attribute const */;
 
 /* Return the localization of a name whose original writing is not ASCII.
    NAME_UTF8 is the real name, written in UTF-8 with octal or hexadecimal
index d0acb51..1679796 100644 (file)
@@ -1,6 +1,6 @@
 /* quote.h - prototypes for quote.c
 
-   Copyright (C) 1998-2001, 2003, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1998-2001, 2003, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#ifndef QUOTE_H_
+# define QUOTE_H_ 1
 
-char const *quote_n (int n, char const *name);
-char const *quote (char const *name);
+# include <stddef.h>
+
+/* The quoting options used by quote_n and quote.  Its type is incomplete,
+   so it's useful only in expressions like '&quote_quoting_options'.  */
+extern struct quoting_options quote_quoting_options;
+
+/* Return an unambiguous printable representation of ARG (of size
+   ARGSIZE), allocated in slot N, suitable for diagnostics.  If
+   ARGSIZE is SIZE_MAX, use the string length of the argument for
+   ARGSIZE.  */
+char const *quote_n_mem (int n, char const *arg, size_t argsize);
+
+/* Return an unambiguous printable representation of ARG (of size
+   ARGSIZE), suitable for diagnostics.  If ARGSIZE is SIZE_MAX, use
+   the string length of the argument for ARGSIZE.  */
+char const *quote_mem (char const *arg, size_t argsize);
+
+/* Return an unambiguous printable representation of ARG, allocated in
+   slot N, suitable for diagnostics.  */
+char const *quote_n (int n, char const *arg);
+
+/* Return an unambiguous printable representation of ARG, suitable for
+   diagnostics.  */
+char const *quote (char const *arg);
+
+#endif /* !QUOTE_H_ */
index da8ba1e..57a8382 100644 (file)
@@ -1,6 +1,6 @@
 /* quotearg.c - quote arguments for output
 
-   Copyright (C) 1998-2002, 2004-2011 Free Software Foundation, Inc.
+   Copyright (C) 1998-2002, 2004-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 /* Written by Paul Eggert <eggert@twinsun.com> */
 
+/* Without this pragma, gcc 4.7.0 20111124 mistakenly suggests that
+   the quoting_options_from_style function might be candidate for
+   attribute 'pure'  */
+#if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__
+# pragma GCC diagnostic ignored "-Wsuggest-attribute=pure"
+#endif
+
 #include <config.h>
 
 #include "quotearg.h"
+#include "quote.h"
 
 #include "xalloc.h"
+#include "c-strcaseeq.h"
+#include "localcharset.h"
 
 #include <ctype.h>
 #include <errno.h>
@@ -165,10 +175,10 @@ set_custom_quoting (struct quoting_options *o,
 }
 
 /* Return quoting options for STYLE, with no extra quoting.  */
-static struct quoting_options
+static struct quoting_options /* NOT PURE!! */
 quoting_options_from_style (enum quoting_style style)
 {
-  struct quoting_options o = { 0 };
+  struct quoting_options o = { 0, 0, { 0 }, NULL, NULL };
   if (style == custom_quoting_style)
     abort ();
   o.style = style;
@@ -176,14 +186,43 @@ quoting_options_from_style (enum quoting_style style)
 }
 
 /* MSGID approximates a quotation mark.  Return its translation if it
-   has one; otherwise, return either it or "\"", depending on S.  */
+   has one; otherwise, return either it or "\"", depending on S.
+
+   S is either clocale_quoting_style or locale_quoting_style.  */
 static char const *
 gettext_quote (char const *msgid, enum quoting_style s)
 {
   char const *translation = _(msgid);
-  if (translation == msgid && s == clocale_quoting_style)
-    translation = "\"";
-  return translation;
+  char const *locale_code;
+
+  if (translation != msgid)
+    return translation;
+
+  /* For UTF-8 and GB-18030, use single quotes U+2018 and U+2019.
+     Here is a list of other locales that include U+2018 and U+2019:
+
+        ISO-8859-7   0xA1                 KOI8-T       0x91
+        CP869        0x8B                 CP874        0x91
+        CP932        0x81 0x65            CP936        0xA1 0xAE
+        CP949        0xA1 0xAE            CP950        0xA1 0xA5
+        CP1250       0x91                 CP1251       0x91
+        CP1252       0x91                 CP1253       0x91
+        CP1254       0x91                 CP1255       0x91
+        CP1256       0x91                 CP1257       0x91
+        EUC-JP       0xA1 0xC6            EUC-KR       0xA1 0xAE
+        EUC-TW       0xA1 0xE4            BIG5         0xA1 0xA5
+        BIG5-HKSCS   0xA1 0xA5            EUC-CN       0xA1 0xAE
+        GBK          0xA1 0xAE            Georgian-PS  0x91
+        PT154        0x91
+
+     None of these is still in wide use; using iconv is overkill.  */
+  locale_code = locale_charset ();
+  if (STRCASEEQ (locale_code, "UTF-8", 'U','T','F','-','8',0,0,0,0))
+    return msgid[0] == '`' ? "\xe2\x80\x98": "\xe2\x80\x99";
+  if (STRCASEEQ (locale_code, "GB18030", 'G','B','1','8','0','3','0',0,0))
+    return msgid[0] == '`' ? "\xa1\ae": "\xa1\xaf";
+
+  return (s == clocale_quoting_style ? "\"" : "'");
 }
 
 /* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of
@@ -251,22 +290,24 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
           {
             /* TRANSLATORS:
                Get translations for open and closing quotation marks.
-
                The message catalog should translate "`" to a left
                quotation mark suitable for the locale, and similarly for
-               "'".  If the catalog has no translation,
-               locale_quoting_style quotes `like this', and
-               clocale_quoting_style quotes "like this".
-
-               For example, an American English Unicode locale should
-               translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-               should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-               MARK).  A British English Unicode locale should instead
-               translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-               and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+               "'".  For example, a French Unicode local should translate
+               these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+               QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+               QUOTATION MARK), respectively.
+
+               If the catalog has no translation, we will try to
+               use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+               Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+               current locale is not Unicode, locale_quoting_style
+               will quote 'like this', and clocale_quoting_style will
+               quote "like this".  You should always include translations
+               for "`" and "'" even if U+2018 and U+2019 are appropriate
+               for your locale.
 
                If you don't know what to put here, please see
-               <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+               <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
                and use glyphs suitable for your language.  */
             left_quote = gettext_quote (N_("`"), quoting_style);
             right_quote = gettext_quote (N_("'"), quoting_style);
@@ -730,7 +771,7 @@ quotearg_n_options (int n, char const *arg, size_t argsize,
 
   if (nslots <= n0)
     {
-      /* FIXME: technically, the type of n1 should be `unsigned int',
+      /* FIXME: technically, the type of n1 should be 'unsigned int',
          but that evokes an unsuppressible warning from gcc-4.0.1 and
          older.  If gcc ever provides an option to suppress that warning,
          revert to the original type, so that the test in xalloc_oversized
@@ -886,3 +927,37 @@ quotearg_custom_mem (char const *left_quote, char const *right_quote,
   return quotearg_n_custom_mem (0, left_quote, right_quote, arg,
                                 argsize);
 }
+
+
+/* The quoting option used by the functions of quote.h.  */
+struct quoting_options quote_quoting_options =
+  {
+    locale_quoting_style,
+    0,
+    { 0 },
+    NULL, NULL
+  };
+
+char const *
+quote_n_mem (int n, char const *arg, size_t argsize)
+{
+  return quotearg_n_options (n, arg, argsize, &quote_quoting_options);
+}
+
+char const *
+quote_mem (char const *arg, size_t argsize)
+{
+  return quote_n_mem (0, arg, argsize);
+}
+
+char const *
+quote_n (int n, char const *arg)
+{
+  return quote_n_mem (n, arg, SIZE_MAX);
+}
+
+char const *
+quote (char const *arg)
+{
+  return quote_n (0, arg);
+}
index 2756d76..58ee3f6 100644 (file)
@@ -1,6 +1,6 @@
 /* quotearg.h - quote arguments for output
 
-   Copyright (C) 1998-2002, 2004, 2006, 2008-2011 Free Software Foundation,
+   Copyright (C) 1998-2002, 2004, 2006, 2008-2013 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -112,8 +112,10 @@ enum quoting_style
     */
     escape_quoting_style,
 
-    /* Like clocale_quoting_style, but quote `like this' instead of
-       "like this" in the default C locale (ls --quoting-style=locale).
+    /* Like clocale_quoting_style, but use single quotes in the
+       default C locale or if the program does not use gettext
+       (ls --quoting-style=locale).  For UTF-8 locales, quote
+       characters will use Unicode.
 
        LC_MESSAGES=C
        quotearg_buffer:
diff --git a/lib/raise.c b/lib/raise.c
new file mode 100644 (file)
index 0000000..5b546d2
--- /dev/null
@@ -0,0 +1,79 @@
+/* Provide a non-threads replacement for the POSIX raise function.
+
+   Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* written by Jim Meyering and Bruno Haible */
+
+#include <config.h>
+
+/* Specification.  */
+#include <signal.h>
+
+#if HAVE_RAISE
+/* Native Windows platform.  */
+
+# include <errno.h>
+
+# include "msvc-inval.h"
+
+# undef raise
+
+# if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static int
+raise_nothrow (int sig)
+{
+  int result;
+
+  TRY_MSVC_INVAL
+    {
+      result = raise (sig);
+    }
+  CATCH_MSVC_INVAL
+    {
+      result = -1;
+      errno = EINVAL;
+    }
+  DONE_MSVC_INVAL;
+
+  return result;
+}
+# else
+#  define raise_nothrow raise
+# endif
+
+#else
+/* An old Unix platform.  */
+
+# include <unistd.h>
+
+# define rpl_raise raise
+
+#endif
+
+int
+rpl_raise (int sig)
+{
+#if GNULIB_defined_signal_blocking && GNULIB_defined_SIGPIPE
+  if (sig == SIGPIPE)
+    return _gl_raise_SIGPIPE ();
+#endif
+
+#if HAVE_RAISE
+  return raise_nothrow (sig);
+#else
+  return kill (getpid (), sig);
+#endif
+}
diff --git a/lib/readlink.c b/lib/readlink.c
new file mode 100644 (file)
index 0000000..f83a1e0
--- /dev/null
@@ -0,0 +1,74 @@
+/* Stub for readlink().
+   Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <unistd.h>
+
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+
+#if !HAVE_READLINK
+
+/* readlink() substitute for systems that don't have a readlink() function,
+   such as DJGPP 2.03 and mingw32.  */
+
+ssize_t
+readlink (const char *name, char *buf _GL_UNUSED,
+          size_t bufsize _GL_UNUSED)
+{
+  struct stat statbuf;
+
+  /* In general we should use lstat() here, not stat().  But on platforms
+     without symbolic links, lstat() - if it exists - would be equivalent to
+     stat(), therefore we can use stat().  This saves us a configure check.  */
+  if (stat (name, &statbuf) >= 0)
+    errno = EINVAL;
+  return -1;
+}
+
+#else /* HAVE_READLINK */
+
+# undef readlink
+
+/* readlink() wrapper that uses correct types, for systems like cygwin
+   1.5.x where readlink returns int, and which rejects trailing slash,
+   for Solaris 9.  */
+
+ssize_t
+rpl_readlink (const char *name, char *buf, size_t bufsize)
+{
+# if READLINK_TRAILING_SLASH_BUG
+  size_t len = strlen (name);
+  if (len && name[len - 1] == '/')
+    {
+      /* Even if name without the slash is a symlink to a directory,
+         both lstat() and stat() must resolve the trailing slash to
+         the directory rather than the symlink.  We can therefore
+         safely use stat() to distinguish between EINVAL and
+         ENOTDIR/ENOENT, avoiding extra overhead of rpl_lstat().  */
+      struct stat st;
+      if (stat (name, &st) == 0)
+        errno = EINVAL;
+      return -1;
+    }
+# endif /* READLINK_TRAILING_SLASH_BUG */
+  return readlink (name, buf, bufsize);
+}
+
+#endif /* HAVE_READLINK */
index a57eaef..112bcdc 100644 (file)
@@ -1,6 +1,6 @@
 # Add this package to a list of references stored in a text file.
 #
-#   Copyright (C) 2000, 2009-2011 Free Software Foundation, Inc.
+#   Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc.
 #
 #   This program is free software; you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
@@ -13,8 +13,7 @@
 #   GNU General Public License for more details.
 #
 #   You should have received a copy of the GNU General Public License along
-#   with this program; if not, write to the Free Software Foundation,
-#   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#   with this program; if not, see <http://www.gnu.org/licenses/>.
 #
 # Written by Bruno Haible <haible@clisp.cons.org>.
 #
index e23097d..6f73868 100644 (file)
@@ -1,6 +1,6 @@
 # Remove this package from a list of references stored in a text file.
 #
-#   Copyright (C) 2000, 2009-2011 Free Software Foundation, Inc.
+#   Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc.
 #
 #   This program is free software; you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
@@ -13,8 +13,7 @@
 #   GNU General Public License for more details.
 #
 #   You should have received a copy of the GNU General Public License along
-#   with this program; if not, write to the Free Software Foundation,
-#   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#   with this program; if not, see <http://www.gnu.org/licenses/>.
 #
 # Written by Bruno Haible <haible@clisp.cons.org>.
 #
index e734f47..f7cfebe 100644 (file)
@@ -1,23 +1,21 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public
+   License as published by the Free Software Foundation; either
+   version 3 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
 
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+   You should have received a copy of the GNU General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
 
 static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern,
                                          size_t length, reg_syntax_t syntax);
@@ -96,20 +94,20 @@ static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans,
                                      bitset_t sbcset,
                                      re_charset_t *mbcset,
                                      Idx *char_class_alloc,
-                                     const unsigned char *class_name,
+                                     const char *class_name,
                                      reg_syntax_t syntax);
 #else  /* not RE_ENABLE_I18N */
 static reg_errcode_t build_equiv_class (bitset_t sbcset,
                                        const unsigned char *name);
 static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans,
                                      bitset_t sbcset,
-                                     const unsigned char *class_name,
+                                     const char *class_name,
                                      reg_syntax_t syntax);
 #endif /* not RE_ENABLE_I18N */
 static bin_tree_t *build_charclass_op (re_dfa_t *dfa,
                                       RE_TRANSLATE_TYPE trans,
-                                      const unsigned char *class_name,
-                                      const unsigned char *extra,
+                                      const char *class_name,
+                                      const char *extra,
                                       bool non_match, reg_errcode_t *err);
 static bin_tree_t *create_tree (re_dfa_t *dfa,
                                bin_tree_t *left, bin_tree_t *right,
@@ -208,7 +206,7 @@ static const size_t __re_error_msgid_idx[] =
    compiles PATTERN (of length LENGTH) and puts the result in BUFP.
    Returns 0 if the pattern was valid, otherwise an error string.
 
-   Assumes the `allocated' (and perhaps `buffer') and `translate' fields
+   Assumes the 'allocated' (and perhaps 'buffer') and 'translate' fields
    are set in BUFP on entry.  */
 
 #ifdef _LIBC
@@ -243,7 +241,7 @@ re_compile_pattern (const char *pattern, size_t length,
 weak_alias (__re_compile_pattern, re_compile_pattern)
 #endif
 
-/* Set by `re_set_syntax' to the current regexp syntax to recognize.  Can
+/* Set by 're_set_syntax' to the current regexp syntax to recognize.  Can
    also be assigned to arbitrarily: each pattern buffer stores its own
    syntax, so it can be changed between regex compilations.  */
 /* This has no initializer because initialized variables in Emacs
@@ -275,7 +273,7 @@ int
 re_compile_fastmap (bufp)
     struct re_pattern_buffer *bufp;
 {
-  re_dfa_t *dfa = (re_dfa_t *) bufp->buffer;
+  re_dfa_t *dfa = bufp->buffer;
   char *fastmap = bufp->fastmap;
 
   memset (fastmap, '\0', sizeof (char) * SBC_MAX);
@@ -294,7 +292,7 @@ weak_alias (__re_compile_fastmap, re_compile_fastmap)
 #endif
 
 static inline void
-__attribute ((always_inline))
+__attribute__ ((always_inline))
 re_set_fastmap (char *fastmap, bool icase, int ch)
 {
   fastmap[ch] = 1;
@@ -309,7 +307,7 @@ static void
 re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state,
                         char *fastmap)
 {
-  re_dfa_t *dfa = (re_dfa_t *) bufp->buffer;
+  re_dfa_t *dfa = bufp->buffer;
   Idx node_cnt;
   bool icase = (dfa->mb_cur_max == 1 && (bufp->syntax & RE_ICASE));
   for (node_cnt = 0; node_cnt < init_state->nodes.nelem; ++node_cnt)
@@ -441,15 +439,15 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state,
    PREG is a regex_t *.  We do not expect any fields to be initialized,
    since POSIX says we shouldn't.  Thus, we set
 
-     `buffer' to the compiled pattern;
-     `used' to the length of the compiled pattern;
-     `syntax' to RE_SYNTAX_POSIX_EXTENDED if the
+     'buffer' to the compiled pattern;
+     'used' to the length of the compiled pattern;
+     'syntax' to RE_SYNTAX_POSIX_EXTENDED if the
        REG_EXTENDED bit in CFLAGS is set; otherwise, to
        RE_SYNTAX_POSIX_BASIC;
-     `newline_anchor' to REG_NEWLINE being set in CFLAGS;
-     `fastmap' to an allocated space for the fastmap;
-     `fastmap_accurate' to zero;
-     `re_nsub' to the number of subexpressions in PATTERN.
+     'newline_anchor' to REG_NEWLINE being set in CFLAGS;
+     'fastmap' to an allocated space for the fastmap;
+     'fastmap_accurate' to zero;
+     're_nsub' to the number of subexpressions in PATTERN.
 
    PATTERN is the address of the pattern string.
 
@@ -588,19 +586,23 @@ weak_alias (__regerror, regerror)
 static const bitset_t utf8_sb_map =
 {
   /* Set the first 128 bits.  */
-# if 4 * BITSET_WORD_BITS < ASCII_CHARS
-#  error "bitset_word_t is narrower than 32 bits"
-# elif 3 * BITSET_WORD_BITS < ASCII_CHARS
+# ifdef __GNUC__
+  [0 ... 0x80 / BITSET_WORD_BITS - 1] = BITSET_WORD_MAX
+# else
+#  if 4 * BITSET_WORD_BITS < ASCII_CHARS
+#   error "bitset_word_t is narrower than 32 bits"
+#  elif 3 * BITSET_WORD_BITS < ASCII_CHARS
   BITSET_WORD_MAX, BITSET_WORD_MAX, BITSET_WORD_MAX,
-# elif 2 * BITSET_WORD_BITS < ASCII_CHARS
+#  elif 2 * BITSET_WORD_BITS < ASCII_CHARS
   BITSET_WORD_MAX, BITSET_WORD_MAX,
-# elif 1 * BITSET_WORD_BITS < ASCII_CHARS
+#  elif 1 * BITSET_WORD_BITS < ASCII_CHARS
   BITSET_WORD_MAX,
-# endif
+#  endif
   (BITSET_WORD_MAX
    >> (SBC_MAX % BITSET_WORD_BITS == 0
        ? 0
        : BITSET_WORD_BITS - SBC_MAX % BITSET_WORD_BITS))
+# endif
 };
 #endif
 
@@ -659,7 +661,7 @@ void
 regfree (preg)
     regex_t *preg;
 {
-  re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
+  re_dfa_t *dfa = preg->buffer;
   if (BE (dfa != NULL, 1))
     free_dfa_content (dfa);
   preg->buffer = NULL;
@@ -720,7 +722,7 @@ re_comp (s)
                                 + __re_error_msgid_idx[(int) REG_ESPACE]);
     }
 
-  /* Since `re_exec' always passes NULL for the `regs' argument, we
+  /* Since 're_exec' always passes NULL for the 'regs' argument, we
      don't need to initialize the pattern buffer fields which affect it.  */
 
   /* Match anchors at newlines.  */
@@ -731,7 +733,7 @@ re_comp (s)
   if (!ret)
     return NULL;
 
-  /* Yes, we're discarding `const' here if !HAVE_LIBINTL.  */
+  /* Yes, we're discarding 'const' here if !HAVE_LIBINTL.  */
   return (char *) gettext (__re_error_msgid + __re_error_msgid_idx[(int) ret]);
 }
 
@@ -766,7 +768,7 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length,
   preg->regs_allocated = REGS_UNALLOCATED;
 
   /* Initialize the dfa.  */
-  dfa = (re_dfa_t *) preg->buffer;
+  dfa = preg->buffer;
   if (BE (preg->allocated < sizeof (re_dfa_t), 0))
     {
       /* If zero allocated, but buffer is non-null, try to realloc
@@ -777,7 +779,7 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length,
       if (dfa == NULL)
        return REG_ESPACE;
       preg->allocated = sizeof (re_dfa_t);
-      preg->buffer = (unsigned char *) dfa;
+      preg->buffer = dfa;
     }
   preg->used = sizeof (re_dfa_t);
 
@@ -852,7 +854,7 @@ init_dfa (re_dfa_t *dfa, size_t pat_len)
 {
   __re_size_t table_size;
 #ifndef _LIBC
-  char *codeset_name;
+  const char *codeset_name;
 #endif
 #ifdef RE_ENABLE_I18N
   size_t max_i18n_object_size = MAX (sizeof (wchar_t), sizeof (wctype_t));
@@ -875,7 +877,7 @@ init_dfa (re_dfa_t *dfa, size_t pat_len)
      calculation below, and for similar doubling calculations
      elsewhere.  And it's <= rather than <, because some of the
      doubling calculations add 1 afterwards.  */
-  if (BE (SIZE_MAX / max_object_size / 2 <= pat_len, 0))
+  if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) / 2 <= pat_len, 0))
     return REG_ESPACE;
 
   dfa->nodes_alloc = pat_len + 1;
@@ -898,8 +900,10 @@ init_dfa (re_dfa_t *dfa, size_t pat_len)
                       != 0);
 #else
   codeset_name = nl_langinfo (CODESET);
-  if (strcasecmp (codeset_name, "UTF-8") == 0
-      || strcasecmp (codeset_name, "UTF8") == 0)
+  if ((codeset_name[0] == 'U' || codeset_name[0] == 'u')
+      && (codeset_name[1] == 'T' || codeset_name[1] == 't')
+      && (codeset_name[2] == 'F' || codeset_name[2] == 'f')
+      && strcmp (codeset_name + 3 + (codeset_name[3] == '-'), "8") == 0)
     dfa->is_utf8 = 1;
 
   /* We check exhaustively in the loop below if this charset is a
@@ -949,9 +953,43 @@ static void
 internal_function
 init_word_char (re_dfa_t *dfa)
 {
-  int i, j, ch;
+  int i = 0;
+  int j;
+  int ch = 0;
   dfa->word_ops_used = 1;
-  for (i = 0, ch = 0; i < BITSET_WORDS; ++i)
+  if (BE (dfa->map_notascii == 0, 1))
+    {
+      bitset_word_t bits0 = 0x00000000;
+      bitset_word_t bits1 = 0x03ff0000;
+      bitset_word_t bits2 = 0x87fffffe;
+      bitset_word_t bits3 = 0x07fffffe;
+      if (BITSET_WORD_BITS == 64)
+       {
+         dfa->word_char[0] = bits1 << 31 << 1 | bits0;
+         dfa->word_char[1] = bits3 << 31 << 1 | bits2;
+         i = 2;
+       }
+      else if (BITSET_WORD_BITS == 32)
+       {
+         dfa->word_char[0] = bits0;
+         dfa->word_char[1] = bits1;
+         dfa->word_char[2] = bits2;
+         dfa->word_char[3] = bits3;
+         i = 4;
+       }
+      else
+        goto general_case;
+      ch = 128;
+
+      if (BE (dfa->is_utf8, 1))
+       {
+         memset (&dfa->word_char[i], '\0', (SBC_MAX - ch) / 8);
+         return;
+       }
+    }
+
+ general_case:
+  for (; i < BITSET_WORDS; ++i)
     for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch)
       if (isalnum (ch) || ch == '_')
        dfa->word_char[i] |= (bitset_word_t) 1 << j;
@@ -962,7 +1000,7 @@ init_word_char (re_dfa_t *dfa)
 static void
 free_workarea_compile (regex_t *preg)
 {
-  re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
+  re_dfa_t *dfa = preg->buffer;
   bin_tree_storage_t *storage, *next;
   for (storage = dfa->str_tree_storage; storage; storage = next)
     {
@@ -1146,7 +1184,7 @@ optimize_utf8 (re_dfa_t *dfa)
 static reg_errcode_t
 analyze (regex_t *preg)
 {
-  re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
+  re_dfa_t *dfa = preg->buffer;
   reg_errcode_t ret;
 
   /* Allocate arrays.  */
@@ -1327,7 +1365,7 @@ lower_subexps (void *extra, bin_tree_t *node)
 static bin_tree_t *
 lower_subexp (reg_errcode_t *err, regex_t *preg, bin_tree_t *node)
 {
-  re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
+  re_dfa_t *dfa = preg->buffer;
   bin_tree_t *body = node->left;
   bin_tree_t *op, *cls, *tree1, *tree;
 
@@ -1661,7 +1699,7 @@ calc_eclosure (re_dfa_t *dfa)
       /* If we have already calculated, skip it.  */
       if (dfa->eclosures[node_idx].nelem != 0)
        continue;
-      /* Calculate epsilon closure of `node_idx'.  */
+      /* Calculate epsilon closure of 'node_idx'.  */
       err = calc_eclosure_iter (&eclosure_elem, dfa, node_idx, true);
       if (BE (err != REG_NOERROR, 0))
        return err;
@@ -1711,14 +1749,14 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
       {
        re_node_set eclosure_elem;
        Idx edest = dfa->edests[node].elems[i];
-       /* If calculating the epsilon closure of `edest' is in progress,
+       /* If calculating the epsilon closure of 'edest' is in progress,
           return intermediate result.  */
        if (dfa->eclosures[edest].nelem == REG_MISSING)
          {
            incomplete = true;
            continue;
          }
-       /* If we haven't calculated the epsilon closure of `edest' yet,
+       /* If we haven't calculated the epsilon closure of 'edest' yet,
           calculate now. Otherwise use calculated epsilon closure.  */
        if (dfa->eclosures[edest].nelem == 0)
          {
@@ -1728,11 +1766,11 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
          }
        else
          eclosure_elem = dfa->eclosures[edest];
-       /* Merge the epsilon closure of `edest'.  */
+       /* Merge the epsilon closure of 'edest'.  */
        err = re_node_set_merge (&eclosure, &eclosure_elem);
        if (BE (err != REG_NOERROR, 0))
          return err;
-       /* If the epsilon closure of `edest' is incomplete,
+       /* If the epsilon closure of 'edest' is incomplete,
           the epsilon closure of this node is also incomplete.  */
        if (dfa->eclosures[edest].nelem == 0)
          {
@@ -2094,7 +2132,7 @@ peek_token_bracket (re_token_t *token, re_string_t *input, reg_syntax_t syntax)
 
 /* Entry point of the parser.
    Parse the regular expression REGEXP and return the structure tree.
-   If an error is occured, ERR is set by error code, and return NULL.
+   If an error occurs, ERR is set by error code, and return NULL.
    This function build the following tree, from regular expression <reg_exp>:
           CAT
           / \
@@ -2108,7 +2146,7 @@ static bin_tree_t *
 parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax,
        reg_errcode_t *err)
 {
-  re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
+  re_dfa_t *dfa = preg->buffer;
   bin_tree_t *tree, *eor, *root;
   re_token_t current_token;
   dfa->syntax = syntax;
@@ -2136,13 +2174,13 @@ parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax,
          /   \
    <branch1> <branch2>
 
-   ALT means alternative, which represents the operator `|'.  */
+   ALT means alternative, which represents the operator '|'.  */
 
 static bin_tree_t *
 parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
               reg_syntax_t syntax, Idx nest, reg_errcode_t *err)
 {
-  re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
+  re_dfa_t *dfa = preg->buffer;
   bin_tree_t *tree, *branch = NULL;
   tree = parse_branch (regexp, preg, token, syntax, nest, err);
   if (BE (*err != REG_NOERROR && tree == NULL, 0))
@@ -2184,7 +2222,7 @@ parse_branch (re_string_t *regexp, regex_t *preg, re_token_t *token,
              reg_syntax_t syntax, Idx nest, reg_errcode_t *err)
 {
   bin_tree_t *tree, *expr;
-  re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
+  re_dfa_t *dfa = preg->buffer;
   tree = parse_expression (regexp, preg, token, syntax, nest, err);
   if (BE (*err != REG_NOERROR && tree == NULL, 0))
     return NULL;
@@ -2195,16 +2233,21 @@ parse_branch (re_string_t *regexp, regex_t *preg, re_token_t *token,
       expr = parse_expression (regexp, preg, token, syntax, nest, err);
       if (BE (*err != REG_NOERROR && expr == NULL, 0))
        {
+         if (tree != NULL)
+           postorder (tree, free_tree, NULL);
          return NULL;
        }
       if (tree != NULL && expr != NULL)
        {
-         tree = create_tree (dfa, tree, expr, CONCAT);
-         if (tree == NULL)
+         bin_tree_t *newtree = create_tree (dfa, tree, expr, CONCAT);
+         if (newtree == NULL)
            {
+             postorder (expr, free_tree, NULL);
+             postorder (tree, free_tree, NULL);
              *err = REG_ESPACE;
              return NULL;
            }
+         tree = newtree;
        }
       else if (tree == NULL)
        tree = expr;
@@ -2223,7 +2266,7 @@ static bin_tree_t *
 parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
                  reg_syntax_t syntax, Idx nest, reg_errcode_t *err)
 {
-  re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
+  re_dfa_t *dfa = preg->buffer;
   bin_tree_t *tree;
   switch (token->type)
     {
@@ -2379,8 +2422,8 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
     case OP_WORD:
     case OP_NOTWORD:
       tree = build_charclass_op (dfa, regexp->trans,
-                                (const unsigned char *) "alnum",
-                                (const unsigned char *) "_",
+                                "alnum",
+                                "_",
                                 token->type == OP_NOTWORD, err);
       if (BE (*err != REG_NOERROR && tree == NULL, 0))
        return NULL;
@@ -2388,8 +2431,8 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
     case OP_SPACE:
     case OP_NOTSPACE:
       tree = build_charclass_op (dfa, regexp->trans,
-                                (const unsigned char *) "space",
-                                (const unsigned char *) "",
+                                "space",
+                                "",
                                 token->type == OP_NOTSPACE, err);
       if (BE (*err != REG_NOERROR && tree == NULL, 0))
        return NULL;
@@ -2439,7 +2482,7 @@ static bin_tree_t *
 parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
               reg_syntax_t syntax, Idx nest, reg_errcode_t *err)
 {
-  re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
+  re_dfa_t *dfa = preg->buffer;
   bin_tree_t *tree;
   size_t cur_nsub;
   cur_nsub = preg->re_nsub++;
@@ -2453,7 +2496,11 @@ parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
     {
       tree = parse_reg_exp (regexp, preg, token, syntax, nest, err);
       if (BE (*err == REG_NOERROR && token->type != OP_CLOSE_SUBEXP, 0))
-       *err = REG_EPAREN;
+       {
+         if (tree != NULL)
+           postorder (tree, free_tree, NULL);
+         *err = REG_EPAREN;
+       }
       if (BE (*err != REG_NOERROR, 0))
        return NULL;
     }
@@ -2531,6 +2578,12 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
          *err = REG_BADBR;
          return NULL;
        }
+
+      if (BE (RE_DUP_MAX < (end == REG_MISSING ? start : end), 0))
+       {
+         *err = REG_ESIZE;
+         return NULL;
+       }
     }
   else
     {
@@ -2571,7 +2624,10 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
     old_tree = NULL;
 
   if (elem->token.type == SUBEXP)
-    postorder (elem, mark_opt_subexp, (void *) (long) elem->token.opr.idx);
+    {
+      uintptr_t subidx = elem->token.opr.idx;
+      postorder (elem, mark_opt_subexp, (void *) subidx);
+    }
 
   tree = create_tree (dfa, elem, NULL,
                      (end == REG_MISSING ? OP_DUP_ASTERISK : OP_ALT));
@@ -2617,7 +2673,7 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
      Build the range expression which starts from START_ELEM, and ends
      at END_ELEM.  The result are written to MBCSET and SBCSET.
      RANGE_ALLOC is the allocated size of mbcset->range_starts, and
-     mbcset->range_ends, is a pointer argument sinse we may
+     mbcset->range_ends, is a pointer argument since we may
      update it.  */
 
 static reg_errcode_t
@@ -2656,7 +2712,6 @@ build_range_exp (const reg_syntax_t syntax,
     wchar_t wc;
     wint_t start_wc;
     wint_t end_wc;
-    wchar_t cmp_buf[6] = {L'\0', L'\0', L'\0', L'\0', L'\0', L'\0'};
 
     start_ch = ((start_elem->type == SB_CHAR) ? start_elem->opr.ch
                : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0]
@@ -2670,11 +2725,7 @@ build_range_exp (const reg_syntax_t syntax,
              ? __btowc (end_ch) : end_elem->opr.wch);
     if (start_wc == WEOF || end_wc == WEOF)
       return REG_ECOLLATE;
-    cmp_buf[0] = start_wc;
-    cmp_buf[4] = end_wc;
-
-    if (BE ((syntax & RE_NO_EMPTY_RANGES)
-            && wcscoll (cmp_buf, cmp_buf + 4) > 0, 0))
+    else if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_wc > end_wc, 0))
       return REG_ERANGE;
 
     /* Got valid collation sequence values, add them as a new entry.
@@ -2715,9 +2766,7 @@ build_range_exp (const reg_syntax_t syntax,
     /* Build the table for single byte characters.  */
     for (wc = 0; wc < SBC_MAX; ++wc)
       {
-       cmp_buf[2] = wc;
-       if (wcscoll (cmp_buf, cmp_buf + 2) <= 0
-           && wcscoll (cmp_buf + 2, cmp_buf + 4) <= 0)
+       if (start_wc <= wc && wc <= end_wc)
          bitset_set (sbcset, wc);
       }
   }
@@ -2751,12 +2800,14 @@ build_range_exp (const reg_syntax_t syntax,
 
 static reg_errcode_t
 internal_function
-build_collating_symbol (bitset_t sbcset,
 # ifdef RE_ENABLE_I18N
+build_collating_symbol (bitset_t sbcset,
                        re_charset_t *mbcset _UNUSED_PARAMETER_,
                        Idx *coll_sym_alloc _UNUSED_PARAMETER_,
-# endif
                        const unsigned char *name)
+# else /* not RE_ENABLE_I18N */
+build_collating_symbol (bitset_t sbcset, const unsigned char *name)
+# endif /* not RE_ENABLE_I18N */
 {
   size_t name_len = strlen ((const char *) name);
   if (BE (name_len != 1, 0))
@@ -2784,42 +2835,31 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
   const int32_t *symb_table;
   const unsigned char *extra;
 
-  /* Local function for parse_bracket_exp used in _LIBC environement.
-     Seek the collating symbol entry correspondings to NAME.
-     Return the index of the symbol in the SYMB_TABLE.  */
+  /* Local function for parse_bracket_exp used in _LIBC environment.
+     Seek the collating symbol entry corresponding to NAME.
+     Return the index of the symbol in the SYMB_TABLE,
+     or -1 if not found.  */
 
   auto inline int32_t
-  __attribute ((always_inline))
-  seek_collating_symbol_entry (name, name_len)
-        const unsigned char *name;
-        size_t name_len;
+  __attribute__ ((always_inline))
+  seek_collating_symbol_entry (const unsigned char *name, size_t name_len)
     {
-      int32_t hash = elem_hash ((const char *) name, name_len);
-      int32_t elem = hash % table_size;
-      if (symb_table[2 * elem] != 0)
-       {
-         int32_t second = hash % (table_size - 2) + 1;
-
-         do
-           {
-             /* First compare the hashing value.  */
-             if (symb_table[2 * elem] == hash
-                 /* Compare the length of the name.  */
-                 && name_len == extra[symb_table[2 * elem + 1]]
-                 /* Compare the name.  */
-                 && memcmp (name, &extra[symb_table[2 * elem + 1] + 1],
-                            name_len) == 0)
-               {
-                 /* Yep, this is the entry.  */
-                 break;
-               }
+      int32_t elem;
 
-             /* Next entry.  */
-             elem += second;
-           }
-         while (symb_table[2 * elem] != 0);
-       }
-      return elem;
+      for (elem = 0; elem < table_size; elem++)
+       if (symb_table[2 * elem] != 0)
+         {
+           int32_t idx = symb_table[2 * elem + 1];
+           /* Skip the name of collating element name.  */
+           idx += 1 + extra[idx];
+           if (/* Compare the length of the name.  */
+               name_len == extra[idx]
+               /* Compare the name.  */
+               && memcmp (name, &extra[idx + 1], name_len) == 0)
+             /* Yep, this is the entry.  */
+             return elem;
+         }
+      return -1;
     }
 
   /* Local function for parse_bracket_exp used in _LIBC environment.
@@ -2827,9 +2867,8 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
      Return the value if succeeded, UINT_MAX otherwise.  */
 
   auto inline unsigned int
-  __attribute ((always_inline))
-  lookup_collation_sequence_value (br_elem)
-        bracket_elem_t *br_elem;
+  __attribute__ ((always_inline))
+  lookup_collation_sequence_value (bracket_elem_t *br_elem)
     {
       if (br_elem->type == SB_CHAR)
        {
@@ -2857,7 +2896,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
              int32_t elem, idx;
              elem = seek_collating_symbol_entry (br_elem->opr.name,
                                                  sym_name_len);
-             if (symb_table[2 * elem] != 0)
+             if (elem != -1)
                {
                  /* We found the entry.  */
                  idx = symb_table[2 * elem + 1];
@@ -2875,7 +2914,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
                  /* Return the collation sequence value.  */
                  return *(unsigned int *) (extra + idx);
                }
-             else if (symb_table[2 * elem] == 0 && sym_name_len == 1)
+             else if (sym_name_len == 1)
                {
                  /* No valid character.  Match it as a single byte
                     character.  */
@@ -2888,20 +2927,17 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
       return UINT_MAX;
     }
 
-  /* Local function for parse_bracket_exp used in _LIBC environement.
+  /* Local function for parse_bracket_exp used in _LIBC environment.
      Build the range expression which starts from START_ELEM, and ends
      at END_ELEM.  The result are written to MBCSET and SBCSET.
      RANGE_ALLOC is the allocated size of mbcset->range_starts, and
-     mbcset->range_ends, is a pointer argument sinse we may
+     mbcset->range_ends, is a pointer argument since we may
      update it.  */
 
   auto inline reg_errcode_t
-  __attribute ((always_inline))
-  build_range_exp (sbcset, mbcset, range_alloc, start_elem, end_elem)
-        re_charset_t *mbcset;
-        Idx *range_alloc;
-        bitset_t sbcset;
-        bracket_elem_t *start_elem, *end_elem;
+  __attribute__ ((always_inline))
+  build_range_exp (bitset_t sbcset, re_charset_t *mbcset, int *range_alloc,
+                  bracket_elem_t *start_elem, bracket_elem_t *end_elem)
     {
       unsigned int ch;
       uint32_t start_collseq;
@@ -2914,6 +2950,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
              0))
        return REG_ERANGE;
 
+      /* FIXME: Implement rational ranges here, too.  */
       start_collseq = lookup_collation_sequence_value (start_elem);
       end_collseq = lookup_collation_sequence_value (end_elem);
       /* Check start/end collation sequence values.  */
@@ -2972,33 +3009,30 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
       return REG_NOERROR;
     }
 
-  /* Local function for parse_bracket_exp used in _LIBC environement.
+  /* Local function for parse_bracket_exp used in _LIBC environment.
      Build the collating element which is represented by NAME.
      The result are written to MBCSET and SBCSET.
      COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a
-     pointer argument sinse we may update it.  */
+     pointer argument since we may update it.  */
 
   auto inline reg_errcode_t
-  __attribute ((always_inline))
-  build_collating_symbol (sbcset, mbcset, coll_sym_alloc, name)
-        re_charset_t *mbcset;
-        Idx *coll_sym_alloc;
-        bitset_t sbcset;
-        const unsigned char *name;
+  __attribute__ ((always_inline))
+  build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset,
+                         Idx *coll_sym_alloc, const unsigned char *name)
     {
       int32_t elem, idx;
       size_t name_len = strlen ((const char *) name);
       if (nrules != 0)
        {
          elem = seek_collating_symbol_entry (name, name_len);
-         if (symb_table[2 * elem] != 0)
+         if (elem != -1)
            {
              /* We found the entry.  */
              idx = symb_table[2 * elem + 1];
              /* Skip the name of collating element name.  */
              idx += 1 + extra[idx];
            }
-         else if (symb_table[2 * elem] == 0 && name_len == 1)
+         else if (name_len == 1)
            {
              /* No valid character, treat it as a normal
                 character.  */
@@ -3078,6 +3112,10 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
   if (BE (sbcset == NULL, 0))
 #endif /* RE_ENABLE_I18N */
     {
+      re_free (sbcset);
+#ifdef RE_ENABLE_I18N
+      re_free (mbcset);
+#endif
       *err = REG_ESPACE;
       return NULL;
     }
@@ -3237,7 +3275,8 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 #ifdef RE_ENABLE_I18N
                                      mbcset, &char_class_alloc,
 #endif /* RE_ENABLE_I18N */
-                                     start_elem.opr.name, syntax);
+                                     (const char *) start_elem.opr.name,
+                                     syntax);
              if (BE (*err != REG_NOERROR, 0))
               goto parse_bracket_exp_free_return;
              break;
@@ -3417,7 +3456,7 @@ parse_bracket_symbol (bracket_elem_t *elem, re_string_t *regexp,
      Build the equivalence class which is represented by NAME.
      The result are written to MBCSET and SBCSET.
      EQUIV_CLASS_ALLOC is the allocated size of mbcset->equiv_classes,
-     is a pointer argument sinse we may update it.  */
+     is a pointer argument since we may update it.  */
 
 static reg_errcode_t
 #ifdef RE_ENABLE_I18N
@@ -3449,19 +3488,18 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
                                                   _NL_COLLATE_EXTRAMB);
       indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
                                                _NL_COLLATE_INDIRECTMB);
-      idx1 = findidx (&cp);
-      if (BE (idx1 == 0 || cp < name + strlen ((const char *) name), 0))
+      idx1 = findidx (&cp, -1);
+      if (BE (idx1 == 0 || *cp != '\0', 0))
        /* This isn't a valid character.  */
        return REG_ECOLLATE;
 
-      /* Build single byte matcing table for this equivalence class.  */
-      char_buf[1] = (unsigned char) '\0';
+      /* Build single byte matching table for this equivalence class.  */
       len = weights[idx1 & 0xffffff];
       for (ch = 0; ch < SBC_MAX; ++ch)
        {
          char_buf[0] = ch;
          cp = char_buf;
-         idx2 = findidx (&cp);
+         idx2 = findidx (&cp, 1);
 /*
          idx2 = table[ch];
 */
@@ -3514,20 +3552,20 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
      Build the character class which is represented by NAME.
      The result are written to MBCSET and SBCSET.
      CHAR_CLASS_ALLOC is the allocated size of mbcset->char_classes,
-     is a pointer argument sinse we may update it.  */
+     is a pointer argument since we may update it.  */
 
 static reg_errcode_t
 #ifdef RE_ENABLE_I18N
 build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset,
                 re_charset_t *mbcset, Idx *char_class_alloc,
-                const unsigned char *class_name, reg_syntax_t syntax)
+                const char *class_name, reg_syntax_t syntax)
 #else /* not RE_ENABLE_I18N */
 build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset,
-                const unsigned char *class_name, reg_syntax_t syntax)
+                const char *class_name, reg_syntax_t syntax)
 #endif /* not RE_ENABLE_I18N */
 {
   int i;
-  const char *name = (const char *) class_name;
+  const char *name = class_name;
 
   /* In case of REG_ICASE "upper" and "lower" match the both of
      upper and lower cases.  */
@@ -3601,8 +3639,8 @@ build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset,
 
 static bin_tree_t *
 build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans,
-                   const unsigned char *class_name,
-                   const unsigned char *extra, bool non_match,
+                   const char *class_name,
+                   const char *extra, bool non_match,
                    reg_errcode_t *err)
 {
   re_bitset_ptr_t sbcset;
@@ -3708,8 +3746,9 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans,
 }
 
 /* This is intended for the expressions like "a{1,3}".
-   Fetch a number from `input', and return the number.
+   Fetch a number from 'input', and return the number.
    Return REG_MISSING if the number field is empty like "{,1}".
+   Return RE_DUP_MAX + 1 if the number field is too large.
    Return REG_ERROR if an error occurred.  */
 
 static Idx
@@ -3728,8 +3767,9 @@ fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t syntax)
       num = ((token->type != CHARACTER || c < '0' || '9' < c
              || num == REG_ERROR)
             ? REG_ERROR
-            : ((num == REG_MISSING) ? c - '0' : num * 10 + c - '0'));
-      num = (num > RE_DUP_MAX) ? REG_ERROR : num;
+            : num == REG_MISSING
+            ? c - '0'
+            : MIN (RE_DUP_MAX + 1, num * 10 + c - '0'));
     }
   return num;
 }
@@ -3803,7 +3843,7 @@ create_token_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right,
 static reg_errcode_t
 mark_opt_subexp (void *extra, bin_tree_t *node)
 {
-  Idx idx = (Idx) (long) extra;
+  Idx idx = (uintptr_t) extra;
   if (node->token.type == SUBEXP && node->token.opr.idx == idx)
     node->token.opt_subexp = 1;
 
index 4a473e0..5a0332e 100644 (file)
@@ -1,27 +1,35 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public
+   License as published by the Free Software Foundation; either
+   version 3 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
 
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+   You should have received a copy of the GNU General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
 
-#include <config.h>
+#ifndef _LIBC
+# include <config.h>
 
-/* Make sure noone compiles this code with a C++ compiler.  */
+# if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__
+#  pragma GCC diagnostic ignored "-Wsuggest-attribute=pure"
+# endif
+# if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__
+#  pragma GCC diagnostic ignored "-Wold-style-definition"
+#  pragma GCC diagnostic ignored "-Wtype-limits"
+# endif
+#endif
+
+/* Make sure no one compiles this code with a C++ compiler.  */
 #if defined __cplusplus && defined _LIBC
 # error "This is C code, use a C compiler"
 #endif
@@ -55,7 +63,6 @@
    GNU regex allows.  Include it before <regex.h>, which correctly
    #undefs RE_DUP_MAX and sets it to the right value.  */
 #include <limits.h>
-#include <strings.h>
 
 #include <regex.h>
 #include "regex_internal.h"
index 52b8598..854c6ed 100644 (file)
@@ -1,24 +1,22 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Definitions for data structures and routines for the regular
    expression library.
-   Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2006, 2009-2011
-   Free Software Foundation, Inc.
+   Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2013 Free Software
+   Foundation, Inc.
    This file is part of the GNU C Library.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public
+   License as published by the Free Software Foundation; either
+   version 3 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
 
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+   You should have received a copy of the GNU General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
 
 #ifndef _REGEX_H
 #define _REGEX_H 1
 extern "C" {
 #endif
 
-/* Define __USE_GNU_REGEX to declare GNU extensions that violate the
+/* Define __USE_GNU to declare GNU extensions that violate the
    POSIX name space rules.  */
-#undef __USE_GNU_REGEX
-#if (defined _GNU_SOURCE                                       \
-     || (!defined _POSIX_C_SOURCE && !defined _POSIX_SOURCE    \
-        && !defined _XOPEN_SOURCE))
-# define __USE_GNU_REGEX 1
+#ifdef _GNU_SOURCE
+# define __USE_GNU 1
 #endif
 
 #ifdef _REGEX_LARGE_OFFSETS
@@ -47,16 +42,6 @@ extern "C" {
    supported within glibc itself, and glibc users should not define
    _REGEX_LARGE_OFFSETS.  */
 
-/* The type of the offset of a byte within a string.
-   For historical reasons POSIX 1003.1-2004 requires that regoff_t be
-   at least as wide as off_t.  However, many common POSIX platforms set
-   regoff_t to the more-sensible ssize_t and the Open Group has
-   signalled its intention to change the requirement to be that
-   regoff_t be at least as wide as ptrdiff_t and ssize_t; see XBD ERN
-   60 (2005-08-25).  We don't know of any hosts where ssize_t or
-   ptrdiff_t is wider than ssize_t, so ssize_t is safe.  */
-typedef ssize_t regoff_t;
-
 /* The type of nonnegative object indexes.  Traditionally, GNU regex
    uses 'int' for these.  Code that uses __re_idx_t should work
    regardless of whether the type is signed.  */
@@ -71,10 +56,8 @@ typedef size_t __re_long_size_t;
 
 #else
 
-/* Use types that are binary-compatible with the traditional GNU regex
-   implementation, which mishandles strings longer than INT_MAX.  */
-
-typedef int regoff_t;
+/* The traditional GNU regex implementation mishandles strings longer
+   than INT_MAX.  */
 typedef int __re_idx_t;
 typedef unsigned int __re_size_t;
 typedef unsigned long int __re_long_size_t;
@@ -95,8 +78,7 @@ typedef unsigned long int active_reg_t;
    add or remove a bit, only one other definition need change.  */
 typedef unsigned long int reg_syntax_t;
 
-#ifdef __USE_GNU_REGEX
-
+#ifdef __USE_GNU
 /* If this bit is not set, then \ inside a bracket expression is literal.
    If set, then such a \ quotes the following character.  */
 # define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1)
@@ -163,9 +145,9 @@ typedef unsigned long int reg_syntax_t;
    If not set, newline is literal.  */
 # define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1)
 
-/* If this bit is set, then `{...}' defines an interval, and \{ and \}
+/* If this bit is set, then '{...}' defines an interval, and \{ and \}
      are literals.
-  If not set, then `\{...\}' defines an interval.  */
+  If not set, then '\{...\}' defines an interval.  */
 # define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1)
 
 /* If this bit is set, (...) defines a group, and \( and \) are literals.
@@ -227,8 +209,7 @@ typedef unsigned long int reg_syntax_t;
 /* If this bit is set, then no_sub will be set to 1 during
    re_compile_pattern.  */
 # define RE_NO_SUB (RE_CONTEXT_INVALID_DUP << 1)
-
-#endif /* defined __USE_GNU_REGEX */
+#endif
 
 /* This global variable defines the particular regexp syntax to use (for
    some interfaces).  When a regexp is compiled, the syntax used is
@@ -236,7 +217,7 @@ typedef unsigned long int reg_syntax_t;
    already-compiled regexps.  */
 extern reg_syntax_t re_syntax_options;
 \f
-#ifdef __USE_GNU_REGEX
+#ifdef __USE_GNU
 /* Define combinations of the above bits for the standard possibilities.
    (The [[[ comments delimit what gets put into the Texinfo file, so
    don't delete them!)  */
@@ -248,16 +229,19 @@ extern reg_syntax_t re_syntax_options;
    | RE_NO_BK_PARENS              | RE_NO_BK_REFS                      \
    | RE_NO_BK_VBAR                | RE_NO_EMPTY_RANGES                 \
    | RE_DOT_NEWLINE              | RE_CONTEXT_INDEP_ANCHORS            \
+   | RE_CHAR_CLASSES                                                   \
    | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS)
 
 # define RE_SYNTAX_GNU_AWK                                             \
-  ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DEBUG)        \
-   & ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS           \
-       | RE_CONTEXT_INVALID_OPS ))
+  ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS            \
+    | RE_INVALID_INTERVAL_ORD)                                         \
+   & ~(RE_DOT_NOT_NULL | RE_CONTEXT_INDEP_OPS                          \
+      | RE_CONTEXT_INVALID_OPS ))
 
 # define RE_SYNTAX_POSIX_AWK                                           \
   (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS             \
-   | RE_INTERVALS          | RE_NO_GNU_OPS)
+   | RE_INTERVALS          | RE_NO_GNU_OPS                             \
+   | RE_INVALID_INTERVAL_ORD)
 
 # define RE_SYNTAX_GREP                                                        \
   (RE_BK_PLUS_QM              | RE_CHAR_CLASSES                                \
@@ -308,13 +292,12 @@ extern reg_syntax_t re_syntax_options;
    | RE_NO_BK_VBAR         | RE_UNMATCHED_RIGHT_PAREN_ORD)
 /* [[[end syntaxes]]] */
 
-#endif /* defined __USE_GNU_REGEX */
-\f
-#ifdef __USE_GNU_REGEX
-
 /* Maximum number of duplicates an interval can allow.  POSIX-conforming
    systems might define this in <limits.h>, but we want our
    value, so remove any previous define.  */
+# ifdef _REGEX_INCLUDE_LIMITS_H
+#  include <limits.h>
+# endif
 # ifdef RE_DUP_MAX
 #  undef RE_DUP_MAX
 # endif
@@ -322,16 +305,15 @@ extern reg_syntax_t re_syntax_options;
 /* RE_DUP_MAX is 2**15 - 1 because an earlier implementation stored
    the counter as a 2-byte signed integer.  This is no longer true, so
    RE_DUP_MAX could be increased to (INT_MAX / 10 - 1), or to
-   ((SIZE_MAX - 2) / 10 - 1) if _REGEX_LARGE_OFFSETS is defined.
+   ((SIZE_MAX - 9) / 10) if _REGEX_LARGE_OFFSETS is defined.
    However, there would be a huge performance problem if someone
    actually used a pattern like a\{214748363\}, so RE_DUP_MAX retains
    its historical value.  */
 # define RE_DUP_MAX (0x7fff)
-
-#endif /* defined __USE_GNU_REGEX */
+#endif
 
 
-/* POSIX `cflags' bits (i.e., information for `regcomp').  */
+/* POSIX 'cflags' bits (i.e., information for 'regcomp').  */
 
 /* If this bit is set, then use extended regular expression syntax.
    If not set, then use basic regular expression syntax.  */
@@ -351,7 +333,7 @@ extern reg_syntax_t re_syntax_options;
 #define REG_NOSUB (1 << 3)
 
 
-/* POSIX `eflags' bits (i.e., information for regexec).  */
+/* POSIX 'eflags' bits (i.e., information for regexec).  */
 
 /* If this bit is set, then the beginning-of-line operator doesn't match
      the beginning of the string (presumably because it's not the
@@ -369,7 +351,7 @@ extern reg_syntax_t re_syntax_options;
 
 
 /* If any error codes are removed, changed, or added, update the
-   `__re_error_msgid' table in regcomp.c.  */
+   '__re_error_msgid' table in regcomp.c.  */
 
 typedef enum
 {
@@ -394,11 +376,11 @@ typedef enum
 
   /* Error codes we've added.  */
   _REG_EEND,           /* Premature end.  */
-  _REG_ESIZE,          /* Compiled pattern bigger than 2^16 bytes.  */
+  _REG_ESIZE,          /* Too large (e.g., repeat count too large).  */
   _REG_ERPAREN         /* Unmatched ) or \); not returned from regcomp.  */
 } reg_errcode_t;
 
-#ifdef _XOPEN_SOURCE
+#if defined _XOPEN_SOURCE || defined __USE_XOPEN2K
 # define REG_ENOSYS    _REG_ENOSYS
 #endif
 #define REG_NOERROR    _REG_NOERROR
@@ -419,126 +401,127 @@ typedef enum
 #define REG_ESIZE      _REG_ESIZE
 #define REG_ERPAREN    _REG_ERPAREN
 \f
-/* struct re_pattern_buffer normally uses member names like `buffer'
-   that POSIX does not allow.  In POSIX mode these members have names
-   with leading `re_' (e.g., `re_buffer').  */
-#ifdef __USE_GNU_REGEX
-# define _REG_RE_NAME(id) id
-# define _REG_RM_NAME(id) id
-#else
-# define _REG_RE_NAME(id) re_##id
-# define _REG_RM_NAME(id) rm_##id
+/* This data structure represents a compiled pattern.  Before calling
+   the pattern compiler, the fields 'buffer', 'allocated', 'fastmap',
+   and 'translate' can be set.  After the pattern has been compiled,
+   the fields 're_nsub', 'not_bol' and 'not_eol' are available.  All
+   other fields are private to the regex routines.  */
+
+#ifndef RE_TRANSLATE_TYPE
+# define __RE_TRANSLATE_TYPE unsigned char *
+# ifdef __USE_GNU
+#  define RE_TRANSLATE_TYPE __RE_TRANSLATE_TYPE
+# endif
 #endif
 
-/* The user can specify the type of the re_translate member by
-   defining the macro RE_TRANSLATE_TYPE, which defaults to unsigned
-   char *.  This pollutes the POSIX name space, so in POSIX mode just
-   use unsigned char *.  */
-#ifdef __USE_GNU_REGEX
-# ifndef RE_TRANSLATE_TYPE
-#  define RE_TRANSLATE_TYPE unsigned char *
-# endif
-# define REG_TRANSLATE_TYPE RE_TRANSLATE_TYPE
+#ifdef __USE_GNU
+# define __REPB_PREFIX(name) name
 #else
-# define REG_TRANSLATE_TYPE unsigned char *
+# define __REPB_PREFIX(name) __##name
 #endif
 
-/* This data structure represents a compiled pattern.  Before calling
-   the pattern compiler, the fields `buffer', `allocated', `fastmap',
-   `translate', and `no_sub' can be set.  After the pattern has been
-   compiled, the `re_nsub' field is available.  All other fields are
-   private to the regex routines.  */
-
 struct re_pattern_buffer
 {
-  /* Space that holds the compiled pattern.  It is declared as
-     `unsigned char *' because its elements are sometimes used as
-     array indexes.  */
-  unsigned char *_REG_RE_NAME (buffer);
+  /* Space that holds the compiled pattern.  The type
+     'struct re_dfa_t' is private and is not declared here.  */
+  struct re_dfa_t *__REPB_PREFIX(buffer);
 
-  /* Number of bytes to which `buffer' points.  */
-  __re_long_size_t _REG_RE_NAME (allocated);
+  /* Number of bytes to which 'buffer' points.  */
+  __re_long_size_t __REPB_PREFIX(allocated);
 
-  /* Number of bytes actually used in `buffer'.  */
-  __re_long_size_t _REG_RE_NAME (used);
+  /* Number of bytes actually used in 'buffer'.  */
+  __re_long_size_t __REPB_PREFIX(used);
 
   /* Syntax setting with which the pattern was compiled.  */
-  reg_syntax_t _REG_RE_NAME (syntax);
+  reg_syntax_t __REPB_PREFIX(syntax);
 
   /* Pointer to a fastmap, if any, otherwise zero.  re_search uses the
      fastmap, if there is one, to skip over impossible starting points
      for matches.  */
-  char *_REG_RE_NAME (fastmap);
+  char *__REPB_PREFIX(fastmap);
 
   /* Either a translate table to apply to all characters before
      comparing them, or zero for no translation.  The translation is
      applied to a pattern when it is compiled and to a string when it
      is matched.  */
-  REG_TRANSLATE_TYPE _REG_RE_NAME (translate);
+  __RE_TRANSLATE_TYPE __REPB_PREFIX(translate);
 
   /* Number of subexpressions found by the compiler.  */
   size_t re_nsub;
 
   /* Zero if this pattern cannot match the empty string, one else.
-     Well, in truth it's used only in `re_search_2', to see whether or
+     Well, in truth it's used only in 're_search_2', to see whether or
      not we should use the fastmap, so we don't set this absolutely
-     perfectly; see `re_compile_fastmap' (the `duplicate' case).  */
-  unsigned int _REG_RE_NAME (can_be_null) : 1;
+     perfectly; see 're_compile_fastmap' (the "duplicate" case).  */
+  unsigned __REPB_PREFIX(can_be_null) : 1;
 
-  /* If REGS_UNALLOCATED, allocate space in the `regs' structure
-     for `max (RE_NREGS, re_nsub + 1)' groups.
+  /* If REGS_UNALLOCATED, allocate space in the 'regs' structure
+     for 'max (RE_NREGS, re_nsub + 1)' groups.
      If REGS_REALLOCATE, reallocate space if necessary.
      If REGS_FIXED, use what's there.  */
-#ifdef __USE_GNU_REGEX
+#ifdef __USE_GNU
 # define REGS_UNALLOCATED 0
 # define REGS_REALLOCATE 1
 # define REGS_FIXED 2
 #endif
-  unsigned int _REG_RE_NAME (regs_allocated) : 2;
+  unsigned __REPB_PREFIX(regs_allocated) : 2;
 
-  /* Set to zero when `re_compile_pattern' compiles a pattern; set to
-     one by `re_compile_fastmap' if it updates the fastmap.  */
-  unsigned int _REG_RE_NAME (fastmap_accurate) : 1;
+  /* Set to zero when 're_compile_pattern' compiles a pattern; set to
+     one by 're_compile_fastmap' if it updates the fastmap.  */
+  unsigned __REPB_PREFIX(fastmap_accurate) : 1;
 
-  /* If set, `re_match_2' does not return information about
+  /* If set, 're_match_2' does not return information about
      subexpressions.  */
-  unsigned int _REG_RE_NAME (no_sub) : 1;
+  unsigned __REPB_PREFIX(no_sub) : 1;
 
   /* If set, a beginning-of-line anchor doesn't match at the beginning
      of the string.  */
-  unsigned int _REG_RE_NAME (not_bol) : 1;
+  unsigned __REPB_PREFIX(not_bol) : 1;
 
   /* Similarly for an end-of-line anchor.  */
-  unsigned int _REG_RE_NAME (not_eol) : 1;
+  unsigned __REPB_PREFIX(not_eol) : 1;
 
   /* If true, an anchor at a newline matches.  */
-  unsigned int _REG_RE_NAME (newline_anchor) : 1;
-
-/* [[[end pattern_buffer]]] */
+  unsigned __REPB_PREFIX(newline_anchor) : 1;
 };
 
 typedef struct re_pattern_buffer regex_t;
 \f
+/* Type for byte offsets within the string.  POSIX mandates this.  */
+#ifdef _REGEX_LARGE_OFFSETS
+/* POSIX 1003.1-2008 requires that regoff_t be at least as wide as
+   ptrdiff_t and ssize_t.  We don't know of any hosts where ptrdiff_t
+   is wider than ssize_t, so ssize_t is safe.  */
+typedef ssize_t regoff_t;
+#else
+/* The traditional GNU regex implementation mishandles strings longer
+   than INT_MAX.  */
+typedef int regoff_t;
+#endif
+
+
+#ifdef __USE_GNU
 /* This is the structure we store register match data in.  See
    regex.texinfo for a full description of what registers match.  */
 struct re_registers
 {
-  __re_size_t _REG_RM_NAME (num_regs);
-  regoff_t *_REG_RM_NAME (start);
-  regoff_t *_REG_RM_NAME (end);
+  __re_size_t num_regs;
+  regoff_t *start;
+  regoff_t *end;
 };
 
 
-/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer,
-   `re_match_2' returns information about at least this many registers
-   the first time a `regs' structure is passed.  */
-#if !defined RE_NREGS && defined __USE_GNU_REGEX
-# define RE_NREGS 30
+/* If 'regs_allocated' is REGS_UNALLOCATED in the pattern buffer,
+   're_match_2' returns information about at least this many registers
+   the first time a 'regs' structure is passed.  */
+# ifndef RE_NREGS
+#  define RE_NREGS 30
+# endif
 #endif
 
 
 /* POSIX specification for registers.  Aside from the different names than
-   `re_registers', POSIX uses an array of structures, instead of a
+   're_registers', POSIX uses an array of structures, instead of a
    structure of arrays.  */
 typedef struct
 {
@@ -548,13 +531,19 @@ typedef struct
 \f
 /* Declarations for routines.  */
 
+#ifdef __USE_GNU
 /* Sets the current default syntax to SYNTAX, and return the old syntax.
-   You can also simply assign to the `re_syntax_options' variable.  */
+   You can also simply assign to the 're_syntax_options' variable.  */
 extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax);
 
 /* Compile the regular expression PATTERN, with length LENGTH
-   and syntax given by the global `re_syntax_options', into the buffer
-   BUFFER.  Return NULL if successful, and an error string if not.  */
+   and syntax given by the global 're_syntax_options', into the buffer
+   BUFFER.  Return NULL if successful, and an error string if not.
+
+   To free the allocated storage, you must call 'regfree' on BUFFER.
+   Note that the translate table must either have been initialised by
+   'regcomp', with a malloc'ed value, or set to NULL before calling
+   'regfree'.  */
 extern const char *re_compile_pattern (const char *__pattern, size_t __length,
                                       struct re_pattern_buffer *__buffer);
 
@@ -576,7 +565,7 @@ extern regoff_t re_search (struct re_pattern_buffer *__buffer,
                           struct re_registers *__regs);
 
 
-/* Like `re_search', but search in the concatenation of STRING1 and
+/* Like 're_search', but search in the concatenation of STRING1 and
    STRING2.  Also, stop searching at index START + STOP.  */
 extern regoff_t re_search_2 (struct re_pattern_buffer *__buffer,
                             const char *__string1, __re_idx_t __length1,
@@ -586,14 +575,14 @@ extern regoff_t re_search_2 (struct re_pattern_buffer *__buffer,
                             __re_idx_t __stop);
 
 
-/* Like `re_search', but return how many characters in STRING the regexp
+/* Like 're_search', but return how many characters in STRING the regexp
    in BUFFER matched, starting at position START.  */
 extern regoff_t re_match (struct re_pattern_buffer *__buffer,
                          const char *__string, __re_idx_t __length,
                          __re_idx_t __start, struct re_registers *__regs);
 
 
-/* Relates to `re_match' as `re_search_2' relates to `re_search'.  */
+/* Relates to 're_match' as 're_search_2' relates to 're_search'.  */
 extern regoff_t re_match_2 (struct re_pattern_buffer *__buffer,
                            const char *__string1, __re_idx_t __length1,
                            const char *__string2, __re_idx_t __length2,
@@ -604,21 +593,22 @@ extern regoff_t re_match_2 (struct re_pattern_buffer *__buffer,
 /* Set REGS to hold NUM_REGS registers, storing them in STARTS and
    ENDS.  Subsequent matches using BUFFER and REGS will use this memory
    for recording register information.  STARTS and ENDS must be
-   allocated with malloc, and must each be at least `NUM_REGS * sizeof
+   allocated with malloc, and must each be at least 'NUM_REGS * sizeof
    (regoff_t)' bytes long.
 
    If NUM_REGS == 0, then subsequent matches should allocate their own
    register data.
 
    Unless this function is called, the first search or match using
-   BUFFER will allocate its own register data, without freeing the old
-   data.  */
+   BUFFER will allocate its own register data, without
+   freeing the old data.  */
 extern void re_set_registers (struct re_pattern_buffer *__buffer,
                              struct re_registers *__regs,
                              __re_size_t __num_regs,
                              regoff_t *__starts, regoff_t *__ends);
+#endif /* Use GNU */
 
-#if defined _REGEX_RE_COMP || defined _LIBC
+#if defined _REGEX_RE_COMP || (defined _LIBC && defined __USE_BSD)
 # ifndef _CRAY
 /* 4.2 bsd compatibility.  */
 extern char *re_comp (const char *);
@@ -646,7 +636,7 @@ extern int re_exec (const char *);
 #ifndef _Restrict_arr_
 # if ((199901L <= __STDC_VERSION__                                     \
        || ((3 < __GNUC__ || (3 == __GNUC__ && 1 <= __GNUC_MINOR__))    \
-          && !__STRICT_ANSI__))                                        \
+          && !defined __STRICT_ANSI__))                                        \
       && !defined __GNUG__)
 #  define _Restrict_arr_ _Restrict_
 # else
index dcfb0df..649b2b3 100644 (file)
@@ -1,23 +1,21 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public
+   License as published by the Free Software Foundation; either
+   version 3 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
 
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+   You should have received a copy of the GNU General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
 
 #include "verify.h"
 #include "intprops.h"
@@ -138,9 +136,9 @@ re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len)
     {
       wint_t *new_wcs;
 
-      /* Avoid overflow.  */
-      size_t max_object_size = MAX (sizeof (wint_t), sizeof (Idx));
-      if (BE (SIZE_MAX / max_object_size < new_buf_len, 0))
+      /* Avoid overflow in realloc.  */
+      const size_t max_object_size = MAX (sizeof (wint_t), sizeof (Idx));
+      if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) < new_buf_len, 0))
        return REG_ESPACE;
 
       new_wcs = re_realloc (pstr->wcs, wint_t, new_buf_len);
@@ -240,13 +238,8 @@ build_wcs_buffer (re_string_t *pstr)
       else
        p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx;
       mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state);
-      if (BE (mbclen == (size_t) -2, 0))
-       {
-         /* The buffer doesn't have enough space, finish to build.  */
-         pstr->cur_state = prev_st;
-         break;
-       }
-      else if (BE (mbclen == (size_t) -1 || mbclen == 0, 0))
+      if (BE (mbclen == (size_t) -1 || mbclen == 0
+             || (mbclen == (size_t) -2 && pstr->bufs_len >= pstr->len), 0))
        {
          /* We treat these cases as a singlebyte character.  */
          mbclen = 1;
@@ -255,6 +248,12 @@ build_wcs_buffer (re_string_t *pstr)
            wc = pstr->trans[wc];
          pstr->cur_state = prev_st;
        }
+      else if (BE (mbclen == (size_t) -2, 0))
+       {
+         /* The buffer doesn't have enough space, finish to build.  */
+         pstr->cur_state = prev_st;
+         break;
+       }
 
       /* Write wide character and padding.  */
       pstr->wcs[byte_idx++] = wc;
@@ -337,9 +336,11 @@ build_wcs_upper_buffer (re_string_t *pstr)
              for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;)
                pstr->wcs[byte_idx++] = WEOF;
            }
-         else if (mbclen == (size_t) -1 || mbclen == 0)
+         else if (mbclen == (size_t) -1 || mbclen == 0
+                  || (mbclen == (size_t) -2 && pstr->bufs_len >= pstr->len))
            {
-             /* It is an invalid character or '\0'.  Just use the byte.  */
+             /* It is an invalid character, an incomplete character
+                at the end of the string, or '\0'.  Just use the byte.  */
              int ch = pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx];
              pstr->mbs[byte_idx] = ch;
              /* And also cast it to wide char.  */
@@ -452,7 +453,8 @@ build_wcs_upper_buffer (re_string_t *pstr)
            for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;)
              pstr->wcs[byte_idx++] = WEOF;
          }
-       else if (mbclen == (size_t) -1 || mbclen == 0)
+       else if (mbclen == (size_t) -1 || mbclen == 0
+                || (mbclen == (size_t) -2 && pstr->bufs_len >= pstr->len))
          {
            /* It is an invalid character or '\0'.  Just use the byte.  */
            int ch = pstr->raw_mbs[pstr->raw_mbs_idx + src_idx];
@@ -499,8 +501,7 @@ re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t *last_wc)
        rawbuf_idx < new_raw_idx;)
     {
       wchar_t wc2;
-      Idx remain_len;
-      remain_len = pstr->len - rawbuf_idx;
+      Idx remain_len = pstr->raw_len - rawbuf_idx;
       prev_st = pstr->cur_state;
       mbclen = __mbrtowc (&wc2, (const char *) pstr->raw_mbs + rawbuf_idx,
                          remain_len, &pstr->cur_state);
@@ -736,21 +737,21 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
                          mbstate_t cur_state;
                          wchar_t wc2;
                          Idx mlen = raw + pstr->len - p;
+                         unsigned char buf[6];
                          size_t mbclen;
 
-#if 0 /* dead code: buf is set but never used */
-                         unsigned char buf[6];
+                         const unsigned char *pp = p;
                          if (BE (pstr->trans != NULL, 0))
                            {
                              int i = mlen < 6 ? mlen : 6;
                              while (--i >= 0)
                                buf[i] = pstr->trans[p[i]];
+                             pp = buf;
                            }
-#endif
                          /* XXX Don't use mbrtowc, we know which conversion
                             to use (UTF-8 -> UCS4).  */
                          memset (&cur_state, 0, sizeof (cur_state));
-                         mbclen = __mbrtowc (&wc2, (const char *) p, mlen,
+                         mbclen = __mbrtowc (&wc2, (const char *) pp, mlen,
                                              &cur_state);
                          if (raw + offset - p <= mbclen
                              && mbclen < (size_t) -2)
@@ -835,7 +836,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
 }
 
 static unsigned char
-internal_function __attribute ((pure))
+internal_function __attribute__ ((pure))
 re_string_peek_byte_case (const re_string_t *pstr, Idx idx)
 {
   int ch;
@@ -872,7 +873,7 @@ re_string_peek_byte_case (const re_string_t *pstr, Idx idx)
 }
 
 static unsigned char
-internal_function __attribute ((pure))
+internal_function
 re_string_fetch_byte_case (re_string_t *pstr)
 {
   if (BE (!pstr->mbs_allocated, 1))
@@ -975,7 +976,7 @@ re_node_set_alloc (re_node_set *set, Idx size)
   set->alloc = size;
   set->nelem = 0;
   set->elems = re_malloc (Idx, size);
-  if (BE (set->elems == NULL, 0))
+  if (BE (set->elems == NULL, 0) && (MALLOC_0_IS_NONNULL || size != 0))
     return REG_ESPACE;
   return REG_NOERROR;
 }
@@ -1355,7 +1356,7 @@ re_node_set_insert_last (re_node_set *set, Idx elem)
    Return true if SET1 and SET2 are equivalent.  */
 
 static bool
-internal_function __attribute ((pure))
+internal_function __attribute__ ((pure))
 re_node_set_compare (const re_node_set *set1, const re_node_set *set2)
 {
   Idx i;
@@ -1370,7 +1371,7 @@ re_node_set_compare (const re_node_set *set1, const re_node_set *set2)
 /* Return (idx + 1) if SET contains the element ELEM, return 0 otherwise.  */
 
 static Idx
-internal_function __attribute ((pure))
+internal_function __attribute__ ((pure))
 re_node_set_contains (const re_node_set *set, Idx elem)
 {
   __re_size_t idx, right, mid;
@@ -1419,13 +1420,12 @@ re_dfa_add_node (re_dfa_t *dfa, re_token_t token)
       Idx *new_nexts, *new_indices;
       re_node_set *new_edests, *new_eclosures;
       re_token_t *new_nodes;
-      size_t max_object_size =
-       MAX (sizeof (re_token_t),
-            MAX (sizeof (re_node_set),
-                 sizeof (Idx)));
 
-      /* Avoid overflows.  */
-      if (BE (SIZE_MAX / 2 / max_object_size < dfa->nodes_alloc, 0))
+      /* Avoid overflows in realloc.  */
+      const size_t max_object_size = MAX (sizeof (re_token_t),
+                                         MAX (sizeof (re_node_set),
+                                              sizeof (Idx)));
+      if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) < new_nodes_alloc, 0))
        return REG_MISSING;
 
       new_nodes = re_realloc (dfa->nodes, re_token_t, new_nodes_alloc);
@@ -1448,11 +1448,9 @@ re_dfa_add_node (re_dfa_t *dfa, re_token_t token)
   dfa->nodes[dfa->nodes_len] = token;
   dfa->nodes[dfa->nodes_len].constraint = 0;
 #ifdef RE_ENABLE_I18N
-  {
-  int type = token.type;
   dfa->nodes[dfa->nodes_len].accept_mb =
-    (type == OP_PERIOD && dfa->mb_cur_max > 1) || type == COMPLEX_BRACKET;
-  }
+    ((token.type == OP_PERIOD && dfa->mb_cur_max > 1)
+     || token.type == COMPLEX_BRACKET);
 #endif
   dfa->nexts[dfa->nodes_len] = REG_MISSING;
   re_node_set_init_empty (dfa->edests + dfa->nodes_len);
@@ -1460,7 +1458,7 @@ re_dfa_add_node (re_dfa_t *dfa, re_token_t token)
   return dfa->nodes_len++;
 }
 
-static inline re_hashval_t
+static re_hashval_t
 internal_function
 calc_state_hash (const re_node_set *nodes, unsigned int context)
 {
@@ -1557,7 +1555,7 @@ re_acquire_state_context (reg_errcode_t *err, const re_dfa_t *dfa,
          && re_node_set_compare (state->entrance_nodes, nodes))
        return state;
     }
-  /* There are no appropriate state in `dfa', create the new one.  */
+  /* There are no appropriate state in 'dfa', create the new one.  */
   new_state = create_cd_newstate (dfa, nodes, context, hash);
   if (BE (new_state == NULL, 0))
     *err = REG_ESPACE;
@@ -1586,7 +1584,7 @@ register_state (const re_dfa_t *dfa, re_dfastate_t *newstate,
     {
       Idx elem = newstate->nodes.elems[i];
       if (!IS_EPSILON_NODE (dfa->nodes[elem].type))
-       if (BE (! re_node_set_insert_last (&newstate->non_eps_nodes, elem), 0))
+       if (! re_node_set_insert_last (&newstate->non_eps_nodes, elem))
          return REG_ESPACE;
     }
 
@@ -1621,7 +1619,7 @@ free_state (re_dfastate_t *state)
   re_free (state);
 }
 
-/* Create the new state which is independ of contexts.
+/* Create the new state which is independent of contexts.
    Return the new state if succeeded, otherwise return NULL.  */
 
 static re_dfastate_t *
index b25577c..c467b29 100644 (file)
@@ -1,42 +1,36 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public
+   License as published by the Free Software Foundation; either
+   version 3 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
 
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+   You should have received a copy of the GNU General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
 
 #ifndef _REGEX_INTERNAL_H
 #define _REGEX_INTERNAL_H 1
 
 #include <assert.h>
 #include <ctype.h>
-#include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
 #include <langinfo.h>
-#ifndef _LIBC
-# include "localcharset.h"
-#endif
 #include <locale.h>
-
 #include <wchar.h>
 #include <wctype.h>
+#include <stdbool.h>
 #include <stdint.h>
 #if defined _LIBC
 # include <bits/libc-lock.h>
@@ -66,7 +60,7 @@
 # ifdef _LIBC
 #  undef gettext
 #  define gettext(msgid) \
-  INTUSE(__dcgettext) (_libc_intl_domainname, msgid, LC_MESSAGES)
+  __dcgettext (_libc_intl_domainname, msgid, LC_MESSAGES)
 # endif
 #else
 # define gettext(msgid) (msgid)
 # define gettext_noop(String) String
 #endif
 
-/* For loser systems without the definition.  */
-#ifndef SIZE_MAX
-# define SIZE_MAX ((size_t) -1)
-#endif
-
 #if (defined MB_CUR_MAX && HAVE_WCTYPE_H && HAVE_ISWCTYPE && HAVE_WCSCOLL) || _LIBC
 # define RE_ENABLE_I18N
 #endif
@@ -91,9 +80,6 @@
 # define BE(expr, val) __builtin_expect (expr, val)
 #else
 # define BE(expr, val) (expr)
-# ifdef _LIBC
-#  define inline
-# endif
 #endif
 
 /* Number of ASCII characters.  */
 
 /* Rename to standard API for using out of glibc.  */
 #ifndef _LIBC
+# undef __wctype
+# undef __iswctype
 # define __wctype wctype
 # define __iswctype iswctype
 # define __btowc btowc
-# define __wcrtomb wcrtomb
 # define __mbrtowc mbrtowc
+# define __wcrtomb wcrtomb
 # define __regfree regfree
 # define attribute_hidden
 #endif /* not _LIBC */
 
-#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
-# define __attribute(arg) __attribute__ (arg)
-#else
-# define __attribute(arg)
+#if __GNUC__ < 3 + (__GNUC_MINOR__ < 1)
+# define __attribute__(arg)
 #endif
 
 typedef __re_idx_t Idx;
+#ifdef _REGEX_LARGE_OFFSETS
+# define IDX_MAX (SIZE_MAX - 2)
+#else
+# define IDX_MAX INT_MAX
+#endif
 
 /* Special return value for failure to match.  */
 #define REG_MISSING ((Idx) -1)
@@ -336,7 +327,7 @@ typedef struct
     Idx idx;                   /* for BACK_REF */
     re_context_type ctx_type;  /* for ANCHOR */
   } opr;
-#if __GNUC__ >= 2 && !__STRICT_ANSI__
+#if __GNUC__ >= 2 && !defined __STRICT_ANSI__
   re_token_type_t type : 8;
 #else
   re_token_type_t type;
@@ -420,19 +411,21 @@ typedef struct re_dfa_t re_dfa_t;
 # define internal_function
 #endif
 
+#ifndef NOT_IN_libc
 static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr,
                                                Idx new_buf_len)
      internal_function;
-#ifdef RE_ENABLE_I18N
+# ifdef RE_ENABLE_I18N
 static void build_wcs_buffer (re_string_t *pstr) internal_function;
 static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr)
-     internal_function;
-#endif /* RE_ENABLE_I18N */
+  internal_function;
+# endif /* RE_ENABLE_I18N */
 static void build_upper_buffer (re_string_t *pstr) internal_function;
 static void re_string_translate_buffer (re_string_t *pstr) internal_function;
 static unsigned int re_string_context_at (const re_string_t *input, Idx idx,
                                          int eflags)
-     internal_function __attribute ((pure));
+     internal_function __attribute__ ((pure));
+#endif
 #define re_string_peek_byte(pstr, offset) \
   ((pstr)->mbs[(pstr)->cur_idx + offset])
 #define re_string_fetch_byte(pstr) \
@@ -450,7 +443,9 @@ static unsigned int re_string_context_at (const re_string_t *input, Idx idx,
 #define re_string_skip_bytes(pstr,idx) ((pstr)->cur_idx += (idx))
 #define re_string_set_index(pstr,idx) ((pstr)->cur_idx = (idx))
 
-#include <alloca.h>
+#if defined _LIBC || HAVE_ALLOCA
+# include <alloca.h>
+#endif
 
 #ifndef _LIBC
 # if HAVE_ALLOCA
@@ -467,9 +462,18 @@ static unsigned int re_string_context_at (const re_string_t *input, Idx idx,
 # endif
 #endif
 
+#ifdef _LIBC
+# define MALLOC_0_IS_NONNULL 1
+#elif !defined MALLOC_0_IS_NONNULL
+# define MALLOC_0_IS_NONNULL 0
+#endif
+
 #ifndef MAX
 # define MAX(a,b) ((a) < (b) ? (b) : (a))
 #endif
+#ifndef MIN
+# define MIN(a,b) ((a) < (b) ? (a) : (b))
+#endif
 
 #define re_malloc(t,n) ((t *) malloc ((n) * sizeof (t)))
 #define re_realloc(p,t,n) ((t *) realloc (p, (n) * sizeof (t)))
@@ -485,8 +489,8 @@ struct bin_tree_t
 
   re_token_t token;
 
-  /* `node_idx' is the index in dfa->nodes, if `type' == 0.
-     Otherwise `type' indicate the type of this node.  */
+  /* 'node_idx' is the index in dfa->nodes, if 'type' == 0.
+     Otherwise 'type' indicate the type of this node.  */
   Idx node_idx;
 };
 typedef struct bin_tree_t bin_tree_t;
@@ -539,9 +543,9 @@ struct re_dfastate_t
   struct re_dfastate_t **trtable, **word_trtable;
   unsigned int context : 4;
   unsigned int halt : 1;
-  /* If this state can accept `multi byte'.
+  /* If this state can accept "multi byte".
      Note that we refer to multibyte characters, and multi character
-     collating elements as `multi byte'.  */
+     collating elements as "multi byte".  */
   unsigned int accept_mb : 1;
   /* If this state has backreference node(s).  */
   unsigned int has_backref : 1;
@@ -670,7 +674,7 @@ struct re_dfa_t
   re_bitset_ptr_t sb_char;
   int str_tree_storage_idx;
 
-  /* number of subexpressions `re_nsub' is in regex_t.  */
+  /* number of subexpressions 're_nsub' is in regex_t.  */
   re_hashval_t state_hash_mask;
   Idx init_node;
   Idx nbackref; /* The number of backreference in this dfa.  */
@@ -727,33 +731,33 @@ typedef struct
 } bracket_elem_t;
 
 
-/* Inline functions for bitset_t operation.  */
+/* Functions for bitset_t operation.  */
 
-static inline void
+static void
 bitset_set (bitset_t set, Idx i)
 {
   set[i / BITSET_WORD_BITS] |= (bitset_word_t) 1 << i % BITSET_WORD_BITS;
 }
 
-static inline void
+static void
 bitset_clear (bitset_t set, Idx i)
 {
   set[i / BITSET_WORD_BITS] &= ~ ((bitset_word_t) 1 << i % BITSET_WORD_BITS);
 }
 
-static inline bool
+static bool
 bitset_contain (const bitset_t set, Idx i)
 {
   return (set[i / BITSET_WORD_BITS] >> i % BITSET_WORD_BITS) & 1;
 }
 
-static inline void
+static void
 bitset_empty (bitset_t set)
 {
   memset (set, '\0', sizeof (bitset_t));
 }
 
-static inline void
+static void
 bitset_set_all (bitset_t set)
 {
   memset (set, -1, sizeof (bitset_word_t) * (SBC_MAX / BITSET_WORD_BITS));
@@ -762,13 +766,13 @@ bitset_set_all (bitset_t set)
       ((bitset_word_t) 1 << SBC_MAX % BITSET_WORD_BITS) - 1;
 }
 
-static inline void
+static void
 bitset_copy (bitset_t dest, const bitset_t src)
 {
   memcpy (dest, src, sizeof (bitset_t));
 }
 
-static inline void
+static void __attribute__ ((unused))
 bitset_not (bitset_t set)
 {
   int bitset_i;
@@ -780,7 +784,7 @@ bitset_not (bitset_t set)
        & ~set[BITSET_WORDS - 1]);
 }
 
-static inline void
+static void __attribute__ ((unused))
 bitset_merge (bitset_t dest, const bitset_t src)
 {
   int bitset_i;
@@ -788,7 +792,7 @@ bitset_merge (bitset_t dest, const bitset_t src)
     dest[bitset_i] |= src[bitset_i];
 }
 
-static inline void
+static void __attribute__ ((unused))
 bitset_mask (bitset_t dest, const bitset_t src)
 {
   int bitset_i;
@@ -797,9 +801,9 @@ bitset_mask (bitset_t dest, const bitset_t src)
 }
 
 #ifdef RE_ENABLE_I18N
-/* Inline functions for re_string.  */
-static inline int
-internal_function __attribute ((pure))
+/* Functions for re_string.  */
+static int
+internal_function __attribute__ ((pure, unused))
 re_string_char_size_at (const re_string_t *pstr, Idx idx)
 {
   int byte_idx;
@@ -811,8 +815,8 @@ re_string_char_size_at (const re_string_t *pstr, Idx idx)
   return byte_idx;
 }
 
-static inline wint_t
-internal_function __attribute ((pure))
+static wint_t
+internal_function __attribute__ ((pure, unused))
 re_string_wchar_at (const re_string_t *pstr, Idx idx)
 {
   if (pstr->mb_cur_max == 1)
@@ -820,16 +824,15 @@ re_string_wchar_at (const re_string_t *pstr, Idx idx)
   return (wint_t) pstr->wcs[idx];
 }
 
+# ifndef NOT_IN_libc
 static int
-internal_function __attribute ((pure))
-re_string_elem_size_at (const re_string_t *pstr _UNUSED_PARAMETER_,
-                       Idx idx _UNUSED_PARAMETER_)
+internal_function __attribute__ ((pure, unused))
+re_string_elem_size_at (const re_string_t *pstr, Idx idx)
 {
-# ifdef _LIBC
+#  ifdef _LIBC
   const unsigned char *p, *extra;
   const int32_t *table, *indirect;
-  int32_t tmp;
-#  include <locale/weight.h>
+#   include <locale/weight.h>
   uint_fast32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES);
 
   if (nrules != 0)
@@ -840,13 +843,14 @@ re_string_elem_size_at (const re_string_t *pstr _UNUSED_PARAMETER_,
       indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
                                                _NL_COLLATE_INDIRECTMB);
       p = pstr->mbs + idx;
-      tmp = findidx (&p);
+      findidx (&p, pstr->len - idx);
       return p - pstr->mbs - idx;
     }
   else
-# endif /* _LIBC */
+#  endif /* _LIBC */
     return 1;
 }
+# endif
 #endif /* RE_ENABLE_I18N */
 
 #ifndef __GNUC_PREREQ
index ac67aeb..94644de 100644 (file)
@@ -1,23 +1,21 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public
+   License as published by the Free Software Foundation; either
+   version 3 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
 
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+   You should have received a copy of the GNU General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
 
 #include "verify.h"
 #include "intprops.h"
@@ -55,9 +53,8 @@ static regoff_t re_search_stub (struct re_pattern_buffer *bufp,
                                regoff_t range, Idx stop,
                                struct re_registers *regs,
                                bool ret_len) internal_function;
-static unsigned int re_copy_regs (struct re_registers *regs, regmatch_t *pmatch,
-                                 Idx nregs, int regs_allocated)
-     internal_function;
+static unsigned re_copy_regs (struct re_registers *regs, regmatch_t *pmatch,
+                              Idx nregs, int regs_allocated) internal_function;
 static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx)
      internal_function;
 static Idx check_matching (re_match_context_t *mctx, bool fl_longest_match,
@@ -204,7 +201,7 @@ static Idx group_nodes_into_DFAstates (const re_dfa_t *dfa,
 static bool check_node_accept (const re_match_context_t *mctx,
                               const re_token_t *node, Idx idx)
      internal_function;
-static reg_errcode_t extend_buffers (re_match_context_t *mctx)
+static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len)
      internal_function;
 \f
 /* Entry point for POSIX code.  */
@@ -213,11 +210,11 @@ static reg_errcode_t extend_buffers (re_match_context_t *mctx)
    string STRING.
 
    If NMATCH is zero or REG_NOSUB was set in the cflags argument to
-   `regcomp', we ignore PMATCH.  Otherwise, we assume PMATCH has at
+   'regcomp', we ignore PMATCH.  Otherwise, we assume PMATCH has at
    least NMATCH elements, and we set them to the offsets of the
    corresponding matched substrings.
 
-   EFLAGS specifies `execution flags' which affect matching: if
+   EFLAGS specifies "execution flags" which affect matching: if
    REG_NOTBOL is set, then ^ does not match at the beginning of the
    string; if REG_NOTEOL is set, then $ does not match at the end.
 
@@ -234,7 +231,7 @@ regexec (preg, string, nmatch, pmatch, eflags)
   reg_errcode_t err;
   Idx start, length;
 #ifdef _LIBC
-  re_dfa_t *dfa = (re_dfa_t *) preg->buffer;
+  re_dfa_t *dfa = preg->buffer;
 #endif
 
   if (eflags & ~(REG_NOTBOL | REG_NOTEOL | REG_STARTEND))
@@ -369,7 +366,6 @@ weak_alias (__re_search_2, re_search_2)
 #endif
 
 static regoff_t
-internal_function
 re_search_2_stub (struct re_pattern_buffer *bufp,
                  const char *string1, Idx length1,
                  const char *string2, Idx length2,
@@ -420,7 +416,6 @@ re_search_2_stub (struct re_pattern_buffer *bufp,
    otherwise the position of the match is returned.  */
 
 static regoff_t
-internal_function
 re_search_stub (struct re_pattern_buffer *bufp,
                const char *string, Idx length,
                Idx start, regoff_t range, Idx stop, struct re_registers *regs,
@@ -432,7 +427,7 @@ re_search_stub (struct re_pattern_buffer *bufp,
   regoff_t rval;
   int eflags = 0;
 #ifdef _LIBC
-  re_dfa_t *dfa = (re_dfa_t *) bufp->buffer;
+  re_dfa_t *dfa = bufp->buffer;
 #endif
   Idx last_start = start + range;
 
@@ -487,9 +482,9 @@ re_search_stub (struct re_pattern_buffer *bufp,
 
   rval = 0;
 
-  /* I hope we needn't fill ther regs with -1's when no match was found.  */
+  /* I hope we needn't fill their regs with -1's when no match was found.  */
   if (result != REG_NOERROR)
-    rval = -1;
+    rval = result == REG_NOMATCH ? -1 : -2;
   else if (regs != NULL)
     {
       /* If caller wants register contents data back, copy them.  */
@@ -515,15 +510,14 @@ re_search_stub (struct re_pattern_buffer *bufp,
   return rval;
 }
 
-static unsigned int
-internal_function
+static unsigned
 re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs,
              int regs_allocated)
 {
   int rval = REGS_REALLOCATE;
   Idx i;
   Idx need_regs = nregs + 1;
-  /* We need one extra element beyond `num_regs' for the `-1' marker GNU code
+  /* We need one extra element beyond 'num_regs' for the '-1' marker GNU code
      uses.  */
 
   /* Have the register data arrays been allocated?  */
@@ -646,7 +640,7 @@ re_exec (s)
    (0 <= LAST_START && LAST_START <= LENGTH)  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_search_internal (const regex_t *preg,
                    const char *string, Idx length,
                    Idx start, Idx last_start, Idx stop,
@@ -654,7 +648,7 @@ re_search_internal (const regex_t *preg,
                    int eflags)
 {
   reg_errcode_t err;
-  const re_dfa_t *dfa = (const re_dfa_t *) preg->buffer;
+  const re_dfa_t *dfa = preg->buffer;
   Idx left_lim, right_lim;
   int incr;
   bool fl_longest_match;
@@ -729,7 +723,8 @@ re_search_internal (const regex_t *preg,
   if (nmatch > 1 || dfa->has_mb_node)
     {
       /* Avoid overflow.  */
-      if (BE (SIZE_MAX / sizeof (re_dfastate_t *) <= mctx.input.bufs_len, 0))
+      if (BE ((MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *))
+               <= mctx.input.bufs_len), 0))
        {
          err = REG_ESPACE;
          goto free_return;
@@ -749,7 +744,7 @@ re_search_internal (const regex_t *preg,
   mctx.input.tip_context = (eflags & REG_NOTBOL) ? CONTEXT_BEGBUF
                           : CONTEXT_NEWLINE | CONTEXT_BEGBUF;
 
-  /* Check incrementally whether of not the input string match.  */
+  /* Check incrementally whether the input string matches.  */
   incr = (last_start < start) ? -1 : 1;
   left_lim = (last_start < start) ? last_start : start;
   right_lim = (last_start < start) ? start : last_start;
@@ -931,7 +926,7 @@ re_search_internal (const regex_t *preg,
            goto free_return;
        }
 
-      /* At last, add the offset to the each registers, since we slided
+      /* At last, add the offset to each register, since we slid
         the buffers so that we could assume that the matching starts
         from 0.  */
       for (reg_idx = 0; reg_idx < nmatch; ++reg_idx)
@@ -981,7 +976,7 @@ re_search_internal (const regex_t *preg,
 }
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 prune_impossible_nodes (re_match_context_t *mctx)
 {
   const re_dfa_t *const dfa = mctx->dfa;
@@ -997,7 +992,7 @@ prune_impossible_nodes (re_match_context_t *mctx)
   halt_node = mctx->last_node;
 
   /* Avoid overflow.  */
-  if (BE (SIZE_MAX / sizeof (re_dfastate_t *) <= match_last, 0))
+  if (BE (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) <= match_last, 0))
     return REG_ESPACE;
 
   sifted_states = re_malloc (re_dfastate_t *, match_last + 1);
@@ -1077,7 +1072,7 @@ prune_impossible_nodes (re_match_context_t *mctx)
    since initial states may have constraints like "\<", "^", etc..  */
 
 static inline re_dfastate_t *
-__attribute ((always_inline)) internal_function
+__attribute__ ((always_inline)) internal_function
 acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx,
                            Idx idx)
 {
@@ -1115,7 +1110,7 @@ acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx,
    FL_LONGEST_MATCH means we want the POSIX longest matching.
    If P_MATCH_FIRST is not NULL, and the match fails, it is set to the
    next place where we may want to try matching.
-   Note that the matcher assume that the maching starts from the current
+   Note that the matcher assumes that the matching starts from the current
    index of the buffer.  */
 
 static Idx
@@ -1184,11 +1179,12 @@ check_matching (re_match_context_t *mctx, bool fl_longest_match,
       re_dfastate_t *old_state = cur_state;
       Idx next_char_idx = re_string_cur_idx (&mctx->input) + 1;
 
-      if (BE (next_char_idx >= mctx->input.bufs_len, 0)
+      if ((BE (next_char_idx >= mctx->input.bufs_len, 0)
+          && mctx->input.bufs_len < mctx->input.len)
          || (BE (next_char_idx >= mctx->input.valid_len, 0)
              && mctx->input.valid_len < mctx->input.len))
        {
-         err = extend_buffers (mctx);
+         err = extend_buffers (mctx, next_char_idx + 1);
          if (BE (err != REG_NOERROR, 0))
            {
              assert (err == REG_ESPACE);
@@ -1445,7 +1441,7 @@ internal_function __attribute_warn_unused_result__
 set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch,
          regmatch_t *pmatch, bool fl_backtrack)
 {
-  const re_dfa_t *dfa = (const re_dfa_t *) preg->buffer;
+  const re_dfa_t *dfa = preg->buffer;
   Idx idx, cur_node;
   re_node_set eps_via_nodes;
   struct re_fail_stack_t *fs;
@@ -1617,21 +1613,21 @@ update_regs (const re_dfa_t *dfa, regmatch_t *pmatch,
    and sift the nodes in each states according to the following rules.
    Updated state_log will be wrote to STATE_LOG.
 
-   Rules: We throw away the Node `a' in the STATE_LOG[STR_IDX] if...
+   Rules: We throw away the Node 'a' in the STATE_LOG[STR_IDX] if...
      1. When STR_IDX == MATCH_LAST(the last index in the state_log):
-       If `a' isn't the LAST_NODE and `a' can't epsilon transit to
-       the LAST_NODE, we throw away the node `a'.
-     2. When 0 <= STR_IDX < MATCH_LAST and `a' accepts
-       string `s' and transit to `b':
+       If 'a' isn't the LAST_NODE and 'a' can't epsilon transit to
+       the LAST_NODE, we throw away the node 'a'.
+     2. When 0 <= STR_IDX < MATCH_LAST and 'a' accepts
+       string 's' and transit to 'b':
        i. If 'b' isn't in the STATE_LOG[STR_IDX+strlen('s')], we throw
-          away the node `a'.
+          away the node 'a'.
        ii. If 'b' is in the STATE_LOG[STR_IDX+strlen('s')] but 'b' is
-           thrown away, we throw away the node `a'.
+           thrown away, we throw away the node 'a'.
      3. When 0 <= STR_IDX < MATCH_LAST and 'a' epsilon transit to 'b':
        i. If 'b' isn't in the STATE_LOG[STR_IDX], we throw away the
-          node `a'.
+          node 'a'.
        ii. If 'b' is in the STATE_LOG[STR_IDX] but 'b' is thrown away,
-           we throw away the node `a'.  */
+           we throw away the node 'a'.  */
 
 #define STATE_NODE_CONTAINS(state,node) \
   ((state) != NULL && re_node_set_contains (&(state)->nodes, node))
@@ -1704,11 +1700,11 @@ build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx,
   Idx i;
 
   /* Then build the next sifted state.
-     We build the next sifted state on `cur_dest', and update
-     `sifted_states[str_idx]' with `cur_dest'.
+     We build the next sifted state on 'cur_dest', and update
+     'sifted_states[str_idx]' with 'cur_dest'.
      Note:
-     `cur_dest' is the sifted state from `state_log[str_idx + 1]'.
-     `cur_src' points the node_set of the old `state_log[str_idx]'
+     'cur_dest' is the sifted state from 'state_log[str_idx + 1]'.
+     'cur_src' points the node_set of the old 'state_log[str_idx]'
      (with the epsilon nodes pre-filtered out).  */
   for (i = 0; i < cur_src->nelem; i++)
     {
@@ -1721,7 +1717,7 @@ build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx,
       assert (!IS_EPSILON_NODE (type));
 #endif
 #ifdef RE_ENABLE_I18N
-      /* If the node may accept `multi byte'.  */
+      /* If the node may accept "multi byte".  */
       if (dfa->nodes[prev_node].accept_mb)
        naccepted = sift_states_iter_mb (mctx, sctx, prev_node,
                                         str_idx, sctx->last_str_idx);
@@ -1762,12 +1758,13 @@ clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx)
 {
   Idx top = mctx->state_log_top;
 
-  if (next_state_log_idx >= mctx->input.bufs_len
+  if ((next_state_log_idx >= mctx->input.bufs_len
+       && mctx->input.bufs_len < mctx->input.len)
       || (next_state_log_idx >= mctx->input.valid_len
          && mctx->input.valid_len < mctx->input.len))
     {
       reg_errcode_t err;
-      err = extend_buffers (mctx);
+      err = extend_buffers (mctx, next_state_log_idx + 1);
       if (BE (err != REG_NOERROR, 0))
        return err;
     }
@@ -2277,17 +2274,17 @@ sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx,
 {
   const re_dfa_t *const dfa = mctx->dfa;
   int naccepted;
-  /* Check the node can accept `multi byte'.  */
+  /* Check the node can accept "multi byte".  */
   naccepted = check_node_accept_bytes (dfa, node_idx, &mctx->input, str_idx);
   if (naccepted > 0 && str_idx + naccepted <= max_str_idx &&
       !STATE_NODE_CONTAINS (sctx->sifted_states[str_idx + naccepted],
                            dfa->nexts[node_idx]))
-    /* The node can't accept the `multi byte', or the
+    /* The node can't accept the "multi byte", or the
        destination was already thrown away, then the node
-       could't accept the current input `multi byte'.   */
+       could't accept the current input "multi byte".   */
     naccepted = 0;
   /* Otherwise, it is sure that the node could accept
-     `naccepted' bytes input.  */
+     'naccepted' bytes input.  */
   return naccepted;
 }
 #endif /* RE_ENABLE_I18N */
@@ -2466,7 +2463,7 @@ find_recover_state (reg_errcode_t *err, re_match_context_t *mctx)
 /* From the node set CUR_NODES, pick up the nodes whose types are
    OP_OPEN_SUBEXP and which have corresponding back references in the regular
    expression. And register them to use them later for evaluating the
-   correspoding back references.  */
+   corresponding back references.  */
 
 static reg_errcode_t
 internal_function
@@ -2577,7 +2574,7 @@ transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate)
       if (naccepted == 0)
        continue;
 
-      /* The node can accepts `naccepted' bytes.  */
+      /* The node can accepts 'naccepted' bytes.  */
       dest_idx = re_string_cur_idx (&mctx->input) + naccepted;
       mctx->max_mb_elem_len = ((mctx->max_mb_elem_len < naccepted) ? naccepted
                               : mctx->max_mb_elem_len);
@@ -2629,7 +2626,7 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
       const re_token_t *node = dfa->nodes + node_idx;
       re_node_set *new_dest_nodes;
 
-      /* Check whether `node' is a backreference or not.  */
+      /* Check whether 'node' is a backreference or not.  */
       if (node->type != OP_BACK_REF)
        continue;
 
@@ -2641,14 +2638,14 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
            continue;
        }
 
-      /* `node' is a backreference.
+      /* 'node' is a backreference.
         Check the substring which the substring matched.  */
       bkc_idx = mctx->nbkref_ents;
       err = get_subexp (mctx, node_idx, cur_str_idx);
       if (BE (err != REG_NOERROR, 0))
        goto free_return;
 
-      /* And add the epsilon closures (which is `new_dest_nodes') of
+      /* And add the epsilon closures (which is 'new_dest_nodes') of
         the backreference to appropriate state_log.  */
 #ifdef DEBUG
       assert (dfa->nexts[node_idx] != REG_MISSING);
@@ -2672,7 +2669,7 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
          dest_state = mctx->state_log[dest_str_idx];
          prev_nelem = ((mctx->state_log[cur_str_idx] == NULL) ? 0
                        : mctx->state_log[cur_str_idx]->nodes.nelem);
-         /* Add `new_dest_node' to state_log.  */
+         /* Add 'new_dest_node' to state_log.  */
          if (dest_state == NULL)
            {
              mctx->state_log[dest_str_idx]
@@ -2824,7 +2821,7 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
                  if (bkref_str_off >= mctx->input.len)
                    break;
 
-                 err = extend_buffers (mctx);
+                 err = extend_buffers (mctx, bkref_str_off + 1);
                  if (BE (err != REG_NOERROR, 0))
                    return err;
 
@@ -2946,9 +2943,12 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
     {
       re_dfastate_t **new_array;
       Idx old_alloc = path->alloc;
-      Idx new_alloc = old_alloc + last_str + mctx->max_mb_elem_len + 1;
-      if (BE (new_alloc < old_alloc, 0)
-         || BE (SIZE_MAX / sizeof (re_dfastate_t *) < new_alloc, 0))
+      Idx incr_alloc = last_str + mctx->max_mb_elem_len + 1;
+      Idx new_alloc;
+      if (BE (IDX_MAX - old_alloc < incr_alloc, 0))
+       return REG_ESPACE;
+      new_alloc = old_alloc + incr_alloc;
+      if (BE (SIZE_MAX / sizeof (re_dfastate_t *) < new_alloc, 0))
        return REG_ESPACE;
       new_array = re_realloc (path->array, re_dfastate_t *, new_alloc);
       if (BE (new_array == NULL, 0))
@@ -3111,7 +3111,7 @@ check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx,
       assert (!IS_EPSILON_NODE (type));
 #endif
 #ifdef RE_ENABLE_I18N
-      /* If the node may accept `multi byte'.  */
+      /* If the node may accept "multi byte".  */
       if (dfa->nodes[cur_node].accept_mb)
        {
          naccepted = check_node_accept_bytes (dfa, cur_node, &mctx->input,
@@ -3368,7 +3368,7 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
   bitset_word_t elem, mask;
   bool dests_node_malloced = false;
   bool dest_states_malloced = false;
-  Idx ndests; /* Number of the destination states from `state'.  */
+  Idx ndests; /* Number of the destination states from 'state'.  */
   re_dfastate_t **trtable;
   re_dfastate_t **dest_states = NULL, **dest_states_word, **dest_states_nl;
   re_node_set follows, *dests_node;
@@ -3382,8 +3382,8 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
   } *dests_alloc;
 
   /* We build DFA states which corresponds to the destination nodes
-     from `state'.  `dests_node[i]' represents the nodes which i-th
-     destination state contains, and `dests_ch[i]' represents the
+     from 'state'.  'dests_node[i]' represents the nodes which i-th
+     destination state contains, and 'dests_ch[i]' represents the
      characters which i-th destination state accepts.  */
   if (__libc_use_alloca (sizeof (struct dests_alloc)))
     dests_alloc = (struct dests_alloc *) alloca (sizeof (struct dests_alloc));
@@ -3397,16 +3397,17 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
   dests_node = dests_alloc->dests_node;
   dests_ch = dests_alloc->dests_ch;
 
-  /* Initialize transiton table.  */
+  /* Initialize transition table.  */
   state->word_trtable = state->trtable = NULL;
 
-  /* At first, group all nodes belonging to `state' into several
+  /* At first, group all nodes belonging to 'state' into several
      destinations.  */
   ndests = group_nodes_into_DFAstates (dfa, state, dests_node, dests_ch);
   if (BE (! REG_VALID_NONZERO_INDEX (ndests), 0))
     {
       if (dests_node_malloced)
        free (dests_alloc);
+      /* Return false in case of an error, true otherwise.  */
       if (ndests == 0)
        {
          state->trtable = (re_dfastate_t **)
@@ -3602,13 +3603,13 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
   reg_errcode_t err;
   bool ok;
   Idx i, j, k;
-  Idx ndests; /* Number of the destinations from `state'.  */
+  Idx ndests; /* Number of the destinations from 'state'.  */
   bitset_t accepts; /* Characters a node can accept.  */
   const re_node_set *cur_nodes = &state->nodes;
   bitset_empty (accepts);
   ndests = 0;
 
-  /* For all the nodes belonging to `state',  */
+  /* For all the nodes belonging to 'state',  */
   for (i = 0; i < cur_nodes->nelem; ++i)
     {
       re_token_t *node = &dfa->nodes[cur_nodes->elems[i]];
@@ -3651,7 +3652,7 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
       else
        continue;
 
-      /* Check the `accepts' and sift the characters which are not
+      /* Check the 'accepts' and sift the characters which are not
         match it the context.  */
       if (constraint)
        {
@@ -3710,7 +3711,7 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
            }
        }
 
-      /* Then divide `accepts' into DFA states, or create a new
+      /* Then divide 'accepts' into DFA states, or create a new
         state.  Above, we make sure that accepts is not empty.  */
       for (j = 0; j < ndests; ++j)
        {
@@ -3723,7 +3724,7 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
          if (type == CHARACTER && !bitset_contain (dests_ch[j], node->opr.c))
            continue;
 
-         /* Enumerate the intersection set of this state and `accepts'.  */
+         /* Enumerate the intersection set of this state and 'accepts'.  */
          has_intersec = 0;
          for (k = 0; k < BITSET_WORDS; ++k)
            has_intersec |= intersec[k] = accepts[k] & dests_ch[j][k];
@@ -3731,7 +3732,7 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
          if (!has_intersec)
            continue;
 
-         /* Then check if this state is a subset of `accepts'.  */
+         /* Then check if this state is a subset of 'accepts'.  */
          not_subset = not_consumed = 0;
          for (k = 0; k < BITSET_WORDS; ++k)
            {
@@ -3739,8 +3740,8 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
              not_consumed |= accepts[k] = accepts[k] & ~dests_ch[j][k];
            }
 
-         /* If this state isn't a subset of `accepts', create a
-            new group state, which has the `remains'. */
+         /* If this state isn't a subset of 'accepts', create a
+            new group state, which has the 'remains'. */
          if (not_subset)
            {
              bitset_copy (dests_ch[ndests], remains);
@@ -3779,7 +3780,7 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
 }
 
 #ifdef RE_ENABLE_I18N
-/* Check how many bytes the node `dfa->nodes[node_idx]' accepts.
+/* Check how many bytes the node 'dfa->nodes[node_idx]' accepts.
    Return the number of the bytes the node accepts.
    STR_IDX is the current index of the input string.
 
@@ -3906,7 +3907,6 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
          const int32_t *table, *indirect;
          const unsigned char *weights, *extra;
          const char *collseqwc;
-         int32_t idx;
          /* This #include defines a local function!  */
 #  include <locale/weight.h>
 
@@ -3944,6 +3944,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
                in_collseq = find_collation_sequence_value (pin, elem_len);
            }
          /* match with range expression?  */
+         /* FIXME: Implement rational ranges here, too.  */
          for (i = 0; i < cset->nranges; ++i)
            if (cset->range_starts[i] <= in_collseq
                && in_collseq <= cset->range_ends[i])
@@ -3964,7 +3965,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
                _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB);
              indirect = (const int32_t *)
                _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
-             int32_t idx = findidx (&cp);
+             int32_t idx = findidx (&cp, elem_len);
              if (idx > 0)
                for (i = 0; i < cset->nequiv_classes; ++i)
                  {
@@ -3995,18 +3996,9 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
 # endif /* _LIBC */
        {
          /* match with range expression?  */
-#if __GNUC__ >= 2 && ! (__STDC_VERSION__ < 199901L && __STRICT_ANSI__)
-         wchar_t cmp_buf[] = {L'\0', L'\0', wc, L'\0', L'\0', L'\0'};
-#else
-         wchar_t cmp_buf[] = {L'\0', L'\0', L'\0', L'\0', L'\0', L'\0'};
-         cmp_buf[2] = wc;
-#endif
          for (i = 0; i < cset->nranges; ++i)
            {
-             cmp_buf[0] = cset->range_starts[i];
-             cmp_buf[4] = cset->range_ends[i];
-             if (wcscoll (cmp_buf, cmp_buf + 2) <= 0
-                 && wcscoll (cmp_buf + 2, cmp_buf + 4) <= 0)
+             if (cset->range_starts[i] <= wc && wc <= cset->range_ends[i])
                {
                  match_len = char_len;
                  goto check_node_accept_bytes_match;
@@ -4076,7 +4068,7 @@ find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len)
          /* Skip the collation sequence value.  */
          idx += sizeof (uint32_t);
          /* Skip the wide char sequence of the collating element.  */
-         idx = idx + sizeof (uint32_t) * (extra[idx] + 1);
+         idx = idx + sizeof (uint32_t) * (*(int32_t *) (extra + idx) + 1);
          /* If we found the entry, return the sequence value.  */
          if (found)
            return *(uint32_t *) (extra + idx);
@@ -4144,17 +4136,20 @@ check_node_accept (const re_match_context_t *mctx, const re_token_t *node,
 
 static reg_errcode_t
 internal_function __attribute_warn_unused_result__
-extend_buffers (re_match_context_t *mctx)
+extend_buffers (re_match_context_t *mctx, int min_len)
 {
   reg_errcode_t ret;
   re_string_t *pstr = &mctx->input;
 
   /* Avoid overflow.  */
-  if (BE (SIZE_MAX / 2 / sizeof (re_dfastate_t *) <= pstr->bufs_len, 0))
+  if (BE (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) / 2
+          <= pstr->bufs_len, 0))
     return REG_ESPACE;
 
-  /* Double the lengthes of the buffers.  */
-  ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2);
+  /* Double the lengths of the buffers, but allocate at least MIN_LEN.  */
+  ret = re_string_realloc_buffers (pstr,
+                                  MAX (min_len,
+                                       MIN (pstr->len, pstr->bufs_len * 2)));
   if (BE (ret != REG_NOERROR, 0))
     return ret;
 
@@ -4217,7 +4212,7 @@ match_ctx_init (re_match_context_t *mctx, int eflags, Idx n)
       size_t max_object_size =
        MAX (sizeof (struct re_backref_cache_entry),
             sizeof (re_sub_match_top_t *));
-      if (BE (SIZE_MAX / max_object_size < n, 0))
+      if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) < n, 0))
        return REG_ESPACE;
 
       mctx->bkref_ents = re_malloc (struct re_backref_cache_entry, n);
diff --git a/lib/secure_getenv.c b/lib/secure_getenv.c
new file mode 100644 (file)
index 0000000..6c11c5e
--- /dev/null
@@ -0,0 +1,41 @@
+/* Look up an environment variable more securely.
+
+   Copyright 2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published
+   by the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#if !HAVE___SECURE_GETENV
+# if HAVE_ISSETUGID
+#  include <unistd.h>
+# else
+#  undef issetugid
+#  define issetugid() 1
+# endif
+#endif
+
+char *
+secure_getenv (char const *name)
+{
+#if HAVE___SECURE_GETENV
+  return __secure_getenv (name);
+#else
+  if (issetugid ())
+    return 0;
+  return getenv (name);
+#endif
+}
index 731567c..05d83db 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Shell quoting.
-   Copyright (C) 2001-2004, 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006, 2009-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <haible@clisp.cons.org>, 2001.
 
    This program is free software: you can redistribute it and/or modify
@@ -71,11 +69,11 @@ shell_quote (const char *string)
 /* Returns a freshly allocated string containing all argument strings, quoted,
    separated through spaces.  */
 char *
-shell_quote_argv (char **argv)
+shell_quote_argv (char * const *argv)
 {
   if (*argv != NULL)
     {
-      char **argp;
+      char * const *argp;
       size_t length;
       char *command;
       char *p;
index 339a7c6..d08502d 100644 (file)
@@ -1,5 +1,5 @@
 /* Shell quoting.
-   Copyright (C) 2001-2002, 2004, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2004, 2009-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <haible@clisp.cons.org>, 2001.
 
    This program is free software: you can redistribute it and/or modify
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#ifndef _SH_QUOTE_H
+#define _SH_QUOTE_H
+
 /* When passing a command to a shell, we must quote the program name and
    arguments, since Unix shells interpret characters like " ", "'", "<", ">",
-   "$" etc. in a special way.  */
+   "$", '*', '?' etc. in a special way.  */
 
 #include <stddef.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* Returns the number of bytes needed for the quoted string.  */
 extern size_t shell_quote_length (const char *string);
 
@@ -33,4 +40,10 @@ extern char * shell_quote (const char *string);
 
 /* Returns a freshly allocated string containing all argument strings, quoted,
    separated through spaces.  */
-extern char * shell_quote_argv (char **argv);
+extern char * shell_quote_argv (char * const *argv);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SH_QUOTE_H */
diff --git a/lib/sig-handler.c b/lib/sig-handler.c
new file mode 100644 (file)
index 0000000..52c3621
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+#define SIG_HANDLER_INLINE _GL_EXTERN_INLINE
+#include "sig-handler.h"
index abb660c..ca9f979 100644 (file)
@@ -1,6 +1,6 @@
 /* Convenience declarations when working with <signal.h>.
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #include <signal.h>
 
+_GL_INLINE_HEADER_BEGIN
+#ifndef SIG_HANDLER_INLINE
+# define SIG_HANDLER_INLINE _GL_INLINE
+#endif
+
 /* Convenience type when working with signal handlers.  */
 typedef void (*sa_handler_t) (int);
 
 /* Return the handler of a signal, as a sa_handler_t value regardless
    of its true type.  The resulting function can be compared to
    special values like SIG_IGN but it is not portable to call it.  */
-static inline sa_handler_t
+SIG_HANDLER_INLINE sa_handler_t
 get_handler (struct sigaction const *a)
 {
 #ifdef SA_SIGINFO
@@ -41,4 +46,6 @@ get_handler (struct sigaction const *a)
   return a->sa_handler;
 }
 
+_GL_INLINE_HEADER_END
+
 #endif /* _GL_SIG_HANDLER_H */
index e6a55da..97eb76d 100644 (file)
@@ -1,5 +1,5 @@
 /* POSIX compatible signal blocking.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
    Written by Eric Blake <ebb9@byu.net>, 2008.
 
    This program is free software: you can redistribute it and/or modify
@@ -24,7 +24,7 @@
 #include <stdint.h>
 #include <stdlib.h>
 
-/* This implementation of sigaction is tailored to Woe32 behavior:
+/* This implementation of sigaction is tailored to native Windows behavior:
    signal() has SysV semantics (ie. the handler is uninstalled before
    it is invoked).  This is an inherent data race if an asynchronous
    signal is sent twice in a row before we can reinstall our handler,
@@ -39,9 +39,9 @@
      - We don't implement SA_NOCLDSTOP or SA_NOCLDWAIT, because SIGCHLD
        is not defined.
      - We don't implement SA_ONSTACK, because sigaltstack() is not present.
-     - We ignore SA_RESTART, because blocking Win32 calls are not interrupted
-       anyway when an asynchronous signal occurs, and the MSVCRT runtime
-       never sets errno to EINTR.
+     - We ignore SA_RESTART, because blocking native Windows API calls are
+       not interrupted anyway when an asynchronous signal occurs, and the
+       MSVCRT runtime never sets errno to EINTR.
      - We don't implement SA_SIGINFO because it is impossible to do so
        portably.
 
index 93787f7..5484950 100644 (file)
@@ -1,6 +1,6 @@
 /* A GNU-like <signal.h>.
 
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -55,7 +55,7 @@
 #ifndef _@GUARD_PREFIX@_SIGNAL_H
 #define _@GUARD_PREFIX@_SIGNAL_H
 
-/* MacOS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6 declare
+/* Mac OS X 10.3, FreeBSD 6.4, OpenBSD 3.8, OSF/1 4.0, Solaris 2.6 declare
    pthread_sigmask in <pthread.h>, not in <signal.h>.
    But avoid namespace pollution on glibc systems.*/
 #if (@GNULIB_PTHREAD_SIGMASK@ || defined GNULIB_POSIXCHECK) \
@@ -152,9 +152,36 @@ _GL_WARN_ON_USE (pthread_sigmask, "pthread_sigmask is not portable - "
 #endif
 
 
+#if @GNULIB_RAISE@
+# if @REPLACE_RAISE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef raise
+#   define raise rpl_raise
+#  endif
+_GL_FUNCDECL_RPL (raise, int, (int sig));
+_GL_CXXALIAS_RPL (raise, int, (int sig));
+# else
+#  if !@HAVE_RAISE@
+_GL_FUNCDECL_SYS (raise, int, (int sig));
+#  endif
+_GL_CXXALIAS_SYS (raise, int, (int sig));
+# endif
+_GL_CXXALIASWARN (raise);
+#elif defined GNULIB_POSIXCHECK
+# undef raise
+/* Assume raise is always declared.  */
+_GL_WARN_ON_USE (raise, "raise can crash on native Windows - "
+                 "use gnulib module raise for portability");
+#endif
+
+
 #if @GNULIB_SIGPROCMASK@
 # if !@HAVE_POSIX_SIGNALBLOCKING@
 
+#  ifndef GNULIB_defined_signal_blocking
+#   define GNULIB_defined_signal_blocking 1
+#  endif
+
 /* Maximum signal number + 1.  */
 #  ifndef NSIG
 #   define NSIG 32
@@ -170,7 +197,7 @@ typedef int verify_NSIG_constraint[NSIG <= 32 ? 1 : -1];
 
 /* Test whether a given signal is contained in a signal set.  */
 # if @HAVE_POSIX_SIGNALBLOCKING@
-/* This function is defined as a macro on MacOS X.  */
+/* This function is defined as a macro on Mac OS X.  */
 #  if defined __cplusplus && defined GNULIB_NAMESPACE
 #   undef sigismember
 #  endif
@@ -183,7 +210,7 @@ _GL_CXXALIASWARN (sigismember);
 
 /* Initialize a signal set to the empty set.  */
 # if @HAVE_POSIX_SIGNALBLOCKING@
-/* This function is defined as a macro on MacOS X.  */
+/* This function is defined as a macro on Mac OS X.  */
 #  if defined __cplusplus && defined GNULIB_NAMESPACE
 #   undef sigemptyset
 #  endif
@@ -195,7 +222,7 @@ _GL_CXXALIASWARN (sigemptyset);
 
 /* Add a signal to a signal set.  */
 # if @HAVE_POSIX_SIGNALBLOCKING@
-/* This function is defined as a macro on MacOS X.  */
+/* This function is defined as a macro on Mac OS X.  */
 #  if defined __cplusplus && defined GNULIB_NAMESPACE
 #   undef sigaddset
 #  endif
@@ -208,7 +235,7 @@ _GL_CXXALIASWARN (sigaddset);
 
 /* Remove a signal from a signal set.  */
 # if @HAVE_POSIX_SIGNALBLOCKING@
-/* This function is defined as a macro on MacOS X.  */
+/* This function is defined as a macro on Mac OS X.  */
 #  if defined __cplusplus && defined GNULIB_NAMESPACE
 #   undef sigdelset
 #  endif
@@ -221,7 +248,7 @@ _GL_CXXALIASWARN (sigdelset);
 
 /* Fill a signal set with all possible signals.  */
 # if @HAVE_POSIX_SIGNALBLOCKING@
-/* This function is defined as a macro on MacOS X.  */
+/* This function is defined as a macro on Mac OS X.  */
 #  if defined __cplusplus && defined GNULIB_NAMESPACE
 #   undef sigfillset
 #  endif
@@ -280,18 +307,10 @@ _GL_CXXALIAS_SYS (signal, _gl_function_taking_int_returning_void_t,
 # endif
 _GL_CXXALIASWARN (signal);
 
-/* Raise signal SIG.  */
 # if !@HAVE_POSIX_SIGNALBLOCKING@ && GNULIB_defined_SIGPIPE
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef raise
-#   define raise rpl_raise
-#  endif
-_GL_FUNCDECL_RPL (raise, int, (int sig));
-_GL_CXXALIAS_RPL (raise, int, (int sig));
-# else
-_GL_CXXALIAS_SYS (raise, int, (int sig));
+/* Raise signal SIGPIPE.  */
+_GL_EXTERN_C int _gl_raise_SIGPIPE (void);
 # endif
-_GL_CXXALIASWARN (raise);
 
 #elif defined GNULIB_POSIXCHECK
 # undef sigaddset
index 6780a37..8de3777 100644 (file)
@@ -1,5 +1,5 @@
 /* POSIX compatible signal blocking.
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2006.
 
    This program is free software: you can redistribute it and/or modify
 #include <stdint.h>
 #include <stdlib.h>
 
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+# include "msvc-inval.h"
+#endif
+
 /* We assume that a platform without POSIX signal blocking functions
    also does not have the POSIX sigaction() function, only the
    signal() function.  We also assume signal() has SysV semantics,
    where any handler is uninstalled prior to being invoked.  This is
-   true for Woe32 platforms.  */
+   true for native Windows platforms.  */
 
 /* We use raw signal(), but also provide a wrapper rpl_signal() so
    that applications can query or change a blocked signal.  */
 
 typedef void (*handler_t) (int);
 
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static handler_t
+signal_nothrow (int sig, handler_t handler)
+{
+  handler_t result;
+
+  TRY_MSVC_INVAL
+    {
+      result = signal (sig, handler);
+    }
+  CATCH_MSVC_INVAL
+    {
+      result = SIG_ERR;
+      errno = EINVAL;
+    }
+  DONE_MSVC_INVAL;
+
+  return result;
+}
+# define signal signal_nothrow
+#endif
+
 /* Handling of gnulib defined signals.  */
 
 #if GNULIB_defined_SIGPIPE
@@ -80,6 +106,7 @@ ext_signal (int sig, handler_t handler)
       return signal (sig, handler);
     }
 }
+# undef signal
 # define signal ext_signal
 #endif
 
@@ -303,27 +330,20 @@ rpl_signal (int sig, handler_t handler)
 }
 
 #if GNULIB_defined_SIGPIPE
-/* Raise the signal SIG.  */
+/* Raise the signal SIGPIPE.  */
 int
-rpl_raise (int sig)
-# undef raise
+_gl_raise_SIGPIPE (void)
 {
-  switch (sig)
+  if (blocked_set & (1U << SIGPIPE))
+    pending_array[SIGPIPE] = 1;
+  else
     {
-    case SIGPIPE:
-      if (blocked_set & (1U << sig))
-        pending_array[sig] = 1;
-      else
-        {
-          handler_t handler = SIGPIPE_handler;
-          if (handler == SIG_DFL)
-            exit (128 + SIGPIPE);
-          else if (handler != SIG_IGN)
-            (*handler) (sig);
-        }
-      return 0;
-    default: /* System defined signal */
-      return raise (sig);
+      handler_t handler = SIGPIPE_handler;
+      if (handler == SIG_DFL)
+        exit (128 + SIGPIPE);
+      else if (handler != SIG_IGN)
+        (*handler) (SIGPIPE);
     }
+  return 0;
 }
 #endif
similarity index 77%
rename from gnulib-tests/size_max.h
rename to lib/size_max.h
index fdefb82..5f33124 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* size_max.h -- declare SIZE_MAX through system headers
-   Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef GNULIB_SIZE_MAX_H
 #define GNULIB_SIZE_MAX_H
diff --git a/lib/stat-time.c b/lib/stat-time.c
new file mode 100644 (file)
index 0000000..81b83dd
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+#define _GL_STAT_TIME_INLINE _GL_EXTERN_INLINE
+#include "stat-time.h"
index 86d9d4b..2d3b5cd 100644 (file)
@@ -1,6 +1,6 @@
 /* stat-related time functions.
 
-   Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #include <sys/stat.h>
 #include <time.h>
 
+_GL_INLINE_HEADER_BEGIN
+#ifndef _GL_STAT_TIME_INLINE
+# define _GL_STAT_TIME_INLINE _GL_INLINE
+#endif
+
 /* STAT_TIMESPEC (ST, ST_XTIM) is the ST_XTIM member for *ST of type
    struct timespec, if available.  If not, then STAT_TIMESPEC_NS (ST,
    ST_XTIM) is the nanosecond component of the ST_XTIM member for *ST,
@@ -46,7 +51,7 @@
 #endif
 
 /* Return the nanosecond component of *ST's access time.  */
-static inline long int
+_GL_STAT_TIME_INLINE long int
 get_stat_atime_ns (struct stat const *st)
 {
 # if defined STAT_TIMESPEC
@@ -59,7 +64,7 @@ get_stat_atime_ns (struct stat const *st)
 }
 
 /* Return the nanosecond component of *ST's status change time.  */
-static inline long int
+_GL_STAT_TIME_INLINE long int
 get_stat_ctime_ns (struct stat const *st)
 {
 # if defined STAT_TIMESPEC
@@ -72,7 +77,7 @@ get_stat_ctime_ns (struct stat const *st)
 }
 
 /* Return the nanosecond component of *ST's data modification time.  */
-static inline long int
+_GL_STAT_TIME_INLINE long int
 get_stat_mtime_ns (struct stat const *st)
 {
 # if defined STAT_TIMESPEC
@@ -85,7 +90,7 @@ get_stat_mtime_ns (struct stat const *st)
 }
 
 /* Return the nanosecond component of *ST's birth time.  */
-static inline long int
+_GL_STAT_TIME_INLINE long int
 get_stat_birthtime_ns (struct stat const *st)
 {
 # if defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
@@ -100,7 +105,7 @@ get_stat_birthtime_ns (struct stat const *st)
 }
 
 /* Return *ST's access time.  */
-static inline struct timespec
+_GL_STAT_TIME_INLINE struct timespec
 get_stat_atime (struct stat const *st)
 {
 #ifdef STAT_TIMESPEC
@@ -114,7 +119,7 @@ get_stat_atime (struct stat const *st)
 }
 
 /* Return *ST's status change time.  */
-static inline struct timespec
+_GL_STAT_TIME_INLINE struct timespec
 get_stat_ctime (struct stat const *st)
 {
 #ifdef STAT_TIMESPEC
@@ -128,7 +133,7 @@ get_stat_ctime (struct stat const *st)
 }
 
 /* Return *ST's data modification time.  */
-static inline struct timespec
+_GL_STAT_TIME_INLINE struct timespec
 get_stat_mtime (struct stat const *st)
 {
 #ifdef STAT_TIMESPEC
@@ -143,7 +148,7 @@ get_stat_mtime (struct stat const *st)
 
 /* Return *ST's birth time, if available; otherwise return a value
    with tv_sec and tv_nsec both equal to -1.  */
-static inline struct timespec
+_GL_STAT_TIME_INLINE struct timespec
 get_stat_birthtime (struct stat const *st)
 {
   struct timespec t;
@@ -155,7 +160,7 @@ get_stat_birthtime (struct stat const *st)
   t.tv_sec = st->st_birthtime;
   t.tv_nsec = st->st_birthtimensec;
 #elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-  /* Woe32 native platforms (but not Cygwin) put the "file creation
+  /* Native Windows platforms (but not Cygwin) put the "file creation
      time" in st_ctime (!).  See
      <http://msdn2.microsoft.com/de-de/library/14h5k7ff(VS.80).aspx>.  */
   t.tv_sec = st->st_ctime;
@@ -186,4 +191,6 @@ get_stat_birthtime (struct stat const *st)
   return t;
 }
 
+_GL_INLINE_HEADER_END
+
 #endif
index 6c354d1..f888130 100644 (file)
@@ -1,5 +1,5 @@
 /* Work around platform bugs in stat.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #include <sys/stat.h>
 #undef __need_system_sys_stat_h
 
-static inline int
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if _GL_WINDOWS_64_BIT_ST_SIZE
+#  undef stat /* avoid warning on mingw64 with _FILE_OFFSET_BITS=64 */
+#  define stat _stati64
+#  define REPLACE_FUNC_STAT_DIR 1
+#  undef REPLACE_FUNC_STAT_FILE
+# elif REPLACE_FUNC_STAT_FILE
+/* mingw64 has a broken stat() function, based on _stat(), in libmingwex.a.
+   Bypass it.  */
+#  define stat _stat
+#  define REPLACE_FUNC_STAT_DIR 1
+#  undef REPLACE_FUNC_STAT_FILE
+# endif
+#endif
+
+static int
 orig_stat (const char *filename, struct stat *buf)
 {
   return stat (filename, buf);
 }
 
 /* Specification.  */
-#include <sys/stat.h>
+/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+   eliminates this include because of the preliminary #include <sys/stat.h>
+   above.  */
+#include "sys/stat.h"
 
 #include <errno.h>
 #include <limits.h>
@@ -43,6 +61,15 @@ orig_stat (const char *filename, struct stat *buf)
 #include "dosname.h"
 #include "verify.h"
 
+#if REPLACE_FUNC_STAT_DIR
+# include "pathmax.h"
+  /* The only known systems where REPLACE_FUNC_STAT_DIR is needed also
+     have a constant PATH_MAX.  */
+# ifndef PATH_MAX
+#  error "Please port this replacement to your platform"
+# endif
+#endif
+
 /* Store information about NAME into ST.  Work around bugs with
    trailing slashes.  Mingw has other bugs (such as st_ino always
    being 0 on success) which this wrapper does not work around.  But
@@ -67,11 +94,6 @@ rpl_stat (char const *name, struct stat *st)
     }
 #endif /* REPLACE_FUNC_STAT_FILE */
 #if REPLACE_FUNC_STAT_DIR
-  /* The only known systems where REPLACE_FUNC_STAT_DIR is needed also
-     have a constant PATH_MAX.  */
-# ifndef PATH_MAX
-#  error "Please port this replacement to your platform"
-# endif
 
   if (result == -1 && errno == ENOENT)
     {
index e93d2b9..7484842 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Substitute for and wrapper around <stdarg.h>.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _@GUARD_PREFIX@_STDARG_H
 
index 27a1516..7c15772 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2001-2003, 2006-2011 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <haible@clisp.cons.org>, 2001.
 
    This program is free software; you can redistribute it and/or modify
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _GL_STDBOOL_H
 #define _GL_STDBOOL_H
 # undef true
 #endif
 
-/* For the sake of symbolic names in gdb, we define true and false as
-   enum constants, not only as macros.
-   It is tempting to write
-      typedef enum { false = 0, true = 1 } _Bool;
-   so that gdb prints values of type 'bool' symbolically. But if we do
-   this, values of type '_Bool' may promote to 'int' or 'unsigned int'
-   (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int'
-   (see ISO C 99 6.3.1.1.(2)).  So we add a negative value to the
-   enum; this ensures that '_Bool' promotes to 'int'.  */
-#if defined __cplusplus || (defined __BEOS__ && !defined __HAIKU__)
+#ifdef __cplusplus
+# define _Bool bool
+# define bool bool
+#else
+# if defined __BEOS__ && !defined __HAIKU__
   /* A compiler known to have 'bool'.  */
   /* If the compiler already has both 'bool' and '_Bool', we can assume they
      are the same types.  */
-# if !@HAVE__BOOL@
+#  if !@HAVE__BOOL@
 typedef bool _Bool;
-# endif
-#else
-# if !defined __GNUC__
+#  endif
+# else
+#  if !defined __GNUC__
    /* If @HAVE__BOOL@:
         Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when
         the built-in _Bool type is used.  See
@@ -106,19 +98,35 @@ typedef bool _Bool;
           "Invalid enumerator. (badenum)" with HP-UX cc on Tru64.
         The only benefit of the enum, debuggability, is not important
         with these compilers.  So use 'signed char' and no enum.  */
-#  define _Bool signed char
-# else
+#   define _Bool signed char
+#  else
    /* With this compiler, trust the _Bool type if the compiler has it.  */
-#  if !@HAVE__BOOL@
+#   if !@HAVE__BOOL@
+   /* For the sake of symbolic names in gdb, define true and false as
+      enum constants, not only as macros.
+      It is tempting to write
+         typedef enum { false = 0, true = 1 } _Bool;
+      so that gdb prints values of type 'bool' symbolically.  But then
+      values of type '_Bool' might promote to 'int' or 'unsigned int'
+      (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int'
+      (see ISO C 99 6.3.1.1.(2)).  So add a negative value to the
+      enum; this ensures that '_Bool' promotes to 'int'.  */
 typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool;
+#   endif
 #  endif
 # endif
+# define bool _Bool
 #endif
-#define bool _Bool
 
 /* The other macros must be usable in preprocessor directives.  */
-#define false 0
-#define true 1
+#ifdef __cplusplus
+# define false false
+# define true true
+#else
+# define false 0
+# define true 1
+#endif
+
 #define __bool_true_false_are_defined 1
 
 #endif /* _GL_STDBOOL_H */
index b330a8c..40f0536 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
 
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* Written by Eric Blake.  */
 
index 52157d2..2db8b2e 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2001-2002, 2004-2011 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2013 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
    This file is part of gnulib.
 
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /*
  * ISO C 99 <stdint.h> for platforms that lack it.
    <inttypes.h>.  */
 #define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
 
+/* On Android (Bionic libc), <sys/types.h> includes this file before
+   having defined 'time_t'.  Therefore in this case avoid including
+   other system header files; just include the system's <stdint.h>.
+   Ideally we should test __BIONIC__ here, but it is only defined after
+   <sys/cdefs.h> has been included; hence test __ANDROID__ instead.  */
+#if defined __ANDROID__ \
+    && defined _SYS_TYPES_H_ && !defined __need_size_t
+# @INCLUDE_NEXT@ @NEXT_STDINT_H@
+#else
+
 /* Get those types that are already defined in other system include
    files, so that we can "#define int8_t signed char" below without
    worrying about a later system include file containing a "typedef
       diagnostics.  */
 #  define __STDINT_H__
 # endif
+
+  /* Some pre-C++11 <stdint.h> implementations need this.  */
+# ifdef __cplusplus
+#  ifndef __STDC_CONSTANT_MACROS
+#   define __STDC_CONSTANT_MACROS 1
+#  endif
+#  ifndef __STDC_LIMIT_MACROS
+#   define __STDC_LIMIT_MACROS 1
+#  endif
+# endif
+
   /* Other systems may have an incomplete or buggy <stdint.h>.
      Include it before <inttypes.h>, since any "#include <stdint.h>"
      in <inttypes.h> would reinclude us, skipping our contents because
 /* <sys/types.h> defines some of the stdint.h types as well, on glibc,
    IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
    AIX 5.2 <sys/types.h> isn't needed and causes troubles.
-   MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
+   Mac OS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
    relies on the system <stdint.h> definitions, so include
    <sys/types.h> after @NEXT_STDINT_H@.  */
 #if @HAVE_SYS_TYPES_H@ && ! defined _AIX
 # include <sys/types.h>
 #endif
 
-/* Get LONG_MIN, LONG_MAX, ULONG_MAX.  */
+/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX,
+   LONG_MIN, LONG_MAX, ULONG_MAX.  */
 #include <limits.h>
 
 #if @HAVE_INTTYPES_H@
@@ -228,8 +247,9 @@ typedef unsigned long long int gl_uint64_t;
 
 /* Here we assume a standard architecture where the hardware integer
    types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
-   are taken from the same list of types.  Assume that 'long int'
-   is fast enough for all narrower integers.  */
+   are taken from the same list of types.  The following code normally
+   uses types consistent with glibc, as that lessens the chance of
+   incompatibility with older GNU hosts.  */
 
 #undef int_fast8_t
 #undef uint_fast8_t
@@ -239,12 +259,21 @@ typedef unsigned long long int gl_uint64_t;
 #undef uint_fast32_t
 #undef int_fast64_t
 #undef uint_fast64_t
-typedef long int gl_int_fast8_t;
-typedef unsigned long int gl_uint_fast8_t;
-typedef long int gl_int_fast16_t;
-typedef unsigned long int gl_uint_fast16_t;
+typedef signed char gl_int_fast8_t;
+typedef unsigned char gl_uint_fast8_t;
+
+#ifdef __sun
+/* Define types compatible with SunOS 5.10, so that code compiled under
+   earlier SunOS versions works with code compiled under SunOS 5.10.  */
+typedef int gl_int_fast32_t;
+typedef unsigned int gl_uint_fast32_t;
+#else
 typedef long int gl_int_fast32_t;
 typedef unsigned long int gl_uint_fast32_t;
+#endif
+typedef gl_int_fast32_t gl_int_fast16_t;
+typedef gl_uint_fast32_t gl_uint_fast16_t;
+
 #define int_fast8_t gl_int_fast8_t
 #define uint_fast8_t gl_uint_fast8_t
 #define int_fast16_t gl_int_fast16_t
@@ -315,8 +344,6 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
 
 /* 7.18.2. Limits of specified-width integer types */
 
-#if ! defined __cplusplus || defined __STDC_LIMIT_MACROS
-
 /* 7.18.2.1. Limits of exact-width integer types */
 
 /* Here we assume a standard architecture where the hardware integer
@@ -402,23 +429,29 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
 #undef INT_FAST8_MIN
 #undef INT_FAST8_MAX
 #undef UINT_FAST8_MAX
-#define INT_FAST8_MIN  LONG_MIN
-#define INT_FAST8_MAX  LONG_MAX
-#define UINT_FAST8_MAX  ULONG_MAX
+#define INT_FAST8_MIN  SCHAR_MIN
+#define INT_FAST8_MAX  SCHAR_MAX
+#define UINT_FAST8_MAX  UCHAR_MAX
 
 #undef INT_FAST16_MIN
 #undef INT_FAST16_MAX
 #undef UINT_FAST16_MAX
-#define INT_FAST16_MIN  LONG_MIN
-#define INT_FAST16_MAX  LONG_MAX
-#define UINT_FAST16_MAX  ULONG_MAX
+#define INT_FAST16_MIN  INT_FAST32_MIN
+#define INT_FAST16_MAX  INT_FAST32_MAX
+#define UINT_FAST16_MAX  UINT_FAST32_MAX
 
 #undef INT_FAST32_MIN
 #undef INT_FAST32_MAX
 #undef UINT_FAST32_MAX
-#define INT_FAST32_MIN  LONG_MIN
-#define INT_FAST32_MAX  LONG_MAX
-#define UINT_FAST32_MAX  ULONG_MAX
+#ifdef __sun
+# define INT_FAST32_MIN  INT_MIN
+# define INT_FAST32_MAX  INT_MAX
+# define UINT_FAST32_MAX  UINT_MAX
+#else
+# define INT_FAST32_MIN  LONG_MIN
+# define INT_FAST32_MAX  LONG_MAX
+# define UINT_FAST32_MAX  ULONG_MAX
+#endif
 
 #undef INT_FAST64_MIN
 #undef INT_FAST64_MAX
@@ -536,12 +569,8 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
 #define WINT_MAX  \
    _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
 
-#endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */
-
 /* 7.18.4. Macros for integer constants */
 
-#if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS
-
 /* 7.18.4.1. Macros for minimum-width integer constants */
 /* According to ISO C 99 Technical Corrigendum 1 */
 
@@ -602,7 +631,6 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
 # endif
 #endif
 
-#endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */
-
 #endif /* _@GUARD_PREFIX@_STDINT_H */
+#endif /* !(defined __ANDROID__ && ...) */
 #endif /* !defined _@GUARD_PREFIX@_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */
index adde0f9..fe6d83e 100644 (file)
@@ -1,6 +1,6 @@
 /* Like stdio.h, but redefine some names to avoid glitches.
 
-   Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 62fdf64..7b67ae0 100644 (file)
@@ -1,6 +1,6 @@
 /* Invoke stdio functions, but avoid some glitches.
 
-   Copyright (C) 2001, 2003, 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003, 2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 65d3ea1..d6af99c 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A GNU-like <stdio.h>.
 
-   Copyright (C) 2004, 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
@@ -55,7 +52,8 @@
 #include <stddef.h>
 
 /* Get off_t and ssize_t.  Needed on many systems, including glibc 2.8
-   and eglibc 2.11.2.  */
+   and eglibc 2.11.2.
+   May also define off_t to a 64-bit type on native Windows.  */
 #include <sys/types.h>
 
 /* The __attribute__ feature is available in gcc versions 2.5 and later.
@@ -172,6 +170,26 @@ _GL_WARN_ON_USE (fclose, "fclose is not always POSIX compliant - "
                  "use gnulib module fclose for portable POSIX compliance");
 #endif
 
+#if @GNULIB_FDOPEN@
+# if @REPLACE_FDOPEN@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fdopen
+#   define fdopen rpl_fdopen
+#  endif
+_GL_FUNCDECL_RPL (fdopen, FILE *, (int fd, const char *mode)
+                                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode));
+# else
+_GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode));
+# endif
+_GL_CXXALIASWARN (fdopen);
+#elif defined GNULIB_POSIXCHECK
+# undef fdopen
+/* Assume fdopen is always declared.  */
+_GL_WARN_ON_USE (fdopen, "fdopen on native Windows platforms is not POSIX compliant - "
+                 "use gnulib module fdopen for portability");
+#endif
+
 #if @GNULIB_FFLUSH@
 /* Flush all pending data on STREAM according to POSIX rules.  Both
    output and seekable input streams are supported.
@@ -241,7 +259,7 @@ _GL_CXXALIASWARN (fopen);
 #elif defined GNULIB_POSIXCHECK
 # undef fopen
 /* Assume fopen is always declared.  */
-_GL_WARN_ON_USE (fopen, "fopen on Win32 platforms is not POSIX compatible - "
+_GL_WARN_ON_USE (fopen, "fopen on native Windows platforms is not POSIX compliant - "
                  "use gnulib module fopen for portability");
 #endif
 
@@ -369,7 +387,7 @@ _GL_CXXALIASWARN (freopen);
 # undef freopen
 /* Assume freopen is always declared.  */
 _GL_WARN_ON_USE (freopen,
-                 "freopen on Win32 platforms is not POSIX compatible - "
+                 "freopen on native Windows platforms is not POSIX compliant - "
                  "use gnulib module freopen for portability");
 #endif
 
@@ -557,21 +575,17 @@ _GL_CXXALIAS_RPL (fwrite, size_t,
 _GL_CXXALIAS_SYS (fwrite, size_t,
                   (const void *ptr, size_t s, size_t n, FILE *stream));
 
-/* Work around glibc bug 11959
+/* Work around bug 11959 when fortifying glibc 2.4 through 2.15
    <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>,
    which sometimes causes an unwanted diagnostic for fwrite calls.
-   This affects only function declaration attributes, so it's not
-   needed for C++.  */
-#  if !defined __cplusplus && 0 < __USE_FORTIFY_LEVEL
-static inline size_t _GL_ARG_NONNULL ((1, 4))
-rpl_fwrite (const void *ptr, size_t s, size_t n, FILE *stream)
-{
-  size_t r = fwrite (ptr, s, n, stream);
-  (void) r;
-  return r;
-}
+   This affects only function declaration attributes under certain
+   versions of gcc, and is not needed for C++.  */
+#  if (0 < __USE_FORTIFY_LEVEL                                          \
+       && __GLIBC__ == 2 && 4 <= __GLIBC_MINOR__ && __GLIBC_MINOR__ <= 15 \
+       && 3 < __GNUC__ + (4 <= __GNUC_MINOR__)                          \
+       && !defined __cplusplus)
 #   undef fwrite
-#   define fwrite rpl_fwrite
+#   define fwrite(a, b, c, d) ({size_t __r = fwrite (a, b, c, d); __r; })
 #  endif
 # endif
 _GL_CXXALIASWARN (fwrite);
@@ -681,22 +695,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
 # endif
 #endif
 
-#if @GNULIB_GETS@
-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef gets
-#   define gets rpl_gets
-#  endif
-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (gets, char *, (char *s));
-# else
-_GL_CXXALIAS_SYS (gets, char *, (char *s));
-#  undef gets
-# endif
-_GL_CXXALIASWARN (gets);
 /* It is very rare that the developer ever has full control of stdin,
-   so any use of gets warrants an unconditional warning.  Assume it is
-   always declared, since it is required by C89.  */
+   so any use of gets warrants an unconditional warning; besides, C11
+   removed it.  */
+#undef gets
+#if HAVE_RAW_DECL_GETS
 _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
 #endif
 
@@ -752,6 +755,20 @@ _GL_CXXALIAS_SYS (obstack_vprintf, int,
 _GL_CXXALIASWARN (obstack_vprintf);
 #endif
 
+#if @GNULIB_PCLOSE@
+# if !@HAVE_PCLOSE@
+_GL_FUNCDECL_SYS (pclose, int, (FILE *stream) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (pclose, int, (FILE *stream));
+_GL_CXXALIASWARN (pclose);
+#elif defined GNULIB_POSIXCHECK
+# undef pclose
+# if HAVE_RAW_DECL_PCLOSE
+_GL_WARN_ON_USE (pclose, "pclose is unportable - "
+                 "use gnulib module pclose for more portability");
+# endif
+#endif
+
 #if @GNULIB_PERROR@
 /* Print a message to standard error, describing the value of ERRNO,
    (if STRING is not NULL and not empty) prefixed with STRING and ": ",
@@ -783,6 +800,10 @@ _GL_FUNCDECL_RPL (popen, FILE *, (const char *cmd, const char *mode)
                                  _GL_ARG_NONNULL ((1, 2)));
 _GL_CXXALIAS_RPL (popen, FILE *, (const char *cmd, const char *mode));
 # else
+#  if !@HAVE_POPEN@
+_GL_FUNCDECL_SYS (popen, FILE *, (const char *cmd, const char *mode)
+                                 _GL_ARG_NONNULL ((1, 2)));
+#  endif
 _GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode));
 # endif
 _GL_CXXALIASWARN (popen);
@@ -1018,9 +1039,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - "
 # endif
 #endif
 
-/* Some people would argue that sprintf should be handled like gets
-   (for example, OpenBSD issues a link warning for both functions),
-   since both can cause security holes due to buffer overruns.
+/* Some people would argue that all sprintf uses should be warned about
+   (for example, OpenBSD issues a link warning for it),
+   since it can cause security holes due to buffer overruns.
    However, we believe that sprintf can be used safely, and is more
    efficient than snprintf in those safe cases; and as proof of our
    belief, we use sprintf in several gnulib modules.  So this header
@@ -1308,7 +1329,6 @@ _GL_WARN_ON_USE (vsprintf, "vsprintf is not always POSIX compliant - "
                       "POSIX compliance");
 #endif
 
-
 #endif /* _@GUARD_PREFIX@_STDIO_H */
 #endif /* _@GUARD_PREFIX@_STDIO_H */
 #endif
index 047fac1..c955248 100644 (file)
@@ -1,6 +1,6 @@
 /* A GNU-like <stdlib.h>.
 
-   Copyright (C) 1995, 2001-2004, 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2004, 2006-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,8 +20,9 @@
 #endif
 @PRAGMA_COLUMNS@
 
-#if defined __need_malloc_and_calloc
-/* Special invocation convention inside glibc header files.  */
+#if defined __need_system_stdlib_h || defined __need_malloc_and_calloc
+/* Special invocation conventions inside some gnulib header files,
+   and inside some glibc header files, respectively.  */
 
 #@INCLUDE_NEXT@ @NEXT_STDLIB_H@
 
 # include <sys/loadavg.h>
 #endif
 
+/* Native Windows platforms declare mktemp() in <io.h>.  */
+#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+# include <io.h>
+#endif
+
 #if @GNULIB_RANDOM_R@
 
 /* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
@@ -58,7 +64,7 @@
 #  include <random.h>
 # endif
 
-# if !@HAVE_STRUCT_RANDOM_DATA@ || !@HAVE_RANDOM_R@
+# if !@HAVE_STRUCT_RANDOM_DATA@ || @REPLACE_RANDOM_R@ || !@HAVE_RANDOM_R@
 #  include <stdint.h>
 # endif
 
@@ -82,13 +88,21 @@ struct random_data
 #endif
 
 #if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
-/* On MacOS X 10.3, only <unistd.h> declares mkstemp.  */
-/* On MacOS X 10.5, only <unistd.h> declares mkstemps.  */
+/* On Mac OS X 10.3, only <unistd.h> declares mkstemp.  */
+/* On Mac OS X 10.5, only <unistd.h> declares mkstemps.  */
 /* On Cygwin 1.7.1, only <unistd.h> declares getsubopt.  */
 /* But avoid namespace pollution on glibc systems and native Windows.  */
 # include <unistd.h>
 #endif
 
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+   The attribute __pure__ was added in gcc 2.96.  */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#else
+# define _GL_ATTRIBUTE_PURE /* empty */
+#endif
+
 /* The definition of _Noreturn is copied here.  */
 
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
@@ -133,7 +147,9 @@ _GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
 /* Parse a signed decimal integer.
    Returns the value of the integer.  Errors are not detected.  */
 # if !@HAVE_ATOLL@
-_GL_FUNCDECL_SYS (atoll, long long, (const char *string) _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_SYS (atoll, long long, (const char *string)
+                                    _GL_ATTRIBUTE_PURE
+                                    _GL_ARG_NONNULL ((1)));
 # endif
 _GL_CXXALIAS_SYS (atoll, long long, (const char *string));
 _GL_CXXALIASWARN (atoll);
@@ -247,7 +263,7 @@ _GL_CXXALIASWARN (grantpt);
 #elif defined GNULIB_POSIXCHECK
 # undef grantpt
 # if HAVE_RAW_DECL_GRANTPT
-_GL_WARN_ON_USE (ptsname, "grantpt is not portable - "
+_GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
                  "use gnulib module grantpt for portability");
 # endif
 #endif
@@ -423,13 +439,38 @@ _GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - "
 # endif
 #endif
 
+#if @GNULIB_POSIX_OPENPT@
+/* Return an FD open to the master side of a pseudo-terminal.  Flags should
+   include O_RDWR, and may also include O_NOCTTY.  */
+# if !@HAVE_POSIX_OPENPT@
+_GL_FUNCDECL_SYS (posix_openpt, int, (int flags));
+# endif
+_GL_CXXALIAS_SYS (posix_openpt, int, (int flags));
+_GL_CXXALIASWARN (posix_openpt);
+#elif defined GNULIB_POSIXCHECK
+# undef posix_openpt
+# if HAVE_RAW_DECL_POSIX_OPENPT
+_GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
+                 "use gnulib module posix_openpt for portability");
+# endif
+#endif
+
 #if @GNULIB_PTSNAME@
 /* Return the pathname of the pseudo-terminal slave associated with
    the master FD is open on, or NULL on errors.  */
-# if !@HAVE_PTSNAME@
+# if @REPLACE_PTSNAME@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef ptsname
+#   define ptsname rpl_ptsname
+#  endif
+_GL_FUNCDECL_RPL (ptsname, char *, (int fd));
+_GL_CXXALIAS_RPL (ptsname, char *, (int fd));
+# else
+#  if !@HAVE_PTSNAME@
 _GL_FUNCDECL_SYS (ptsname, char *, (int fd));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (ptsname, char *, (int fd));
+# endif
 _GL_CXXALIASWARN (ptsname);
 #elif defined GNULIB_POSIXCHECK
 # undef ptsname
@@ -439,6 +480,32 @@ _GL_WARN_ON_USE (ptsname, "ptsname is not portable - "
 # endif
 #endif
 
+#if @GNULIB_PTSNAME_R@
+/* Set the pathname of the pseudo-terminal slave associated with
+   the master FD is open on and return 0, or set errno and return
+   non-zero on errors.  */
+# if @REPLACE_PTSNAME_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef ptsname_r
+#   define ptsname_r rpl_ptsname_r
+#  endif
+_GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+_GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+# else
+#  if !@HAVE_PTSNAME_R@
+_GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+#  endif
+_GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+# endif
+_GL_CXXALIASWARN (ptsname_r);
+#elif defined GNULIB_POSIXCHECK
+# undef ptsname_r
+# if HAVE_RAW_DECL_PTSNAME_R
+_GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - "
+                 "use gnulib module ptsname_r for portability");
+# endif
+#endif
+
 #if @GNULIB_PUTENV@
 # if @REPLACE_PUTENV@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -462,12 +529,83 @@ _GL_CXXALIASWARN (putenv);
 # endif
 #endif
 
+
+#if @GNULIB_RANDOM@
+# if !@HAVE_RANDOM@
+_GL_FUNCDECL_SYS (random, long, (void));
+# endif
+_GL_CXXALIAS_SYS (random, long, (void));
+_GL_CXXALIASWARN (random);
+#elif defined GNULIB_POSIXCHECK
+# undef random
+# if HAVE_RAW_DECL_RANDOM
+_GL_WARN_ON_USE (random, "random is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if !@HAVE_RANDOM@
+_GL_FUNCDECL_SYS (srandom, void, (unsigned int seed));
+# endif
+_GL_CXXALIAS_SYS (srandom, void, (unsigned int seed));
+_GL_CXXALIASWARN (srandom);
+#elif defined GNULIB_POSIXCHECK
+# undef srandom
+# if HAVE_RAW_DECL_SRANDOM
+_GL_WARN_ON_USE (srandom, "srandom is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if !@HAVE_RANDOM@
+_GL_FUNCDECL_SYS (initstate, char *,
+                  (unsigned int seed, char *buf, size_t buf_size)
+                  _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (initstate, char *,
+                  (unsigned int seed, char *buf, size_t buf_size));
+_GL_CXXALIASWARN (initstate);
+#elif defined GNULIB_POSIXCHECK
+# undef initstate
+# if HAVE_RAW_DECL_INITSTATE_R
+_GL_WARN_ON_USE (initstate, "initstate is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if !@HAVE_RANDOM@
+_GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (setstate, char *, (char *arg_state));
+_GL_CXXALIASWARN (setstate);
+#elif defined GNULIB_POSIXCHECK
+# undef setstate
+# if HAVE_RAW_DECL_SETSTATE_R
+_GL_WARN_ON_USE (setstate, "setstate is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+
 #if @GNULIB_RANDOM_R@
-# if !@HAVE_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef random_r
+#   define random_r rpl_random_r
+#  endif
+_GL_FUNCDECL_RPL (random_r, int, (struct random_data *buf, int32_t *result)
+                                 _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (random_r, int, (struct random_data *buf, int32_t *result));
+# else
+#  if !@HAVE_RANDOM_R@
 _GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
                                  _GL_ARG_NONNULL ((1, 2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
+# endif
 _GL_CXXALIASWARN (random_r);
 #elif defined GNULIB_POSIXCHECK
 # undef random_r
@@ -478,13 +616,25 @@ _GL_WARN_ON_USE (random_r, "random_r is unportable - "
 #endif
 
 #if @GNULIB_RANDOM_R@
-# if !@HAVE_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef srandom_r
+#   define srandom_r rpl_srandom_r
+#  endif
+_GL_FUNCDECL_RPL (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state));
+# else
+#  if !@HAVE_RANDOM_R@
 _GL_FUNCDECL_SYS (srandom_r, int,
                   (unsigned int seed, struct random_data *rand_state)
                   _GL_ARG_NONNULL ((2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (srandom_r, int,
                   (unsigned int seed, struct random_data *rand_state));
+# endif
 _GL_CXXALIASWARN (srandom_r);
 #elif defined GNULIB_POSIXCHECK
 # undef srandom_r
@@ -495,15 +645,29 @@ _GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
 #endif
 
 #if @GNULIB_RANDOM_R@
-# if !@HAVE_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef initstate_r
+#   define initstate_r rpl_initstate_r
+#  endif
+_GL_FUNCDECL_RPL (initstate_r, int,
+                  (unsigned int seed, char *buf, size_t buf_size,
+                   struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2, 4)));
+_GL_CXXALIAS_RPL (initstate_r, int,
+                  (unsigned int seed, char *buf, size_t buf_size,
+                   struct random_data *rand_state));
+# else
+#  if !@HAVE_RANDOM_R@
 _GL_FUNCDECL_SYS (initstate_r, int,
                   (unsigned int seed, char *buf, size_t buf_size,
                    struct random_data *rand_state)
                   _GL_ARG_NONNULL ((2, 4)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (initstate_r, int,
                   (unsigned int seed, char *buf, size_t buf_size,
                    struct random_data *rand_state));
+# endif
 _GL_CXXALIASWARN (initstate_r);
 #elif defined GNULIB_POSIXCHECK
 # undef initstate_r
@@ -514,13 +678,25 @@ _GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - "
 #endif
 
 #if @GNULIB_RANDOM_R@
-# if !@HAVE_RANDOM_R@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef setstate_r
+#   define setstate_r rpl_setstate_r
+#  endif
+_GL_FUNCDECL_RPL (setstate_r, int,
+                  (char *arg_state, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (setstate_r, int,
+                  (char *arg_state, struct random_data *rand_state));
+# else
+#  if !@HAVE_RANDOM_R@
 _GL_FUNCDECL_SYS (setstate_r, int,
                   (char *arg_state, struct random_data *rand_state)
                   _GL_ARG_NONNULL ((1, 2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (setstate_r, int,
                   (char *arg_state, struct random_data *rand_state));
+# endif
 _GL_CXXALIASWARN (setstate_r);
 #elif defined GNULIB_POSIXCHECK
 # undef setstate_r
@@ -591,6 +767,22 @@ _GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
 # endif
 #endif
 
+#if @GNULIB_SECURE_GETENV@
+/* Look up NAME in the environment, returning 0 in insecure situations.  */
+# if !@HAVE_SECURE_GETENV@
+_GL_FUNCDECL_SYS (secure_getenv, char *,
+                  (char const *name) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (secure_getenv, char *, (char const *name));
+_GL_CXXALIASWARN (secure_getenv);
+#elif defined GNULIB_POSIXCHECK
+# undef secure_getenv
+# if HAVE_RAW_DECL_SECURE_GETENV
+_GL_WARN_ON_USE (secure_getenv, "secure_getenv is unportable - "
+                 "use gnulib module secure_getenv for portability");
+# endif
+#endif
+
 #if @GNULIB_SETENV@
 /* Set NAME to VALUE in the environment.
    If REPLACE is nonzero, overwrite an existing value.  */
index df48a2c..16d83a1 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Substring search in a NUL terminated string of UNIT elements,
    using the Knuth-Morris-Pratt algorithm.
-   Copyright (C) 2005-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2005.
 
    This program is free software; you can redistribute it and/or modify
@@ -16,8 +14,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* Before including this file, you need to define:
      UNIT                    The element type of the needle and haystack.
index b030fa8..0f0a742 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Case-insensitive string comparison function.
-   Copyright (C) 1998-1999, 2005-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 067732d..12c1867 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Optimized string comparison.
-   Copyright (C) 2001-2002, 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
@@ -23,8 +21,8 @@
 
 #include <string.h>
 
-/* STREQ allows to optimize string comparison with a small literal string.
-     STREQ (s, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0)
+/* STREQ_OPT allows to optimize string comparison with a small literal string.
+     STREQ_OPT (s, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0)
    is semantically equivalent to
      strcmp (s, "EUC-KR") == 0
    just faster.  */
@@ -165,12 +163,12 @@ streq0 (const char *s1, const char *s2, char s20, char s21, char s22, char s23,
     return 0;
 }
 
-#define STREQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \
+#define STREQ_OPT(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \
   streq0 (s1, s2, s20, s21, s22, s23, s24, s25, s26, s27, s28)
 
 #else
 
-#define STREQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \
+#define STREQ_OPT(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \
   (strcmp (s1, s2) == 0)
 
 #endif
index d6ecf2e..d0ed2fb 100644 (file)
@@ -1,6 +1,6 @@
 /* strerror-override.c --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2010-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -23,7 +23,7 @@
 
 #include <errno.h>
 
-#if GNULIB_defined_ESOCK /* native Windows platforms */
+#if GNULIB_defined_EWINSOCK /* native Windows platforms */
 # if HAVE_WINSOCK2_H
 #  include <winsock2.h>
 # endif
@@ -42,13 +42,7 @@ strerror_override (int errnum)
       return "Success";
 #endif
 
-#if GNULIB_defined_ETXTBSY
-    case ETXTBSY:
-      return "Text file busy";
-#endif
-
-#if GNULIB_defined_ESOCK /* native Windows platforms */
-      /* EWOULDBLOCK is the same as EAGAIN.  */
+#if GNULIB_defined_ESOCK /* native Windows platforms with older <errno.h> */
     case EINPROGRESS:
       return "Operation now in progress";
     case EALREADY:
@@ -65,12 +59,8 @@ strerror_override (int errnum)
       return "Protocol not available";
     case EPROTONOSUPPORT:
       return "Protocol not supported";
-    case ESOCKTNOSUPPORT:
-      return "Socket type not supported";
     case EOPNOTSUPP:
       return "Operation not supported";
-    case EPFNOSUPPORT:
-      return "Protocol family not supported";
     case EAFNOSUPPORT:
       return "Address family not supported by protocol";
     case EADDRINUSE:
@@ -81,10 +71,6 @@ strerror_override (int errnum)
       return "Network is down";
     case ENETUNREACH:
       return "Network is unreachable";
-    case ENETRESET:
-      return "Network dropped connection on reset";
-    case ECONNABORTED:
-      return "Software caused connection abort";
     case ECONNRESET:
       return "Connection reset by peer";
     case ENOBUFS:
@@ -93,20 +79,42 @@ strerror_override (int errnum)
       return "Transport endpoint is already connected";
     case ENOTCONN:
       return "Transport endpoint is not connected";
-    case ESHUTDOWN:
-      return "Cannot send after transport endpoint shutdown";
-    case ETOOMANYREFS:
-      return "Too many references: cannot splice";
     case ETIMEDOUT:
       return "Connection timed out";
     case ECONNREFUSED:
       return "Connection refused";
     case ELOOP:
       return "Too many levels of symbolic links";
-    case EHOSTDOWN:
-      return "Host is down";
     case EHOSTUNREACH:
       return "No route to host";
+    case EWOULDBLOCK:
+      return "Operation would block";
+#endif
+#if GNULIB_defined_ESTREAMS /* native Windows platforms with older <errno.h> */
+    case ETXTBSY:
+      return "Text file busy";
+    case ENODATA:
+      return "No data available";
+    case ENOSR:
+      return "Out of streams resources";
+    case ENOSTR:
+      return "Device not a stream";
+    case ETIME:
+      return "Timer expired";
+    case EOTHER:
+      return "Other error";
+#endif
+#if GNULIB_defined_EWINSOCK /* native Windows platforms */
+    case ESOCKTNOSUPPORT:
+      return "Socket type not supported";
+    case EPFNOSUPPORT:
+      return "Protocol family not supported";
+    case ESHUTDOWN:
+      return "Cannot send after transport endpoint shutdown";
+    case ETOOMANYREFS:
+      return "Too many references: cannot splice";
+    case EHOSTDOWN:
+      return "Host is down";
     case EPROCLIM:
       return "Too many processes";
     case EUSERS:
@@ -134,36 +142,36 @@ strerror_override (int errnum)
       /* WSAEINVAL maps to EINVAL */
       /* WSAEMFILE maps to EMFILE */
       /* WSAEWOULDBLOCK maps to EWOULDBLOCK */
-      /* WSAEINPROGRESS is EINPROGRESS */
-      /* WSAEALREADY is EALREADY */
-      /* WSAENOTSOCK is ENOTSOCK */
-      /* WSAEDESTADDRREQ is EDESTADDRREQ */
-      /* WSAEMSGSIZE is EMSGSIZE */
-      /* WSAEPROTOTYPE is EPROTOTYPE */
-      /* WSAENOPROTOOPT is ENOPROTOOPT */
-      /* WSAEPROTONOSUPPORT is EPROTONOSUPPORT */
+      /* WSAEINPROGRESS maps to EINPROGRESS */
+      /* WSAEALREADY maps to EALREADY */
+      /* WSAENOTSOCK maps to ENOTSOCK */
+      /* WSAEDESTADDRREQ maps to EDESTADDRREQ */
+      /* WSAEMSGSIZE maps to EMSGSIZE */
+      /* WSAEPROTOTYPE maps to EPROTOTYPE */
+      /* WSAENOPROTOOPT maps to ENOPROTOOPT */
+      /* WSAEPROTONOSUPPORT maps to EPROTONOSUPPORT */
       /* WSAESOCKTNOSUPPORT is ESOCKTNOSUPPORT */
-      /* WSAEOPNOTSUPP is EOPNOTSUPP */
+      /* WSAEOPNOTSUPP maps to EOPNOTSUPP */
       /* WSAEPFNOSUPPORT is EPFNOSUPPORT */
-      /* WSAEAFNOSUPPORT is EAFNOSUPPORT */
-      /* WSAEADDRINUSE is EADDRINUSE */
-      /* WSAEADDRNOTAVAIL is EADDRNOTAVAIL */
-      /* WSAENETDOWN is ENETDOWN */
-      /* WSAENETUNREACH is ENETUNREACH */
-      /* WSAENETRESET is ENETRESET */
-      /* WSAECONNABORTED is ECONNABORTED */
-      /* WSAECONNRESET is ECONNRESET */
-      /* WSAENOBUFS is ENOBUFS */
-      /* WSAEISCONN is EISCONN */
-      /* WSAENOTCONN is ENOTCONN */
+      /* WSAEAFNOSUPPORT maps to EAFNOSUPPORT */
+      /* WSAEADDRINUSE maps to EADDRINUSE */
+      /* WSAEADDRNOTAVAIL maps to EADDRNOTAVAIL */
+      /* WSAENETDOWN maps to ENETDOWN */
+      /* WSAENETUNREACH maps to ENETUNREACH */
+      /* WSAENETRESET maps to ENETRESET */
+      /* WSAECONNABORTED maps to ECONNABORTED */
+      /* WSAECONNRESET maps to ECONNRESET */
+      /* WSAENOBUFS maps to ENOBUFS */
+      /* WSAEISCONN maps to EISCONN */
+      /* WSAENOTCONN maps to ENOTCONN */
       /* WSAESHUTDOWN is ESHUTDOWN */
       /* WSAETOOMANYREFS is ETOOMANYREFS */
-      /* WSAETIMEDOUT is ETIMEDOUT */
-      /* WSAECONNREFUSED is ECONNREFUSED */
-      /* WSAELOOP is ELOOP */
+      /* WSAETIMEDOUT maps to ETIMEDOUT */
+      /* WSAECONNREFUSED maps to ECONNREFUSED */
+      /* WSAELOOP maps to ELOOP */
       /* WSAENAMETOOLONG maps to ENAMETOOLONG */
       /* WSAEHOSTDOWN is EHOSTDOWN */
-      /* WSAEHOSTUNREACH is EHOSTUNREACH */
+      /* WSAEHOSTUNREACH maps to EHOSTUNREACH */
       /* WSAENOTEMPTY maps to ENOTEMPTY */
       /* WSAEPROCLIM is EPROCLIM */
       /* WSAEUSERS is EUSERS */
@@ -273,6 +281,21 @@ strerror_override (int errnum)
       return "Operation canceled";
 #endif
 
+#if GNULIB_defined_EOWNERDEAD
+    case EOWNERDEAD:
+      return "Owner died";
+#endif
+
+#if GNULIB_defined_ENOTRECOVERABLE
+    case ENOTRECOVERABLE:
+      return "State not recoverable";
+#endif
+
+#if GNULIB_defined_EILSEQ
+    case EILSEQ:
+      return "Invalid or incomplete multibyte or wide character";
+#endif
+
     default:
       return NULL;
     }
index 81e4a50..3b8f24b 100644 (file)
@@ -1,6 +1,6 @@
 /* strerror-override.h --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2010-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -29,8 +29,9 @@
 /* If ERRNUM maps to an errno value defined by gnulib, return a string
    describing the error.  Otherwise return NULL.  */
 # if REPLACE_STRERROR_0 \
-     || GNULIB_defined_ETXTBSY \
      || GNULIB_defined_ESOCK \
+     || GNULIB_defined_ESTREAMS \
+     || GNULIB_defined_EWINSOCK \
      || GNULIB_defined_ENOMSG \
      || GNULIB_defined_EIDRM \
      || GNULIB_defined_ENOLINK \
      || GNULIB_defined_ECONNABORTED \
      || GNULIB_defined_ESTALE \
      || GNULIB_defined_EDQUOT \
-     || GNULIB_defined_ECANCELED
+     || GNULIB_defined_ECANCELED \
+     || GNULIB_defined_EOWNERDEAD \
+     || GNULIB_defined_ENOTRECOVERABLE \
+     || GNULIB_defined_EILSEQ
 extern const char *strerror_override (int errnum);
 # else
 #  define strerror_override(ignored) NULL
index 63899ca..80a2f2e 100644 (file)
@@ -1,6 +1,6 @@
 /* strerror.c --- POSIX compatible system error routine
 
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index acebc9a..91d5d85 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2001, 2003-2007, 2009-2011 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
 
    NOTE: The canonical source of this file is maintained with the GNU C Library.
    Bugs can be reported to bug-glibc@prep.ai.mit.edu.
@@ -26,7 +26,6 @@
 #else
 # include <config.h>
 # if FPRINTFTIME
-#  include "ignore-value.h"
 #  include "fprintftime.h"
 # else
 #  include "strftime.h"
@@ -40,7 +39,7 @@
 extern char *tzname[];
 #endif
 
-/* Do multibyte processing if multibytes are supported, unless
+/* Do multibyte processing if multibyte encodings are supported, unless
    multibyte sequences are safe in formats.  Multibyte sequences are
    safe if they cannot contain byte sequences that look like format
    conversion specifications.  The multibyte encodings used by the
@@ -210,13 +209,12 @@ extern char *tzname[];
            fwrite_uppcase (p, (s), _n);                                       \
          else                                                                 \
            {                                                                  \
-             /* We are ignoring the value of fwrite here, in spite of the     \
-                fact that technically, that may not be valid: the fwrite      \
-                specification in POSIX 2008 defers to that of fputc, which    \
-                is intended to be consistent with the one from ISO C,         \
-                which permits failure due to ENOMEM *without* setting the     \
-                stream's error indicator.  */                                 \
-             ignore_value (fwrite ((s), _n, 1, p));                           \
+             /* Ignore the value of fwrite.  The caller can determine whether \
+                an error occurred by inspecting ferror (P).  All known fwrite \
+                implementations set the stream's error indicator when they    \
+                fail due to ENOMEM etc., even though C11 and POSIX.1-2008 do  \
+                not require this.  */                                         \
+             fwrite (s, _n, 1, p);                                            \
            }                                                                  \
        }                                                                      \
      while (0)                                                                \
@@ -289,7 +287,7 @@ extern char *tzname[];
 #  define TOLOWER(Ch, L) tolower (Ch)
 # endif
 #endif
-/* We don't use `isdigit' here since the locale dependent
+/* We don't use 'isdigit' here since the locale dependent
    interpretation is not what we want here.  We only need to accept
    the arabic digits in the ASCII range.  One day there is perhaps a
    more reliable way to accept other sets of digits.  */
@@ -437,7 +435,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
 #ifdef _NL_CURRENT
   /* We cannot make the following values variables since we must delay
      the evaluation of these values until really needed since some
-     expressions might not be valid in every situation.  The `struct tm'
+     expressions might not be valid in every situation.  The 'struct tm'
      might be generated by a strptime() call that initialized
      only a few elements.  Dereference the pointers only if the format
      requires this.  Then it is ok to fail if the pointers are invalid.  */
@@ -896,7 +894,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
           goto do_number_body;
 
         do_number_spacepad:
-          /* Force `_' flag unless overridden by `0' or `-' flag.  */
+          /* Force '_' flag unless overridden by '0' or '-' flag.  */
           if (pad != L_('0') && pad != L_('-'))
             pad = L_('_');
 
index 3410568..a47e6d1 100644 (file)
@@ -1,6 +1,6 @@
 /* declarations for strftime.c
 
-   Copyright (C) 2002, 2004, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 4fdeb74..ba90edd 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Charset conversion.
-   Copyright (C) 2001-2007, 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2007, 2010-2013 Free Software Foundation, Inc.
    Written by Bruno Haible and Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 30bc1f8..88eaf9d 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Charset conversion.
-   Copyright (C) 2001-2004, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc.
    Written by Bruno Haible and Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _STRICONV_H
 #define _STRICONV_H
index 2b56ef5..d7a6c9c 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A GNU-like <string.h>.
 
-   Copyright (C) 1995-1996, 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _@GUARD_PREFIX@_STRING_H
 
@@ -727,10 +724,14 @@ _GL_WARN_ON_USE (strtok_r, "strtok_r is unportable - "
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define mbslen rpl_mbslen
 #  endif
-_GL_FUNCDECL_RPL (mbslen, size_t, (const char *string) _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_RPL (mbslen, size_t, (const char *string)
+                                  _GL_ATTRIBUTE_PURE
+                                  _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (mbslen, size_t, (const char *string));
 # else
-_GL_FUNCDECL_SYS (mbslen, size_t, (const char *string) _GL_ARG_NONNULL ((1)));
+_GL_FUNCDECL_SYS (mbslen, size_t, (const char *string)
+                                  _GL_ATTRIBUTE_PURE
+                                  _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_SYS (mbslen, size_t, (const char *string));
 # endif
 _GL_CXXALIASWARN (mbslen);
@@ -740,6 +741,7 @@ _GL_CXXALIASWARN (mbslen);
 /* Return the number of multibyte characters in the character string starting
    at STRING and ending at STRING + LEN.  */
 _GL_EXTERN_C size_t mbsnlen (const char *string, size_t len)
+     _GL_ATTRIBUTE_PURE
      _GL_ARG_NONNULL ((1));
 #endif
 
@@ -753,10 +755,12 @@ _GL_EXTERN_C size_t mbsnlen (const char *string, size_t len)
 #   define mbschr rpl_mbschr /* avoid collision with HP-UX function */
 #  endif
 _GL_FUNCDECL_RPL (mbschr, char *, (const char *string, int c)
+                                  _GL_ATTRIBUTE_PURE
                                   _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (mbschr, char *, (const char *string, int c));
 # else
 _GL_FUNCDECL_SYS (mbschr, char *, (const char *string, int c)
+                                  _GL_ATTRIBUTE_PURE
                                   _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_SYS (mbschr, char *, (const char *string, int c));
 # endif
@@ -773,10 +777,12 @@ _GL_CXXALIASWARN (mbschr);
 #   define mbsrchr rpl_mbsrchr /* avoid collision with system function */
 #  endif
 _GL_FUNCDECL_RPL (mbsrchr, char *, (const char *string, int c)
+                                   _GL_ATTRIBUTE_PURE
                                    _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (mbsrchr, char *, (const char *string, int c));
 # else
 _GL_FUNCDECL_SYS (mbsrchr, char *, (const char *string, int c)
+                                   _GL_ATTRIBUTE_PURE
                                    _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_SYS (mbsrchr, char *, (const char *string, int c));
 # endif
@@ -789,6 +795,7 @@ _GL_CXXALIASWARN (mbsrchr);
    Unlike strstr(), this function works correctly in multibyte locales with
    encodings different from UTF-8.  */
 _GL_EXTERN_C char * mbsstr (const char *haystack, const char *needle)
+     _GL_ATTRIBUTE_PURE
      _GL_ARG_NONNULL ((1, 2));
 #endif
 
@@ -800,6 +807,7 @@ _GL_EXTERN_C char * mbsstr (const char *haystack, const char *needle)
    different lengths!
    Unlike strcasecmp(), this function works correctly in multibyte locales.  */
 _GL_EXTERN_C int mbscasecmp (const char *s1, const char *s2)
+     _GL_ATTRIBUTE_PURE
      _GL_ARG_NONNULL ((1, 2));
 #endif
 
@@ -814,6 +822,7 @@ _GL_EXTERN_C int mbscasecmp (const char *s1, const char *s2)
    Unlike strncasecmp(), this function works correctly in multibyte locales.
    But beware that N is not a byte count but a character count!  */
 _GL_EXTERN_C int mbsncasecmp (const char *s1, const char *s2, size_t n)
+     _GL_ATTRIBUTE_PURE
      _GL_ARG_NONNULL ((1, 2));
 #endif
 
@@ -827,6 +836,7 @@ _GL_EXTERN_C int mbsncasecmp (const char *s1, const char *s2, size_t n)
    Unlike strncasecmp(), this function works correctly in multibyte
    locales.  */
 _GL_EXTERN_C char * mbspcasecmp (const char *string, const char *prefix)
+     _GL_ATTRIBUTE_PURE
      _GL_ARG_NONNULL ((1, 2));
 #endif
 
@@ -837,6 +847,7 @@ _GL_EXTERN_C char * mbspcasecmp (const char *string, const char *prefix)
    strlen (haystack) < strlen (needle) !
    Unlike strcasestr(), this function works correctly in multibyte locales.  */
 _GL_EXTERN_C char * mbscasestr (const char *haystack, const char *needle)
+     _GL_ATTRIBUTE_PURE
      _GL_ARG_NONNULL ((1, 2));
 #endif
 
@@ -847,6 +858,7 @@ _GL_EXTERN_C char * mbscasestr (const char *haystack, const char *needle)
    if none exists.
    Unlike strcspn(), this function works correctly in multibyte locales.  */
 _GL_EXTERN_C size_t mbscspn (const char *string, const char *accept)
+     _GL_ATTRIBUTE_PURE
      _GL_ARG_NONNULL ((1, 2));
 #endif
 
@@ -860,10 +872,12 @@ _GL_EXTERN_C size_t mbscspn (const char *string, const char *accept)
 #   define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */
 #  endif
 _GL_FUNCDECL_RPL (mbspbrk, char *, (const char *string, const char *accept)
+                                   _GL_ATTRIBUTE_PURE
                                    _GL_ARG_NONNULL ((1, 2)));
 _GL_CXXALIAS_RPL (mbspbrk, char *, (const char *string, const char *accept));
 # else
 _GL_FUNCDECL_SYS (mbspbrk, char *, (const char *string, const char *accept)
+                                   _GL_ATTRIBUTE_PURE
                                    _GL_ARG_NONNULL ((1, 2)));
 _GL_CXXALIAS_SYS (mbspbrk, char *, (const char *string, const char *accept));
 # endif
@@ -877,6 +891,7 @@ _GL_CXXALIASWARN (mbspbrk);
    if none exists.
    Unlike strspn(), this function works correctly in multibyte locales.  */
 _GL_EXTERN_C size_t mbsspn (const char *string, const char *reject)
+     _GL_ATTRIBUTE_PURE
      _GL_ARG_NONNULL ((1, 2));
 #endif
 
@@ -996,6 +1011,7 @@ _GL_WARN_ON_USE (strsignal, "strsignal is unportable - "
 #if @GNULIB_STRVERSCMP@
 # if !@HAVE_STRVERSCMP@
 _GL_FUNCDECL_SYS (strverscmp, int, (const char *, const char *)
+                                   _GL_ATTRIBUTE_PURE
                                    _GL_ARG_NONNULL ((1, 2)));
 # endif
 _GL_CXXALIAS_SYS (strverscmp, int, (const char *, const char *));
index 63355f6..4469f86 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A substitute <strings.h>.
 
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _@GUARD_PREFIX@_STRINGS_H
 
 #endif
 
 /* The include_next requires a split double-inclusion guard.  */
-#@INCLUDE_NEXT@ @NEXT_STRINGS_H@
+#if @HAVE_STRINGS_H@
+# @INCLUDE_NEXT@ @NEXT_STRINGS_H@
+#endif
 
 #ifndef _@GUARD_PREFIX@_STRINGS_H
 #define _@GUARD_PREFIX@_STRINGS_H
 
+#if ! @HAVE_DECL_STRNCASECMP@
+/* Get size_t.  */
+# include <stddef.h>
+#endif
+
 
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
index 1212440..0e452a9 100644 (file)
@@ -1,6 +1,6 @@
 /* stripslash.c -- remove redundant trailing slashes from a file name
 
-   Copyright (C) 1990, 2001, 2003-2006, 2009-2011 Free Software Foundation,
+   Copyright (C) 1990, 2001, 2003-2006, 2009-2013 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -35,7 +35,7 @@ strip_trailing_slashes (char *file)
   bool had_slash;
 
   /* last_component returns "" for file system roots, but we need to turn
-     `///' into `/'.  */
+     "///" into "/".  */
   if (! *base)
     base = file;
   base_lim = base + base_len (base);
index 8953c3b..35840bc 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* strncasecmp.c -- case insensitive string comparator
-   Copyright (C) 1998-1999, 2005-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index c5aca3e..e60268b 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A replacement function, for systems that lack strndup.
 
-   Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2011 Free Software
+   Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify it
@@ -16,8 +14,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index 241bb59..57fdfe7 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Find the length of STRING, but scan at most MAXLEN characters.
-   Copyright (C) 2005-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
index f64ce10..0c22d21 100644 (file)
@@ -1,5 +1,5 @@
 /* Find the length of STRING + 1, but scan at most MAXLEN bytes.
-   Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 1bb13de..7c65e31 100644 (file)
@@ -1,5 +1,5 @@
 /* Find the length of STRING + 1, but scan at most MAXLEN bytes.
-   Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -28,7 +28,8 @@ extern "C" {
 /* Find the length of STRING + 1, but scan at most MAXLEN bytes.
    If no '\0' terminator is found in that many characters, return MAXLEN.  */
 /* This is the same as strnlen (string, maxlen - 1) + 1.  */
-extern size_t strnlen1 (const char *string, size_t maxlen);
+extern size_t strnlen1 (const char *string, size_t maxlen)
+  _GL_ATTRIBUTE_PURE;
 
 
 #ifdef __cplusplus
index d744015..1c9e13c 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2002, 2004-2005, 2007, 2009-2011 Free Software Foundation,
+/* Copyright (C) 2002, 2004-2005, 2007, 2009-2013 Free Software Foundation,
    Inc.
    This file is part of the GNU C Library.
 
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _LIBC
 # include <config.h>
@@ -242,7 +239,6 @@ __strptime_internal (rp, fmt, tm, decided, era_cnt LOCALE_PARAM)
   struct locale_data *const current = locale->__locales[LC_TIME];
 #endif
 
-  const char *rp_backup;
   int cnt;
   size_t val;
   int have_I, is_pm;
@@ -255,14 +251,14 @@ __strptime_internal (rp, fmt, tm, decided, era_cnt LOCALE_PARAM)
   int week_no;
 #ifdef _NL_CURRENT
   size_t num_eras;
+  struct era_entry *era = NULL;
+  const char *rp_backup;
 #endif
-  struct era_entry *era;
 
   have_I = is_pm = 0;
   century = -1;
   want_century = 0;
   want_era = 0;
-  era = NULL;
   week_no = 0;
 
   have_wday = want_xday = have_yday = have_mon = have_mday = have_uweek = 0;
@@ -280,7 +276,7 @@ __strptime_internal (rp, fmt, tm, decided, era_cnt LOCALE_PARAM)
           continue;
         }
 
-      /* Any character but `%' must be matched by the same character
+      /* Any character but '%' must be matched by the same character
          in the iput string.  */
       if (*fmt != '%')
         {
@@ -290,17 +286,17 @@ __strptime_internal (rp, fmt, tm, decided, era_cnt LOCALE_PARAM)
 
       ++fmt;
 #ifndef _NL_CURRENT
-      /* We need this for handling the `E' modifier.  */
+      /* We need this for handling the 'E' modifier.  */
     start_over:
-#endif
-
+#else
       /* Make back up of current processing pointer.  */
       rp_backup = rp;
+#endif
 
       switch (*fmt++)
         {
         case '%':
-          /* Match the `%' character itself.  */
+          /* Match the '%' character itself.  */
           match_char ('%', *rp++);
           break;
         case 'a':
@@ -561,7 +557,7 @@ __strptime_internal (rp, fmt, tm, decided, era_cnt LOCALE_PARAM)
         case 's':
           {
             /* The number of seconds may be very high so we cannot use
-               the `get_number' macro.  Instead read the number
+               the 'get_number' macro.  Instead read the number
                character for character and construct the result while
                doing this.  */
             time_t secs = 0;
@@ -677,7 +673,7 @@ __strptime_internal (rp, fmt, tm, decided, era_cnt LOCALE_PARAM)
              specify hours.  If fours digits are used, minutes are
              also specified.  */
           {
-            bool neg;
+            bool neg _GL_UNUSED;
             int n;
 
             val = 0;
index 497d155..c9bd2ad 100644 (file)
@@ -1,6 +1,6 @@
 /* Convert string representation of a number into an intmax_t value.
 
-   Copyright (C) 1999, 2001-2004, 2006, 2009-2011 Free Software Foundation,
+   Copyright (C) 1999, 2001-2004, 2006, 2009-2013 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
index 6c15d11..379eda8 100644 (file)
@@ -1,6 +1,6 @@
 /* Convert string representation of a number into an integer value.
 
-   Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2011 Free Software
+   Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2013 Free Software
    Foundation, Inc.
 
    NOTE: The canonical source of this file is maintained with the GNU C
@@ -40,7 +40,7 @@
 # include "../locale/localeinfo.h"
 #endif
 
-/* Nonzero if we are defining `strtoul' or `strtoull', operating on
+/* Nonzero if we are defining 'strtoul' or 'strtoull', operating on
    unsigned integers.  */
 #ifndef UNSIGNED
 # define UNSIGNED 0
 # endif
 #endif
 
-/* If QUAD is defined, we are defining `strtoll' or `strtoull',
-   operating on `long long int's.  */
+/* If QUAD is defined, we are defining 'strtoll' or 'strtoull',
+   operating on 'long long int's.  */
 #ifdef QUAD
 # define LONG long long
 # define STRTOL_LONG_MIN LLONG_MIN
 
 
 
-/* Convert NPTR to an `unsigned long int' or `long int' in base BASE.
+/* Convert NPTR to an 'unsigned long int' or 'long int' in base BASE.
    If BASE is 0 the base is determined by the presence of a leading
    zero, indicating octal or a leading "0x" or "0X", indicating hexadecimal.
    If BASE is < 2 or > 36, it is reset to 10.
@@ -380,7 +380,7 @@ INTERNAL (strtol) (const STRING_TYPE *nptr, STRING_TYPE **endptr,
 
 #if !UNSIGNED
   /* Check for a value that is within the range of
-     `unsigned LONG int', but outside the range of `LONG int'.  */
+     'unsigned LONG int', but outside the range of 'LONG int'.  */
   if (overflow == 0
       && i > (negative
               ? -((unsigned LONG int) (STRTOL_LONG_MIN + 1)) + 1
@@ -405,7 +405,7 @@ noconv:
   /* We must handle a special case here: the base is 0 or 16 and the
      first two characters are '0' and 'x', but the rest are no
      hexadecimal digits.  This is no error case.  We return 0 and
-     ENDPTR points to the `x`.  */
+     ENDPTR points to the 'x'.  */
   if (endptr != NULL)
     {
       if (save - nptr >= 2 && TOUPPER (save[-1]) == L_('X')
index 6fa6d0c..a0ca376 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1997, 2009-2011 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1997, 2009-2013 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software: you can redistribute it and/or modify
index bf25995..494cc2f 100644 (file)
@@ -1,5 +1,5 @@
-/* Function to parse an `unsigned long long int' from text.
-   Copyright (C) 1995-1997, 1999, 2009-2011 Free Software Foundation, Inc.
+/* Function to parse an 'unsigned long long int' from text.
+   Copyright (C) 1995-1997, 1999, 2009-2013 Free Software Foundation, Inc.
    NOTE: The canonical source of this file is maintained with the GNU C
    Library.  Bugs can be reported to bug-glibc@gnu.org.
 
index db8caf5..acc3694 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Provide a more complete sys/stat header file.
-   Copyright (C) 2005-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* Written by Eric Blake, Paul Eggert, and Jim Meyering.  */
 
@@ -38,7 +35,8 @@
 
 #ifndef _@GUARD_PREFIX@_SYS_STAT_H
 
-/* Get nlink_t.  */
+/* Get nlink_t.
+   May also define off_t to a 64-bit type on native Windows.  */
 #include <sys/types.h>
 
 /* Get struct timespec.  */
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
 /* Before doing "#define mkdir rpl_mkdir" below, we need to include all
-   headers that may declare mkdir().  */
+   headers that may declare mkdir().  Native Windows platforms declare mkdir
+   in <io.h> and/or <direct.h>, not in <unistd.h>.  */
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 # include <io.h>     /* mingw32, mingw64 */
-# include <direct.h> /* mingw64 */
+# include <direct.h> /* mingw64, MSVC 9 */
+#endif
+
+/* Native Windows platforms declare umask() in <io.h>.  */
+#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+# include <io.h>
+#endif
+
+/* Large File Support on native Windows.  */
+#if @WINDOWS_64_BIT_ST_SIZE@
+# define stat _stati64
+#endif
+
+#ifndef S_IFIFO
+# ifdef _S_IFIFO
+#  define S_IFIFO _S_IFIFO
+# endif
 #endif
 
 #ifndef S_IFMT
 # endif
 #endif
 
+#ifndef S_ISMPX /* AIX */
+# define S_ISMPX(m) 0
+#endif
+
 #ifndef S_ISNAM /* Xenix */
 # ifdef S_IFNAM
 #  define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM)
@@ -314,16 +333,28 @@ _GL_WARN_ON_USE (fchmodat, "fchmodat is not portable - "
 #endif
 
 
-#if @REPLACE_FSTAT@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  define fstat rpl_fstat
-# endif
+#if @GNULIB_FSTAT@
+# if @REPLACE_FSTAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fstat
+#   define fstat rpl_fstat
+#  endif
 _GL_FUNCDECL_RPL (fstat, int, (int fd, struct stat *buf) _GL_ARG_NONNULL ((2)));
 _GL_CXXALIAS_RPL (fstat, int, (int fd, struct stat *buf));
-#else
+# else
 _GL_CXXALIAS_SYS (fstat, int, (int fd, struct stat *buf));
-#endif
+# endif
 _GL_CXXALIASWARN (fstat);
+#elif @WINDOWS_64_BIT_ST_SIZE@
+/* Above, we define stat to _stati64.  */
+# define fstat _fstati64
+#elif defined GNULIB_POSIXCHECK
+# undef fstat
+# if HAVE_RAW_DECL_FSTAT
+_GL_WARN_ON_USE (fstat, "fstat has portability problems - "
+                 "use gnulib module fstat for portability");
+# endif
+#endif
 
 
 #if @GNULIB_FSTATAT@
@@ -470,7 +501,7 @@ _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode));
 # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 
 #  if !GNULIB_defined_rpl_mkdir
-static inline int
+static int
 rpl_mkdir (char const *name, mode_t mode)
 {
   return _mkdir (name);
@@ -597,14 +628,55 @@ _GL_WARN_ON_USE (mknodat, "mknodat is not portable - "
 /* We can't use the object-like #define stat rpl_stat, because of
    struct stat.  This means that rpl_stat will not be used if the user
    does (stat)(a,b).  Oh well.  */
-#  undef stat
-#  ifdef _LARGE_FILES
+#  if defined _AIX && defined stat && defined _LARGE_FILES
     /* With _LARGE_FILES defined, AIX (only) defines stat to stat64,
        so we have to replace stat64() instead of stat(). */
-#   define stat stat64
 #   undef stat64
 #   define stat64(name, st) rpl_stat (name, st)
-#  else /* !_LARGE_FILES */
+#  elif @WINDOWS_64_BIT_ST_SIZE@
+    /* Above, we define stat to _stati64.  */
+#   if defined __MINGW32__ && defined _stati64
+#    ifndef _USE_32BIT_TIME_T
+      /* The system headers define _stati64 to _stat64.  */
+#     undef _stat64
+#     define _stat64(name, st) rpl_stat (name, st)
+#    endif
+#   elif defined _MSC_VER && defined _stati64
+#    ifdef _USE_32BIT_TIME_T
+      /* The system headers define _stati64 to _stat32i64.  */
+#     undef _stat32i64
+#     define _stat32i64(name, st) rpl_stat (name, st)
+#    else
+      /* The system headers define _stati64 to _stat64.  */
+#     undef _stat64
+#     define _stat64(name, st) rpl_stat (name, st)
+#    endif
+#   else
+#    undef _stati64
+#    define _stati64(name, st) rpl_stat (name, st)
+#   endif
+#  elif defined __MINGW32__ && defined stat
+#   ifdef _USE_32BIT_TIME_T
+     /* The system headers define stat to _stat32i64.  */
+#    undef _stat32i64
+#    define _stat32i64(name, st) rpl_stat (name, st)
+#   else
+     /* The system headers define stat to _stat64.  */
+#    undef _stat64
+#    define _stat64(name, st) rpl_stat (name, st)
+#   endif
+#  elif defined _MSC_VER && defined stat
+#   ifdef _USE_32BIT_TIME_T
+     /* The system headers define stat to _stat32.  */
+#    undef _stat32
+#    define _stat32(name, st) rpl_stat (name, st)
+#   else
+     /* The system headers define stat to _stat64i32.  */
+#    undef _stat64i32
+#    define _stat64i32(name, st) rpl_stat (name, st)
+#   endif
+#  else /* !(_AIX ||__MINGW32__ ||  _MSC_VER) */
+#   undef stat
 #   define stat(name, st) rpl_stat (name, st)
 #  endif /* !_LARGE_FILES */
 _GL_EXTERN_C int stat (const char *name, struct stat *buf)
index fabe65d..656c3f1 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Provide a more complete sys/time.h.
 
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* Written by Paul Eggert.  */
 
+#ifndef _@GUARD_PREFIX@_SYS_TIME_H
+
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 @PRAGMA_COLUMNS@
 
-#if defined _@GUARD_PREFIX@_SYS_TIME_H
-
-/* Simply delegate to the system's header, without adding anything.  */
-# if @HAVE_SYS_TIME_H@
-#  @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
-# endif
+/* The include_next requires a split double-inclusion guard.  */
+#if @HAVE_SYS_TIME_H@
+# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
+#endif
 
-#else
+#ifndef _@GUARD_PREFIX@_SYS_TIME_H
+#define _@GUARD_PREFIX@_SYS_TIME_H
 
-# define _@GUARD_PREFIX@_SYS_TIME_H
+#if ! @HAVE_SYS_TIME_H@
+# include <time.h>
+#endif
 
-# if @HAVE_SYS_TIME_H@
-#  @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
-# else
-#  include <time.h>
-# endif
+/* On native Windows with MSVC, get the 'struct timeval' type.
+   Also, on native Windows with a 64-bit time_t, where we are overriding the
+   'struct timeval' type, get all declarations of system functions whose
+   signature contains 'struct timeval'.  */
+#if (defined _MSC_VER || @REPLACE_STRUCT_TIMEVAL@) && @HAVE_WINSOCK2_H@ && !defined _GL_INCLUDING_WINSOCK2_H
+# define _GL_INCLUDING_WINSOCK2_H
+# include <winsock2.h>
+# undef _GL_INCLUDING_WINSOCK2_H
+#endif
 
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
 
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
-# ifdef __cplusplus
+#ifdef __cplusplus
 extern "C" {
-# endif
+#endif
 
-# if ! @HAVE_STRUCT_TIMEVAL@
+#if !@HAVE_STRUCT_TIMEVAL@ || @REPLACE_STRUCT_TIMEVAL@
 
-#  if !GNULIB_defined_struct_timeval
+# if @REPLACE_STRUCT_TIMEVAL@
+#  define timeval rpl_timeval
+# endif
+
+# if !GNULIB_defined_struct_timeval
 struct timeval
 {
   time_t tv_sec;
   long int tv_usec;
 };
-#   define GNULIB_defined_struct_timeval 1
-#  endif
-
+#  define GNULIB_defined_struct_timeval 1
 # endif
 
-# ifdef __cplusplus
+#endif
+
+#ifdef __cplusplus
 }
-# endif
+#endif
 
-# if @GNULIB_GETTIMEOFDAY@
-#  if @REPLACE_GETTIMEOFDAY@
-#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#    undef gettimeofday
-#    define gettimeofday rpl_gettimeofday
-#   endif
+#if @GNULIB_GETTIMEOFDAY@
+# if @REPLACE_GETTIMEOFDAY@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef gettimeofday
+#   define gettimeofday rpl_gettimeofday
+#  endif
 _GL_FUNCDECL_RPL (gettimeofday, int,
                   (struct timeval *restrict, void *restrict)
                   _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (gettimeofday, int,
                   (struct timeval *restrict, void *restrict));
-#  else
-#   if !@HAVE_GETTIMEOFDAY@
+# else
+#  if !@HAVE_GETTIMEOFDAY@
 _GL_FUNCDECL_SYS (gettimeofday, int,
                   (struct timeval *restrict, void *restrict)
                   _GL_ARG_NONNULL ((1)));
-#   endif
+#  endif
 /* Need to cast, because on glibc systems, by default, the second argument is
                                                   struct timezone *.  */
 _GL_CXXALIAS_SYS_CAST (gettimeofday, int,
                        (struct timeval *restrict, void *restrict));
-#  endif
+# endif
 _GL_CXXALIASWARN (gettimeofday);
-# elif defined GNULIB_POSIXCHECK
-#  undef gettimeofday
-#  if HAVE_RAW_DECL_GETTIMEOFDAY
+#elif defined GNULIB_POSIXCHECK
+# undef gettimeofday
+# if HAVE_RAW_DECL_GETTIMEOFDAY
 _GL_WARN_ON_USE (gettimeofday, "gettimeofday is unportable - "
                  "use gnulib module gettimeofday for portability");
+# endif
+#endif
+
+/* Hide some function declarations from <winsock2.h>.  */
+
+#if defined _MSC_VER && @HAVE_WINSOCK2_H@
+# if !defined _@GUARD_PREFIX@_UNISTD_H
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef close
+#   define close close_used_without_including_unistd_h
+#  else
+     _GL_WARN_ON_USE (close,
+                      "close() used without including <unistd.h>");
+#  endif
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef gethostname
+#   define gethostname gethostname_used_without_including_unistd_h
+#  else
+     _GL_WARN_ON_USE (gethostname,
+                      "gethostname() used without including <unistd.h>");
 #  endif
 # endif
+# if !defined _@GUARD_PREFIX@_SYS_SOCKET_H
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef socket
+#   define socket              socket_used_without_including_sys_socket_h
+#   undef connect
+#   define connect             connect_used_without_including_sys_socket_h
+#   undef accept
+#   define accept              accept_used_without_including_sys_socket_h
+#   undef bind
+#   define bind                bind_used_without_including_sys_socket_h
+#   undef getpeername
+#   define getpeername         getpeername_used_without_including_sys_socket_h
+#   undef getsockname
+#   define getsockname         getsockname_used_without_including_sys_socket_h
+#   undef getsockopt
+#   define getsockopt          getsockopt_used_without_including_sys_socket_h
+#   undef listen
+#   define listen              listen_used_without_including_sys_socket_h
+#   undef recv
+#   define recv                recv_used_without_including_sys_socket_h
+#   undef send
+#   define send                send_used_without_including_sys_socket_h
+#   undef recvfrom
+#   define recvfrom            recvfrom_used_without_including_sys_socket_h
+#   undef sendto
+#   define sendto              sendto_used_without_including_sys_socket_h
+#   undef setsockopt
+#   define setsockopt          setsockopt_used_without_including_sys_socket_h
+#   undef shutdown
+#   define shutdown            shutdown_used_without_including_sys_socket_h
+#  else
+     _GL_WARN_ON_USE (socket,
+                      "socket() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (connect,
+                      "connect() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (accept,
+                      "accept() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (bind,
+                      "bind() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (getpeername,
+                      "getpeername() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (getsockname,
+                      "getsockname() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (getsockopt,
+                      "getsockopt() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (listen,
+                      "listen() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (recv,
+                      "recv() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (send,
+                      "send() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (recvfrom,
+                      "recvfrom() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (sendto,
+                      "sendto() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (setsockopt,
+                      "setsockopt() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (shutdown,
+                      "shutdown() used without including <sys/socket.h>");
+#  endif
+# endif
+# if !defined _@GUARD_PREFIX@_SYS_SELECT_H
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef select
+#   define select select_used_without_including_sys_select_h
+#  else
+     _GL_WARN_ON_USE (select,
+                      "select() used without including <sys/select.h>");
+#  endif
+# endif
+#endif
 
 #endif /* _@GUARD_PREFIX@_SYS_TIME_H */
+#endif /* _@GUARD_PREFIX@_SYS_TIME_H */
diff --git a/lib/sys_types.in.h b/lib/sys_types.in.h
new file mode 100644 (file)
index 0000000..d7da356
--- /dev/null
@@ -0,0 +1,51 @@
+/* Provide a more complete sys/types.h.
+
+   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#ifndef _@GUARD_PREFIX@_SYS_TYPES_H
+
+/* The include_next requires a split double-inclusion guard.  */
+#@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@
+
+#ifndef _@GUARD_PREFIX@_SYS_TYPES_H
+#define _@GUARD_PREFIX@_SYS_TYPES_H
+
+/* Override off_t if Large File Support is requested on native Windows.  */
+#if @WINDOWS_64_BIT_OFF_T@
+/* Same as int64_t in <stdint.h>.  */
+# if defined _MSC_VER
+#  define off_t __int64
+# else
+#  define off_t long long int
+# endif
+/* Indicator, for gnulib internal purposes.  */
+# define _GL_WINDOWS_64_BIT_OFF_T 1
+#endif
+
+/* MSVC 9 defines size_t in <stddef.h>, not in <sys/types.h>.  */
+/* But avoid namespace pollution on glibc systems.  */
+#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \
+    && ! defined __GLIBC__
+# include <stddef.h>
+#endif
+
+#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
+#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
index 4166863..bd97d61 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A POSIX-like <sys/wait.h>.
-   Copyright (C) 2001-2003, 2005-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 
 #ifndef _@GUARD_PREFIX@_SYS_WAIT_H
diff --git a/lib/system-quote.c b/lib/system-quote.c
new file mode 100644 (file)
index 0000000..3a13a01
--- /dev/null
@@ -0,0 +1,311 @@
+/* Quoting for a system command.
+   Copyright (C) 2012-2013 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2012.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "system-quote.h"
+
+#include <stdbool.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "sh-quote.h"
+#include "xalloc.h"
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+/* The native Windows CreateProcess() function interprets characters like
+   ' ', '\t', '\\', '"' (but not '<' and '>') in a special way:
+   - Space and tab are interpreted as delimiters. They are not treated as
+     delimiters if they are surrounded by double quotes: "...".
+   - Unescaped double quotes are removed from the input. Their only effect is
+     that within double quotes, space and tab are treated like normal
+     characters.
+   - Backslashes not followed by double quotes are not special.
+   - But 2*n+1 backslashes followed by a double quote become
+     n backslashes followed by a double quote (n >= 0):
+       \" -> "
+       \\\" -> \"
+       \\\\\" -> \\"
+   - '*', '?' characters may get expanded through wildcard expansion in the
+     callee: By default, in the callee, the initialization code before main()
+     takes the result of GetCommandLine(), wildcard-expands it, and passes it
+     to main(). The exceptions to this rule are:
+       - programs that inspect GetCommandLine() and ignore argv,
+       - mingw programs that have a global variable 'int _CRT_glob = 0;',
+       - Cygwin programs, when invoked from a Cygwin program.
+ */
+# define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037*?"
+# define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+
+/* Copies the quoted string to p and returns the number of bytes needed.
+   If p is non-NULL, there must be room for system_quote_length (string)
+   bytes at p.  */
+static size_t
+windows_createprocess_quote (char *p, const char *string)
+{
+  size_t len = strlen (string);
+  bool quote_around =
+    (len == 0 || strpbrk (string, SHELL_SPECIAL_CHARS) != NULL);
+  size_t backslashes = 0;
+  size_t i = 0;
+# define STORE(c) \
+  do                 \
+    {                \
+      if (p != NULL) \
+        p[i] = (c);  \
+      i++;           \
+    }                \
+  while (0)
+
+  if (quote_around)
+    STORE ('"');
+  for (; len > 0; string++, len--)
+    {
+      char c = *string;
+
+      if (c == '"')
+        {
+          size_t j;
+
+          for (j = backslashes + 1; j > 0; j--)
+            STORE ('\\');
+        }
+      STORE (c);
+      if (c == '\\')
+        backslashes++;
+      else
+        backslashes = 0;
+    }
+  if (quote_around)
+    {
+      size_t j;
+
+      for (j = backslashes; j > 0; j--)
+        STORE ('\\');
+      STORE ('"');
+    }
+# undef STORE
+  return i;
+}
+
+/* The native Windows cmd.exe command interpreter also interprets:
+   - '\n', '\r' as a command terminator - no way to escape it,
+   - '<', '>' as redirections,
+   - '|' as pipe operator,
+   - '%var%' as a reference to the environment variable VAR (uppercase),
+     even inside quoted strings,
+   - '&' '[' ']' '{' '}' '^' '=' ';' '!' '\'' '+' ',' '`' '~' for other
+     purposes, according to
+     <http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true>
+   We quote a string like '%var%' by putting the '%' characters outside of
+   double-quotes and the rest of the string inside double-quotes: %"var"%.
+   This is guaranteed to not be a reference to an environment variable.
+ */
+# define CMD_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037!%&'*+,;<=>?[]^`{|}~"
+# define CMD_FORBIDDEN_CHARS "\n\r"
+
+/* Copies the quoted string to p and returns the number of bytes needed.
+   If p is non-NULL, there must be room for system_quote_length (string)
+   bytes at p.  */
+static size_t
+windows_cmd_quote (char *p, const char *string)
+{
+  size_t len = strlen (string);
+  bool quote_around =
+    (len == 0 || strpbrk (string, CMD_SPECIAL_CHARS) != NULL);
+  size_t backslashes = 0;
+  size_t i = 0;
+# define STORE(c) \
+  do                 \
+    {                \
+      if (p != NULL) \
+        p[i] = (c);  \
+      i++;           \
+    }                \
+  while (0)
+
+  if (quote_around)
+    STORE ('"');
+  for (; len > 0; string++, len--)
+    {
+      char c = *string;
+
+      if (c == '"')
+        {
+          size_t j;
+
+          for (j = backslashes + 1; j > 0; j--)
+            STORE ('\\');
+        }
+      if (c == '%')
+        {
+          size_t j;
+
+          for (j = backslashes; j > 0; j--)
+            STORE ('\\');
+          STORE ('"');
+        }
+      STORE (c);
+      if (c == '%')
+        STORE ('"');
+      if (c == '\\')
+        backslashes++;
+      else
+        backslashes = 0;
+    }
+  if (quote_around)
+    {
+      size_t j;
+
+      for (j = backslashes; j > 0; j--)
+        STORE ('\\');
+      STORE ('"');
+    }
+  return i;
+}
+
+#endif
+
+size_t
+system_quote_length (enum system_command_interpreter interpreter,
+                     const char *string)
+{
+  switch (interpreter)
+    {
+#if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+    case SCI_SYSTEM:
+#endif
+    case SCI_POSIX_SH:
+      return shell_quote_length (string);
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+    case SCI_WINDOWS_CREATEPROCESS:
+      return windows_createprocess_quote (NULL, string);
+
+    case SCI_SYSTEM:
+    case SCI_WINDOWS_CMD:
+      return windows_cmd_quote (NULL, string);
+#endif
+
+    default:
+      /* Invalid interpreter.  */
+      abort ();
+    }
+}
+
+char *
+system_quote_copy (char *p,
+                   enum system_command_interpreter interpreter,
+                   const char *string)
+{
+  switch (interpreter)
+    {
+#if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+    case SCI_SYSTEM:
+#endif
+    case SCI_POSIX_SH:
+      return shell_quote_copy (p, string);
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+    case SCI_WINDOWS_CREATEPROCESS:
+      p += windows_createprocess_quote (p, string);
+      *p = '\0';
+      return p;
+
+    case SCI_SYSTEM:
+    case SCI_WINDOWS_CMD:
+      p += windows_cmd_quote (p, string);
+      *p = '\0';
+      return p;
+#endif
+
+    default:
+      /* Invalid interpreter.  */
+      abort ();
+    }
+}
+
+char *
+system_quote (enum system_command_interpreter interpreter,
+              const char *string)
+{
+  switch (interpreter)
+    {
+#if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+    case SCI_SYSTEM:
+#endif
+    case SCI_POSIX_SH:
+      return shell_quote (string);
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+    case SCI_WINDOWS_CREATEPROCESS:
+    case SCI_SYSTEM:
+    case SCI_WINDOWS_CMD:
+      {
+        size_t length = system_quote_length (interpreter, string);
+        char *quoted = XNMALLOC (length, char);
+        system_quote_copy (quoted, interpreter, string);
+        return quoted;
+      }
+#endif
+
+    default:
+      /* Invalid interpreter.  */
+      abort ();
+    }
+}
+
+char *
+system_quote_argv (enum system_command_interpreter interpreter,
+                   char * const *argv)
+{
+  if (*argv != NULL)
+    {
+      char * const *argp;
+      size_t length;
+      char *command;
+      char *p;
+
+      length = 0;
+      for (argp = argv; ; )
+        {
+          length += system_quote_length (interpreter, *argp) + 1;
+          argp++;
+          if (*argp == NULL)
+            break;
+        }
+
+      command = XNMALLOC (length, char);
+
+      p = command;
+      for (argp = argv; ; )
+        {
+          p = system_quote_copy (p, interpreter, *argp);
+          argp++;
+          if (*argp == NULL)
+            break;
+          *p++ = ' ';
+        }
+      *p = '\0';
+
+      return command;
+    }
+  else
+    return xstrdup ("");
+}
diff --git a/lib/system-quote.h b/lib/system-quote.h
new file mode 100644 (file)
index 0000000..840bdf8
--- /dev/null
@@ -0,0 +1,99 @@
+/* Quoting for a system command.
+   Copyright (C) 2001-2013 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2012.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYSTEM_QUOTE_H
+#define _SYSTEM_QUOTE_H
+
+/* When passing a command the system's command interpreter, we must quote the
+   program name and arguments, since
+     - Unix shells interpret characters like " ", "'", "<", ">", "$", '*', '?'
+       etc. in a special way,
+     - Windows CreateProcess() interprets characters like ' ', '\t', '\\', '"'
+       etc. (but not '<' and '>') in a special way,
+     - Windows cmd.exe also interprets characters like '<', '>', '&', '%', etc.
+       in a special way.  Note that it is impossible to pass arguments that
+       contain newlines or carriage return characters to programs through
+       cmd.exe.
+     - Windows programs usually perform wildcard expansion when they receive
+       arguments that contain unquoted '*', '?' characters.
+
+  With this module, you can build a command that will invoke a program with
+  specific strings as arguments.
+
+  Note: If you want wildcard expansion to happen, you have to first do wildcard
+  expansion through the 'glob' module, then quote the resulting strings through
+  this module, and then invoke the system's command interpreter.
+
+  Limitations:
+    - When invoking native Windows programs on Windows Vista or newer,
+      wildcard expansion will occur in the invoked program nevertheless.
+    - On native Windows, for SCI_SYSTEM and SCI_WINDOWS_CMD, newlines and
+      carriage return characters are not supported.  Their undesired effect
+      is to truncate the entire command line.
+ */
+
+#include <stddef.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Identifier for the kind of interpreter of the command.  */
+enum system_command_interpreter
+{
+  /* The interpreter used by the system() and popen() functions.
+     This is equivalent to SCI_POSIX_SH on Unix platforms and
+     SCI_WINDOWS_CMD on native Windows platforms.  */
+  SCI_SYSTEM                    = 0
+  /* The POSIX /bin/sh.  */
+  , SCI_POSIX_SH                = 1
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+  /* The native Windows CreateProcess() function.  */
+  , SCI_WINDOWS_CREATEPROCESS   = 2
+  /* The native Windows cmd.exe interpreter.  */
+  , SCI_WINDOWS_CMD             = 3
+#endif
+};
+
+/* Returns the number of bytes needed for the quoted string.  */
+extern size_t
+       system_quote_length (enum system_command_interpreter interpreter,
+                            const char *string);
+
+/* Copies the quoted string to p and returns the incremented p.
+   There must be room for system_quote_length (string) + 1 bytes at p.  */
+extern char *
+       system_quote_copy (char *p,
+                          enum system_command_interpreter interpreter,
+                          const char *string);
+
+/* Returns the freshly allocated quoted string.  */
+extern char *
+       system_quote (enum system_command_interpreter interpreter,
+                     const char *string);
+
+/* Returns a freshly allocated string containing all argument strings, quoted,
+   separated through spaces.  */
+extern char *
+       system_quote_argv (enum system_command_interpreter interpreter,
+                          char * const *argv);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SYSTEM_QUOTE_H */
index 139e0c3..087b79b 100644 (file)
@@ -1,6 +1,6 @@
 /* tempname.c - generate the name of a temporary file.
 
-   Copyright (C) 1991-2003, 2005-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1991-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 # define __gettimeofday gettimeofday
 # define __mkdir mkdir
 # define __open open
-# define __open64 open
 # define __lxstat64(version, file, buf) lstat (file, buf)
-# define __xstat64(version, file, buf) stat (file, buf)
-#endif
-
-#if ! (HAVE___SECURE_GETENV || _LIBC)
-# define __secure_getenv getenv
+# define __secure_getenv secure_getenv
 #endif
 
 #ifdef _LIBC
@@ -209,7 +204,7 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
   /* A lower bound on the number of temporary files to attempt to
      generate.  The maximum total number of temporary file names that
      can exist for a given template is 62**6.  It should never be
-     necessary to try all these combinations.  Instead if a reasonable
+     necessary to try all of these combinations.  Instead if a reasonable
      number of names is tried (we define reasonable as 62**3) fail to
      give the system administrator the chance to remove the problems.  */
 #define ATTEMPTS_MIN (62 * 62 * 62)
index f27b9ba..333267d 100644 (file)
@@ -1,6 +1,6 @@
 /* Create a temporary file or directory.
 
-   Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index c7625e5..8ced794 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A more-standard <time.h>.
 
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
index ad0a408..9866299 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Reentrant time functions like localtime_r.
 
-   Copyright (C) 2003, 2006-2007, 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2010-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* Written by Paul Eggert.  */
 
diff --git a/lib/timespec.c b/lib/timespec.c
new file mode 100644 (file)
index 0000000..2b6098e
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+#define _GL_TIMESPEC_INLINE _GL_EXTERN_INLINE
+#include "timespec.h"
index acf815c..d665e6c 100644 (file)
@@ -1,6 +1,6 @@
 /* timespec -- System time interface
 
-   Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2011 Free Software
+   Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
 
 # include <time.h>
 
+_GL_INLINE_HEADER_BEGIN
+#ifndef _GL_TIMESPEC_INLINE
+# define _GL_TIMESPEC_INLINE _GL_INLINE
+#endif
+
 /* Return negative, zero, positive if A < B, A == B, A > B, respectively.
 
    For each time stamp T, this code assumes that either:
@@ -49,7 +54,7 @@
 
    The (int) cast avoids a gcc -Wconversion warning.  */
 
-static inline int
+_GL_TIMESPEC_INLINE int
 timespec_cmp (struct timespec a, struct timespec b)
 {
   return (a.tv_sec < b.tv_sec ? -1
@@ -59,18 +64,21 @@ timespec_cmp (struct timespec a, struct timespec b)
 
 /* Return -1, 0, 1, depending on the sign of A.  A.tv_nsec must be
    nonnegative.  */
-static inline int
+_GL_TIMESPEC_INLINE int
 timespec_sign (struct timespec a)
 {
   return a.tv_sec < 0 ? -1 : a.tv_sec || a.tv_nsec;
 }
 
-struct timespec timespec_add (struct timespec, struct timespec);
-struct timespec timespec_sub (struct timespec, struct timespec);
-struct timespec dtotimespec (double);
+struct timespec timespec_add (struct timespec, struct timespec)
+  _GL_ATTRIBUTE_CONST;
+struct timespec timespec_sub (struct timespec, struct timespec)
+  _GL_ATTRIBUTE_CONST;
+struct timespec dtotimespec (double)
+  _GL_ATTRIBUTE_CONST;
 
 /* Return an approximation to A, of type 'double'.  */
-static inline double
+_GL_TIMESPEC_INLINE double
 timespectod (struct timespec a)
 {
   return a.tv_sec + a.tv_nsec / 1e9;
@@ -79,4 +87,6 @@ timespectod (struct timespec a)
 void gettime (struct timespec *);
 int settime (struct timespec const *);
 
+_GL_INLINE_HEADER_END
+
 #endif
index 155063e..9581f51 100644 (file)
@@ -1,5 +1,5 @@
 /* Removes leading and/or trailing whitespaces
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -30,7 +30,7 @@
 #include "mbiter.h"
 #include "xalloc.h"
 
-/* Use this to suppress gcc's `...may be used before initialized' warnings. */
+/* Use this to suppress gcc's "...may be used before initialized" warnings. */
 #ifdef lint
 # define IF_LINT(Code) Code
 #else
index 0bbb2ff..ab0caa1 100644 (file)
@@ -1,5 +1,5 @@
 /* Removes leading and/or trailing whitespaces
-   Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/lib/unistd.c b/lib/unistd.c
new file mode 100644 (file)
index 0000000..6c6a8e2
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+#define _GL_UNISTD_INLINE _GL_EXTERN_INLINE
+#include "unistd.h"
index 29910ac..2ea9af4 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Substitute for and wrapper around <unistd.h>.
-   Copyright (C) 2003-2011 Free Software Foundation, Inc.
+   Copyright (C) 2003-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _@GUARD_PREFIX@_UNISTD_H
 
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 @PRAGMA_COLUMNS@
 
-/* Special invocation convention:
-   - On mingw, several headers, including <winsock2.h>, include <unistd.h>,
-     but we need to ensure that both the system <unistd.h> and <winsock2.h>
-     are completely included before we replace gethostname.  */
-#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \
-  && !defined _GL_WINSOCK2_H_WITNESS && defined _WINSOCK2_H
-/* <unistd.h> is being indirectly included for the first time from
-   <winsock2.h>; avoid declaring any overrides.  */
-# if @HAVE_UNISTD_H@
-#  @INCLUDE_NEXT@ @NEXT_UNISTD_H@
-# else
-#  error unexpected; report this to bug-gnulib@gnu.org
-# endif
-# define _GL_WINSOCK2_H_WITNESS
-
-/* Normal invocation.  */
-#elif !defined _@GUARD_PREFIX@_UNISTD_H
-
 /* The include_next requires a split double-inclusion guard.  */
 #if @HAVE_UNISTD_H@
 # @INCLUDE_NEXT@ @NEXT_UNISTD_H@
 #endif
 
 /* mingw fails to declare _exit in <unistd.h>.  */
-/* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>.  */
+/* mingw, MSVC, BeOS, Haiku declare environ in <stdlib.h>, not in
+   <unistd.h>.  */
 /* Solaris declares getcwd not only in <unistd.h> but also in <stdlib.h>.  */
+/* OSF Tru64 Unix cannot see gnulib rpl_strtod when system <stdlib.h> is
+   included here.  */
 /* But avoid namespace pollution on glibc systems.  */
-#ifndef __GLIBC__
+#if !defined __GLIBC__ && !defined __osf__
+# define __need_system_stdlib_h
 # include <stdlib.h>
+# undef __need_system_stdlib_h
 #endif
 
-/* mingw declares getcwd in <io.h>, not in <unistd.h>.  */
-#if ((@GNULIB_GETCWD@ || defined GNULIB_POSIXCHECK) \
+/* Native Windows platforms declare chdir, getcwd, rmdir in
+   <io.h> and/or <direct.h>, not in <unistd.h>.
+   They also declare access(), chmod(), close(), dup(), dup2(), isatty(),
+   lseek(), read(), unlink(), write() in <io.h>.  */
+#if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \
+      || defined GNULIB_POSIXCHECK) \
      && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
 # include <io.h>     /* mingw32, mingw64 */
-# include <direct.h> /* mingw64 */
+# include <direct.h> /* mingw64, MSVC 9 */
+#elif (@GNULIB_CLOSE@ || @GNULIB_DUP@ || @GNULIB_DUP2@ || @GNULIB_ISATTY@ \
+       || @GNULIB_LSEEK@ || @GNULIB_READ@ || @GNULIB_UNLINK@ || @GNULIB_WRITE@ \
+       || defined GNULIB_POSIXCHECK) \
+      && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+# include <io.h>
 #endif
 
 /* AIX and OSF/1 5.1 declare getdomainname in <netdb.h>, not in <unistd.h>.
 # include <netdb.h>
 #endif
 
+/* MSVC defines off_t in <sys/types.h>.
+   May also define off_t to a 64-bit type on native Windows.  */
+#if !@HAVE_UNISTD_H@ || @WINDOWS_64_BIT_OFF_T@
+/* Get off_t.  */
+# include <sys/types.h>
+#endif
+
 #if (@GNULIB_READ@ || @GNULIB_WRITE@ \
      || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \
      || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK)
 /* Get getopt(), optarg, optind, opterr, optopt.
    But avoid namespace pollution on glibc systems.  */
 #if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT
+# define __need_getopt
 # include <getopt.h>
 #endif
 
+_GL_INLINE_HEADER_BEGIN
+#ifndef _GL_UNISTD_INLINE
+# define _GL_UNISTD_INLINE _GL_INLINE
+#endif
+
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
 /* The definition of _GL_ARG_NONNULL is copied here.  */
@@ -226,12 +234,24 @@ _GL_WARN_ON_USE (access, "the access function is a security risk - "
 #endif
 
 
+#if @GNULIB_CHDIR@
+_GL_CXXALIAS_SYS (chdir, int, (const char *file) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIASWARN (chdir);
+#elif defined GNULIB_POSIXCHECK
+# undef chdir
+# if HAVE_RAW_DECL_CHDIR
+_GL_WARN_ON_USE (chown, "chdir is not always in <unistd.h> - "
+                 "use gnulib module chdir for portability");
+# endif
+#endif
+
+
 #if @GNULIB_CHOWN@
 /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
    to GID (if GID is not -1).  Follow symbolic links.
    Return 0 if successful, otherwise -1 and errno set.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/chown.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/chown.html.  */
 # if @REPLACE_CHOWN@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef chown
@@ -282,24 +302,32 @@ _GL_WARN_ON_USE (close, "close does not portably work on sockets - "
 #endif
 
 
-#if @REPLACE_DUP@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  define dup rpl_dup
-# endif
+#if @GNULIB_DUP@
+# if @REPLACE_DUP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define dup rpl_dup
+#  endif
 _GL_FUNCDECL_RPL (dup, int, (int oldfd));
 _GL_CXXALIAS_RPL (dup, int, (int oldfd));
-#else
+# else
 _GL_CXXALIAS_SYS (dup, int, (int oldfd));
-#endif
+# endif
 _GL_CXXALIASWARN (dup);
+#elif defined GNULIB_POSIXCHECK
+# undef dup
+# if HAVE_RAW_DECL_DUP
+_GL_WARN_ON_USE (dup, "dup is unportable - "
+                 "use gnulib module dup for portability");
+# endif
+#endif
 
 
 #if @GNULIB_DUP2@
 /* Copy the file descriptor OLDFD into file descriptor NEWFD.  Do nothing if
    NEWFD = OLDFD, otherwise close NEWFD first if it is open.
    Return newfd if successful, otherwise -1 and errno set.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/dup2.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/dup2.html>.  */
 # if @REPLACE_DUP2@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define dup2 rpl_dup2
@@ -370,7 +398,7 @@ extern char **environ;
 # endif
 #elif defined GNULIB_POSIXCHECK
 # if HAVE_RAW_DECL_ENVIRON
-static inline char ***
+_GL_UNISTD_INLINE char ***
 rpl_environ (void)
 {
   return &environ;
@@ -428,8 +456,8 @@ _GL_WARN_ON_USE (faccessat, "faccessat is not portable - "
 /* Change the process' current working directory to the directory on which
    the given file descriptor is open.
    Return 0 if successful, otherwise -1 and errno set.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/fchdir.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fchdir.html>.  */
 # if ! @HAVE_FCHDIR@
 _GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
 
@@ -486,11 +514,30 @@ _GL_WARN_ON_USE (fchownat, "fchownat is not portable - "
 #endif
 
 
-#if @GNULIB_FSYNC@
+#if @GNULIB_FDATASYNC@
 /* Synchronize changes to a file.
    Return 0 if successful, otherwise -1 and errno set.
-   See POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/fsync.html>.  */
+   See POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html>.  */
+# if !@HAVE_FDATASYNC@ || !@HAVE_DECL_FDATASYNC@
+_GL_FUNCDECL_SYS (fdatasync, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (fdatasync, int, (int fd));
+_GL_CXXALIASWARN (fdatasync);
+#elif defined GNULIB_POSIXCHECK
+# undef fdatasync
+# if HAVE_RAW_DECL_FDATASYNC
+_GL_WARN_ON_USE (fdatasync, "fdatasync is unportable - "
+                 "use gnulib module fdatasync for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FSYNC@
+/* Synchronize changes, including metadata, to a file.
+   Return 0 if successful, otherwise -1 and errno set.
+   See POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fsync.html>.  */
 # if !@HAVE_FSYNC@
 _GL_FUNCDECL_SYS (fsync, int, (int fd));
 # endif
@@ -508,12 +555,21 @@ _GL_WARN_ON_USE (fsync, "fsync is unportable - "
 #if @GNULIB_FTRUNCATE@
 /* Change the size of the file to which FD is opened to become equal to LENGTH.
    Return 0 if successful, otherwise -1 and errno set.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/ftruncate.html>.  */
-# if !@HAVE_FTRUNCATE@
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html>.  */
+# if @REPLACE_FTRUNCATE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef ftruncate
+#   define ftruncate rpl_ftruncate
+#  endif
+_GL_FUNCDECL_RPL (ftruncate, int, (int fd, off_t length));
+_GL_CXXALIAS_RPL (ftruncate, int, (int fd, off_t length));
+# else
+#  if !@HAVE_FTRUNCATE@
 _GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (ftruncate, int, (int fd, off_t length));
+# endif
 _GL_CXXALIASWARN (ftruncate);
 #elif defined GNULIB_POSIXCHECK
 # undef ftruncate
@@ -529,8 +585,8 @@ _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - "
    of BUF.
    Return BUF if successful, or NULL if the directory couldn't be determined
    or SIZE was too small.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/getcwd.html>.
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html>.
    Additionally, the gnulib module 'getcwd' guarantees the following GNU
    extension: If BUF is NULL, an array is allocated with 'malloc'; the array
    is SIZE bytes long, unless SIZE == 0, in which case it is as big as
@@ -800,7 +856,7 @@ _GL_CXXALIAS_RPL (getpagesize, int, (void));
 #     define getpagesize() _gl_getpagesize ()
 #    else
 #     if !GNULIB_defined_getpagesize_function
-static inline int
+_GL_UNISTD_INLINE int
 getpagesize ()
 {
   return _gl_getpagesize ();
@@ -889,12 +945,33 @@ _GL_WARN_ON_USE (group_member, "group_member is unportable - "
 #endif
 
 
+#if @GNULIB_ISATTY@
+# if @REPLACE_ISATTY@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef isatty
+#   define isatty rpl_isatty
+#  endif
+_GL_FUNCDECL_RPL (isatty, int, (int fd));
+_GL_CXXALIAS_RPL (isatty, int, (int fd));
+# else
+_GL_CXXALIAS_SYS (isatty, int, (int fd));
+# endif
+_GL_CXXALIASWARN (isatty);
+#elif defined GNULIB_POSIXCHECK
+# undef isatty
+# if HAVE_RAW_DECL_ISATTY
+_GL_WARN_ON_USE (isatty, "isatty has portability problems on native Windows - "
+                 "use gnulib module isatty for portability");
+# endif
+#endif
+
+
 #if @GNULIB_LCHOWN@
 /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
    to GID (if GID is not -1).  Do not follow symbolic links.
    Return 0 if successful, otherwise -1 and errno set.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/lchown.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lchown.html>.  */
 # if @REPLACE_LCHOWN@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef lchown
@@ -923,8 +1000,8 @@ _GL_WARN_ON_USE (lchown, "lchown is unportable to pre-POSIX.1-2001 systems - "
 #if @GNULIB_LINK@
 /* Create a new hard link for an existing file.
    Return 0 if successful, otherwise -1 and errno set.
-   See POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/link.html>.  */
+   See POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html>.  */
 # if @REPLACE_LINK@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define link rpl_link
@@ -989,8 +1066,8 @@ _GL_WARN_ON_USE (linkat, "linkat is unportable - "
 #if @GNULIB_LSEEK@
 /* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END.
    Return the new offset if successful, otherwise -1 and errno set.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/lseek.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lseek.html>.  */
 # if @REPLACE_LSEEK@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define lseek rpl_lseek
@@ -1060,8 +1137,9 @@ _GL_WARN_ON_USE (pipe2, "pipe2 is unportable - "
 #if @GNULIB_PREAD@
 /* Read at most BUFSIZE bytes from FD into BUF, starting at OFFSET.
    Return the number of bytes placed into BUF if successful, otherwise
-   set errno and return -1.  0 indicates EOF.  See the POSIX:2001
-   specification <http://www.opengroup.org/susv3xsh/pread.html>.  */
+   set errno and return -1.  0 indicates EOF.
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pread.html>.  */
 # if @REPLACE_PREAD@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef pread
@@ -1095,8 +1173,8 @@ _GL_WARN_ON_USE (pread, "pread is unportable - "
 /* Write at most BUFSIZE bytes from BUF into FD, starting at OFFSET.
    Return the number of bytes written if successful, otherwise
    set errno and return -1.  0 indicates nothing written.  See the
-   POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/pwrite.html>.  */
+   POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pwrite.html>.  */
 # if @REPLACE_PWRITE@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef pwrite
@@ -1128,9 +1206,9 @@ _GL_WARN_ON_USE (pwrite, "pwrite is unportable - "
 
 #if @GNULIB_READ@
 /* Read up to COUNT bytes from file descriptor FD into the buffer starting
-   at BUF.  See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/read.html>.  */
-# if @REPLACE_READ@ && @GNULIB_UNISTD_H_NONBLOCKING@
+   at BUF.  See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/read.html>.  */
+# if @REPLACE_READ@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef read
 #   define read rpl_read
@@ -1152,8 +1230,8 @@ _GL_CXXALIASWARN (read);
 /* Read the contents of the symbolic link FILE and place the first BUFSIZE
    bytes of it into BUF.  Return the number of bytes placed into BUF if
    successful, otherwise -1 and errno set.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/readlink.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html>.  */
 # if @REPLACE_READLINK@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define readlink rpl_readlink
@@ -1221,11 +1299,38 @@ _GL_WARN_ON_USE (rmdir, "rmdir is unportable - "
 #endif
 
 
+#if @GNULIB_SETHOSTNAME@
+/* Set the host name of the machine.
+   The host name may or may not be fully qualified.
+
+   Put LEN bytes of NAME into the host name.
+   Return 0 if successful, otherwise, set errno and return -1.
+
+   Platforms with no ability to set the hostname return -1 and set
+   errno = ENOSYS.  */
+# if !@HAVE_SETHOSTNAME@ || !@HAVE_DECL_SETHOSTNAME@
+_GL_FUNCDECL_SYS (sethostname, int, (const char *name, size_t len)
+                                    _GL_ARG_NONNULL ((1)));
+# endif
+/* Need to cast, because on Solaris 11 2011-10, Mac OS X 10.5, IRIX 6.5
+   and FreeBSD 6.4 the second parameter is int.  On Solaris 11
+   2011-10, the first parameter is not const.  */
+_GL_CXXALIAS_SYS_CAST (sethostname, int, (const char *name, size_t len));
+_GL_CXXALIASWARN (sethostname);
+#elif defined GNULIB_POSIXCHECK
+# undef sethostname
+# if HAVE_RAW_DECL_SETHOSTNAME
+_GL_WARN_ON_USE (sethostname, "sethostname is unportable - "
+                 "use gnulib module sethostname for portability");
+# endif
+#endif
+
+
 #if @GNULIB_SLEEP@
 /* Pause the execution of the current thread for N seconds.
    Returns the number of seconds left to sleep.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/sleep.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/sleep.html>.  */
 # if @REPLACE_SLEEP@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef sleep
@@ -1374,7 +1479,7 @@ _GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - "
 /* Pause the execution of the current thread for N microseconds.
    Returns 0 on completion, or -1 on range error.
    See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/sleep.html>.  */
+   <http://www.opengroup.org/susv3xsh/usleep.html>.  */
 # if @REPLACE_USLEEP@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef usleep
@@ -1400,9 +1505,9 @@ _GL_WARN_ON_USE (usleep, "usleep is unportable - "
 
 #if @GNULIB_WRITE@
 /* Write up to COUNT bytes starting at BUF to file descriptor FD.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/write.html>.  */
-# if @REPLACE_WRITE@ && (@GNULIB_UNISTD_H_NONBLOCKING@ || @GNULIB_UNISTD_H_SIGPIPE@)
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/write.html>.  */
+# if @REPLACE_WRITE@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef write
 #   define write rpl_write
@@ -1419,6 +1524,7 @@ _GL_CXXALIAS_SYS_CAST (write, ssize_t, (int fd, const void *buf, size_t count));
 _GL_CXXALIASWARN (write);
 #endif
 
+_GL_INLINE_HEADER_END
 
 #endif /* _@GUARD_PREFIX@_UNISTD_H */
 #endif /* _@GUARD_PREFIX@_UNISTD_H */
index 2c2df4e..980b4bb 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Elementary Unicode string functions.
-   Copyright (C) 2001-2002, 2005-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2005-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
@@ -68,17 +66,20 @@ extern "C" {
 /* Check whether an UTF-8 string is well-formed.
    Return NULL if valid, or a pointer to the first invalid unit otherwise.  */
 extern const uint8_t *
-       u8_check (const uint8_t *s, size_t n);
+       u8_check (const uint8_t *s, size_t n)
+       _UC_ATTRIBUTE_PURE;
 
 /* Check whether an UTF-16 string is well-formed.
    Return NULL if valid, or a pointer to the first invalid unit otherwise.  */
 extern const uint16_t *
-       u16_check (const uint16_t *s, size_t n);
+       u16_check (const uint16_t *s, size_t n)
+       _UC_ATTRIBUTE_PURE;
 
 /* Check whether an UCS-4 string is well-formed.
    Return NULL if valid, or a pointer to the first invalid unit otherwise.  */
 extern const uint32_t *
-       u32_check (const uint32_t *s, size_t n);
+       u32_check (const uint32_t *s, size_t n)
+       _UC_ATTRIBUTE_PURE;
 
 
 /* Elementary string conversions.  */
@@ -121,11 +122,14 @@ extern uint16_t *
    failure.  */
 /* Similar to mblen(), except that s must not be NULL.  */
 extern int
-       u8_mblen (const uint8_t *s, size_t n);
+       u8_mblen (const uint8_t *s, size_t n)
+       _UC_ATTRIBUTE_PURE;
 extern int
-       u16_mblen (const uint16_t *s, size_t n);
+       u16_mblen (const uint16_t *s, size_t n)
+       _UC_ATTRIBUTE_PURE;
 extern int
-       u32_mblen (const uint32_t *s, size_t n);
+       u32_mblen (const uint32_t *s, size_t n)
+       _UC_ATTRIBUTE_PURE;
 
 /* Return the length (number of units) of the first character in S, putting
    its 'ucs4_t' representation in *PUC.  Upon failure, *PUC is set to 0xfffd,
@@ -402,38 +406,50 @@ extern uint32_t *
 /* Compare S1 and S2, each of length N.  */
 /* Similar to memcmp().  */
 extern int
-       u8_cmp (const uint8_t *s1, const uint8_t *s2, size_t n);
+       u8_cmp (const uint8_t *s1, const uint8_t *s2, size_t n)
+       _UC_ATTRIBUTE_PURE;
 extern int
-       u16_cmp (const uint16_t *s1, const uint16_t *s2, size_t n);
+       u16_cmp (const uint16_t *s1, const uint16_t *s2, size_t n)
+       _UC_ATTRIBUTE_PURE;
 extern int
-       u32_cmp (const uint32_t *s1, const uint32_t *s2, size_t n);
+       u32_cmp (const uint32_t *s1, const uint32_t *s2, size_t n)
+       _UC_ATTRIBUTE_PURE;
 
 /* Compare S1 and S2.  */
 /* Similar to the gnulib function memcmp2().  */
 extern int
-       u8_cmp2 (const uint8_t *s1, size_t n1, const uint8_t *s2, size_t n2);
+       u8_cmp2 (const uint8_t *s1, size_t n1, const uint8_t *s2, size_t n2)
+       _UC_ATTRIBUTE_PURE;
 extern int
-       u16_cmp2 (const uint16_t *s1, size_t n1, const uint16_t *s2, size_t n2);
+       u16_cmp2 (const uint16_t *s1, size_t n1, const uint16_t *s2, size_t n2)
+       _UC_ATTRIBUTE_PURE;
 extern int
-       u32_cmp2 (const uint32_t *s1, size_t n1, const uint32_t *s2, size_t n2);
+       u32_cmp2 (const uint32_t *s1, size_t n1, const uint32_t *s2, size_t n2)
+       _UC_ATTRIBUTE_PURE;
 
 /* Search the string at S for UC.  */
 /* Similar to memchr().  */
 extern uint8_t *
-       u8_chr (const uint8_t *s, size_t n, ucs4_t uc);
+       u8_chr (const uint8_t *s, size_t n, ucs4_t uc)
+       _UC_ATTRIBUTE_PURE;
 extern uint16_t *
-       u16_chr (const uint16_t *s, size_t n, ucs4_t uc);
+       u16_chr (const uint16_t *s, size_t n, ucs4_t uc)
+       _UC_ATTRIBUTE_PURE;
 extern uint32_t *
-       u32_chr (const uint32_t *s, size_t n, ucs4_t uc);
+       u32_chr (const uint32_t *s, size_t n, ucs4_t uc)
+       _UC_ATTRIBUTE_PURE;
 
 /* Count the number of Unicode characters in the N units from S.  */
 /* Similar to mbsnlen().  */
 extern size_t
-       u8_mbsnlen (const uint8_t *s, size_t n);
+       u8_mbsnlen (const uint8_t *s, size_t n)
+       _UC_ATTRIBUTE_PURE;
 extern size_t
-       u16_mbsnlen (const uint16_t *s, size_t n);
+       u16_mbsnlen (const uint16_t *s, size_t n)
+       _UC_ATTRIBUTE_PURE;
 extern size_t
-       u32_mbsnlen (const uint32_t *s, size_t n);
+       u32_mbsnlen (const uint32_t *s, size_t n)
+       _UC_ATTRIBUTE_PURE;
 
 /* Elementary string functions with memory allocation.  */
 
@@ -450,11 +466,14 @@ extern uint32_t *
 /* Return the length (number of units) of the first character in S.
    Return 0 if it is the NUL character.  Return -1 upon failure.  */
 extern int
-       u8_strmblen (const uint8_t *s);
+       u8_strmblen (const uint8_t *s)
+       _UC_ATTRIBUTE_PURE;
 extern int
-       u16_strmblen (const uint16_t *s);
+       u16_strmblen (const uint16_t *s)
+       _UC_ATTRIBUTE_PURE;
 extern int
-       u32_strmblen (const uint32_t *s);
+       u32_strmblen (const uint32_t *s)
+       _UC_ATTRIBUTE_PURE;
 
 /* Return the length (number of units) of the first character in S, putting
    its 'ucs4_t' representation in *PUC.  Return 0 if it is the NUL
@@ -489,20 +508,26 @@ extern const uint32_t *
 /* Return the number of units in S.  */
 /* Similar to strlen(), wcslen().  */
 extern size_t
-       u8_strlen (const uint8_t *s);
+       u8_strlen (const uint8_t *s)
+       _UC_ATTRIBUTE_PURE;
 extern size_t
-       u16_strlen (const uint16_t *s);
+       u16_strlen (const uint16_t *s)
+       _UC_ATTRIBUTE_PURE;
 extern size_t
-       u32_strlen (const uint32_t *s);
+       u32_strlen (const uint32_t *s)
+       _UC_ATTRIBUTE_PURE;
 
 /* Return the number of units in S, but at most MAXLEN.  */
 /* Similar to strnlen(), wcsnlen().  */
 extern size_t
-       u8_strnlen (const uint8_t *s, size_t maxlen);
+       u8_strnlen (const uint8_t *s, size_t maxlen)
+       _UC_ATTRIBUTE_PURE;
 extern size_t
-       u16_strnlen (const uint16_t *s, size_t maxlen);
+       u16_strnlen (const uint16_t *s, size_t maxlen)
+       _UC_ATTRIBUTE_PURE;
 extern size_t
-       u32_strnlen (const uint32_t *s, size_t maxlen);
+       u32_strnlen (const uint32_t *s, size_t maxlen)
+       _UC_ATTRIBUTE_PURE;
 
 /* Copy SRC to DEST.  */
 /* Similar to strcpy(), wcscpy().  */
@@ -564,16 +589,20 @@ extern uint32_t *
 #ifdef __sun
 /* Avoid a collision with the u8_strcmp() function in Solaris 11 libc.  */
 extern int
-       u8_strcmp_gnu (const uint8_t *s1, const uint8_t *s2);
+       u8_strcmp_gnu (const uint8_t *s1, const uint8_t *s2)
+       _UC_ATTRIBUTE_PURE;
 # define u8_strcmp u8_strcmp_gnu
 #else
 extern int
-       u8_strcmp (const uint8_t *s1, const uint8_t *s2);
+       u8_strcmp (const uint8_t *s1, const uint8_t *s2)
+       _UC_ATTRIBUTE_PURE;
 #endif
 extern int
-       u16_strcmp (const uint16_t *s1, const uint16_t *s2);
+       u16_strcmp (const uint16_t *s1, const uint16_t *s2)
+       _UC_ATTRIBUTE_PURE;
 extern int
-       u32_strcmp (const uint32_t *s1, const uint32_t *s2);
+       u32_strcmp (const uint32_t *s1, const uint32_t *s2)
+       _UC_ATTRIBUTE_PURE;
 
 /* Compare S1 and S2 using the collation rules of the current locale.
    Return -1 if S1 < S2, 0 if S1 = S2, 1 if S1 > S2.
@@ -589,11 +618,14 @@ extern int
 /* Compare no more than N units of S1 and S2.  */
 /* Similar to strncmp(), wcsncmp().  */
 extern int
-       u8_strncmp (const uint8_t *s1, const uint8_t *s2, size_t n);
+       u8_strncmp (const uint8_t *s1, const uint8_t *s2, size_t n)
+       _UC_ATTRIBUTE_PURE;
 extern int
-       u16_strncmp (const uint16_t *s1, const uint16_t *s2, size_t n);
+       u16_strncmp (const uint16_t *s1, const uint16_t *s2, size_t n)
+       _UC_ATTRIBUTE_PURE;
 extern int
-       u32_strncmp (const uint32_t *s1, const uint32_t *s2, size_t n);
+       u32_strncmp (const uint32_t *s1, const uint32_t *s2, size_t n)
+       _UC_ATTRIBUTE_PURE;
 
 /* Duplicate S, returning an identical malloc'd string.  */
 /* Similar to strdup(), wcsdup().  */
@@ -607,74 +639,98 @@ extern uint32_t *
 /* Find the first occurrence of UC in STR.  */
 /* Similar to strchr(), wcschr().  */
 extern uint8_t *
-       u8_strchr (const uint8_t *str, ucs4_t uc);
+       u8_strchr (const uint8_t *str, ucs4_t uc)
+       _UC_ATTRIBUTE_PURE;
 extern uint16_t *
-       u16_strchr (const uint16_t *str, ucs4_t uc);
+       u16_strchr (const uint16_t *str, ucs4_t uc)
+       _UC_ATTRIBUTE_PURE;
 extern uint32_t *
-       u32_strchr (const uint32_t *str, ucs4_t uc);
+       u32_strchr (const uint32_t *str, ucs4_t uc)
+       _UC_ATTRIBUTE_PURE;
 
 /* Find the last occurrence of UC in STR.  */
 /* Similar to strrchr(), wcsrchr().  */
 extern uint8_t *
-       u8_strrchr (const uint8_t *str, ucs4_t uc);
+       u8_strrchr (const uint8_t *str, ucs4_t uc)
+       _UC_ATTRIBUTE_PURE;
 extern uint16_t *
-       u16_strrchr (const uint16_t *str, ucs4_t uc);
+       u16_strrchr (const uint16_t *str, ucs4_t uc)
+       _UC_ATTRIBUTE_PURE;
 extern uint32_t *
-       u32_strrchr (const uint32_t *str, ucs4_t uc);
+       u32_strrchr (const uint32_t *str, ucs4_t uc)
+       _UC_ATTRIBUTE_PURE;
 
 /* Return the length of the initial segment of STR which consists entirely
    of Unicode characters not in REJECT.  */
 /* Similar to strcspn(), wcscspn().  */
 extern size_t
-       u8_strcspn (const uint8_t *str, const uint8_t *reject);
+       u8_strcspn (const uint8_t *str, const uint8_t *reject)
+       _UC_ATTRIBUTE_PURE;
 extern size_t
-       u16_strcspn (const uint16_t *str, const uint16_t *reject);
+       u16_strcspn (const uint16_t *str, const uint16_t *reject)
+       _UC_ATTRIBUTE_PURE;
 extern size_t
-       u32_strcspn (const uint32_t *str, const uint32_t *reject);
+       u32_strcspn (const uint32_t *str, const uint32_t *reject)
+       _UC_ATTRIBUTE_PURE;
 
 /* Return the length of the initial segment of STR which consists entirely
    of Unicode characters in ACCEPT.  */
 /* Similar to strspn(), wcsspn().  */
 extern size_t
-       u8_strspn (const uint8_t *str, const uint8_t *accept);
+       u8_strspn (const uint8_t *str, const uint8_t *accept)
+       _UC_ATTRIBUTE_PURE;
 extern size_t
-       u16_strspn (const uint16_t *str, const uint16_t *accept);
+       u16_strspn (const uint16_t *str, const uint16_t *accept)
+       _UC_ATTRIBUTE_PURE;
 extern size_t
-       u32_strspn (const uint32_t *str, const uint32_t *accept);
+       u32_strspn (const uint32_t *str, const uint32_t *accept)
+       _UC_ATTRIBUTE_PURE;
 
 /* Find the first occurrence in STR of any character in ACCEPT.  */
 /* Similar to strpbrk(), wcspbrk().  */
 extern uint8_t *
-       u8_strpbrk (const uint8_t *str, const uint8_t *accept);
+       u8_strpbrk (const uint8_t *str, const uint8_t *accept)
+       _UC_ATTRIBUTE_PURE;
 extern uint16_t *
-       u16_strpbrk (const uint16_t *str, const uint16_t *accept);
+       u16_strpbrk (const uint16_t *str, const uint16_t *accept)
+       _UC_ATTRIBUTE_PURE;
 extern uint32_t *
-       u32_strpbrk (const uint32_t *str, const uint32_t *accept);
+       u32_strpbrk (const uint32_t *str, const uint32_t *accept)
+       _UC_ATTRIBUTE_PURE;
 
 /* Find the first occurrence of NEEDLE in HAYSTACK.  */
 /* Similar to strstr(), wcsstr().  */
 extern uint8_t *
-       u8_strstr (const uint8_t *haystack, const uint8_t *needle);
+       u8_strstr (const uint8_t *haystack, const uint8_t *needle)
+       _UC_ATTRIBUTE_PURE;
 extern uint16_t *
-       u16_strstr (const uint16_t *haystack, const uint16_t *needle);
+       u16_strstr (const uint16_t *haystack, const uint16_t *needle)
+       _UC_ATTRIBUTE_PURE;
 extern uint32_t *
-       u32_strstr (const uint32_t *haystack, const uint32_t *needle);
+       u32_strstr (const uint32_t *haystack, const uint32_t *needle)
+       _UC_ATTRIBUTE_PURE;
 
 /* Test whether STR starts with PREFIX.  */
 extern bool
-       u8_startswith (const uint8_t *str, const uint8_t *prefix);
+       u8_startswith (const uint8_t *str, const uint8_t *prefix)
+       _UC_ATTRIBUTE_PURE;
 extern bool
-       u16_startswith (const uint16_t *str, const uint16_t *prefix);
+       u16_startswith (const uint16_t *str, const uint16_t *prefix)
+       _UC_ATTRIBUTE_PURE;
 extern bool
-       u32_startswith (const uint32_t *str, const uint32_t *prefix);
+       u32_startswith (const uint32_t *str, const uint32_t *prefix)
+       _UC_ATTRIBUTE_PURE;
 
 /* Test whether STR ends with SUFFIX.  */
 extern bool
-       u8_endswith (const uint8_t *str, const uint8_t *suffix);
+       u8_endswith (const uint8_t *str, const uint8_t *suffix)
+       _UC_ATTRIBUTE_PURE;
 extern bool
-       u16_endswith (const uint16_t *str, const uint16_t *suffix);
+       u16_endswith (const uint16_t *str, const uint16_t *suffix)
+       _UC_ATTRIBUTE_PURE;
 extern bool
-       u32_endswith (const uint32_t *str, const uint32_t *suffix);
+       u32_endswith (const uint32_t *str, const uint32_t *suffix)
+       _UC_ATTRIBUTE_PURE;
 
 /* Divide STR into tokens separated by characters in DELIM.
    This interface is actually more similar to wcstok than to strtok.  */
index 794dfc3..72cab8d 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Look at first character in UTF-8 string, returning an error code.
-   Copyright (C) 1999-2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2002, 2006-2007, 2009-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2001.
 
    This program is free software: you can redistribute it and/or modify it
index 206487c..47c2e88 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Conversion UCS-4 to UTF-8.
-   Copyright (C) 2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2006-2007, 2009-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2002.
 
    This program is free software: you can redistribute it and/or modify it
index 8aa1849..1932a2b 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Store a character in UTF-8 string.
-   Copyright (C) 2002, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2002.
 
    This program is free software: you can redistribute it and/or modify it
index f1db9d9..06eef05 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Elementary types for the GNU UniString library.
-   Copyright (C) 2002, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+/* Elementary types and macros for the GNU UniString library.
+   Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
 /* Type representing a Unicode character.  */
 typedef uint32_t ucs4_t;
 
+/* Attribute of a function whose result depends only on the arguments
+   (not pointers!) and which has no side effects.  */
+#ifndef _UC_ATTRIBUTE_CONST
+# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
+#  define _UC_ATTRIBUTE_CONST __attribute__ ((__const__))
+# else
+#  define _UC_ATTRIBUTE_CONST
+# endif
+#endif
+
+/* Attribute of a function whose result depends only on the arguments
+   (possibly pointers) and global memory, and which has no side effects.  */
+#ifndef _UC_ATTRIBUTE_PURE
+# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+#  define _UC_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+#  define _UC_ATTRIBUTE_PURE
+# endif
+#endif
+
 #endif /* _UNITYPES_H */
index 1a01e2c..8931cc9 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Display width functions.
-   Copyright (C) 2001-2002, 2005, 2007, 2009-2011 Free Software Foundation,
+   Copyright (C) 2001-2002, 2005, 2007, 2009-2013 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify it
@@ -40,24 +38,31 @@ extern "C" {
 
 /* Determine number of column positions required for UC.  */
 extern int
-       uc_width (ucs4_t uc, const char *encoding);
+       uc_width (ucs4_t uc, const char *encoding)
+       _UC_ATTRIBUTE_PURE;
 
 /* Determine number of column positions required for first N units
    (or fewer if S ends before this) in S.  */
 extern int
-       u8_width (const uint8_t *s, size_t n, const char *encoding);
+       u8_width (const uint8_t *s, size_t n, const char *encoding)
+       _UC_ATTRIBUTE_PURE;
 extern int
-       u16_width (const uint16_t *s, size_t n, const char *encoding);
+       u16_width (const uint16_t *s, size_t n, const char *encoding)
+       _UC_ATTRIBUTE_PURE;
 extern int
-       u32_width (const uint32_t *s, size_t n, const char *encoding);
+       u32_width (const uint32_t *s, size_t n, const char *encoding)
+       _UC_ATTRIBUTE_PURE;
 
 /* Determine number of column positions required for S.  */
 extern int
-       u8_strwidth (const uint8_t *s, const char *encoding);
+       u8_strwidth (const uint8_t *s, const char *encoding)
+       _UC_ATTRIBUTE_PURE;
 extern int
-       u16_strwidth (const uint16_t *s, const char *encoding);
+       u16_strwidth (const uint16_t *s, const char *encoding)
+       _UC_ATTRIBUTE_PURE;
 extern int
-       u32_strwidth (const uint32_t *s, const char *encoding);
+       u32_strwidth (const uint32_t *s, const char *encoding)
+       _UC_ATTRIBUTE_PURE;
 
 
 #ifdef __cplusplus
index 5f7b3b3..11b14df 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test for CJK encoding.
-   Copyright (C) 2001-2002, 2005-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2005-2007, 2009-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2002.
 
    This program is free software: you can redistribute it and/or modify it
@@ -24,16 +22,16 @@ is_cjk_encoding (const char *encoding)
 {
   if (0
       /* Legacy Japanese encodings */
-      || STREQ (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0)
+      || STREQ_OPT (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0)
       /* Legacy Chinese encodings */
-      || STREQ (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0)
-      || STREQ (encoding, "GBK", 'G', 'B', 'K', 0, 0, 0, 0, 0, 0)
-      || STREQ (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0)
-      || STREQ (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0)
+      || STREQ_OPT (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0)
+      || STREQ_OPT (encoding, "GBK", 'G', 'B', 'K', 0, 0, 0, 0, 0, 0)
+      || STREQ_OPT (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0)
+      || STREQ_OPT (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0)
       /* Legacy Korean encodings */
-      || STREQ (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0)
-      || STREQ (encoding, "CP949", 'C', 'P', '9', '4', '9', 0, 0, 0, 0)
-      || STREQ (encoding, "JOHAB", 'J', 'O', 'H', 'A', 'B', 0, 0, 0, 0))
+      || STREQ_OPT (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0)
+      || STREQ_OPT (encoding, "CP949", 'C', 'P', '9', '4', '9', 0, 0, 0, 0)
+      || STREQ_OPT (encoding, "JOHAB", 'J', 'O', 'H', 'A', 'B', 0, 0, 0, 0))
     return 1;
   return 0;
 }
index 3fab5ea..173d087 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Determine display width of Unicode character.
-   Copyright (C) 2001-2002, 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2006-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2002.
 
    This program is free software: you can redistribute it and/or modify it
index 901cbdd..df3e139 100644 (file)
@@ -1,6 +1,6 @@
 /* Prefer faster, non-thread-safe stdio functions if available.
 
-   Copyright (C) 2001-2004, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
similarity index 98%
rename from gnulib-tests/vasnprintf.c
rename to lib/vasnprintf.c
index 350e7a9..8fdab32 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* vsprintf with automatic memory allocation.
-   Copyright (C) 1999, 2002-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* This file can be parametrized with the following macros:
      VASNPRINTF         The name of the function being defined.
@@ -278,7 +275,7 @@ decimal_point_char (void)
 {
   const char *point;
   /* Determine it in a multithread-safe way.  We know nl_langinfo is
-     multithread-safe on glibc systems and MacOS X systems, but is not required
+     multithread-safe on glibc systems and Mac OS X systems, but is not required
      to be multithread-safe by POSIX.  sprintf(), however, is multithread-safe.
      localeconv() is rarely multithread-safe.  */
 #  if HAVE_NL_LANGINFO && (__GLIBC__ || defined __UCLIBC__ || (defined __APPLE__ && defined __MACH__))
@@ -555,32 +552,61 @@ divide (mpn_t a, mpn_t b, mpn_t *q)
       size_t s;
       {
         mp_limb_t msd = b_ptr[b_len - 1]; /* = b[n-1], > 0 */
-        s = 31;
-        if (msd >= 0x10000)
-          {
-            msd = msd >> 16;
-            s -= 16;
-          }
-        if (msd >= 0x100)
-          {
-            msd = msd >> 8;
-            s -= 8;
-          }
-        if (msd >= 0x10)
-          {
-            msd = msd >> 4;
-            s -= 4;
-          }
-        if (msd >= 0x4)
+        /* Determine s = GMP_LIMB_BITS - integer_length (msd).
+           Code copied from gnulib's integer_length.c.  */
+# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+        s = __builtin_clz (msd);
+# else
+#  if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
+        if (GMP_LIMB_BITS <= DBL_MANT_BIT)
           {
-            msd = msd >> 2;
-            s -= 2;
+            /* Use 'double' operations.
+               Assumes an IEEE 754 'double' implementation.  */
+#   define DBL_EXP_MASK ((DBL_MAX_EXP - DBL_MIN_EXP) | 7)
+#   define DBL_EXP_BIAS (DBL_EXP_MASK / 2 - 1)
+#   define NWORDS \
+     ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+            union { double value; unsigned int word[NWORDS]; } m;
+
+            /* Use a single integer to floating-point conversion.  */
+            m.value = msd;
+
+            s = GMP_LIMB_BITS
+                - (((m.word[DBL_EXPBIT0_WORD] >> DBL_EXPBIT0_BIT) & DBL_EXP_MASK)
+                   - DBL_EXP_BIAS);
           }
-        if (msd >= 0x2)
+        else
+#   undef NWORDS
+#  endif
           {
-            msd = msd >> 1;
-            s -= 1;
+            s = 31;
+            if (msd >= 0x10000)
+              {
+                msd = msd >> 16;
+                s -= 16;
+              }
+            if (msd >= 0x100)
+              {
+                msd = msd >> 8;
+                s -= 8;
+              }
+            if (msd >= 0x10)
+              {
+                msd = msd >> 4;
+                s -= 4;
+              }
+            if (msd >= 0x4)
+              {
+                msd = msd >> 2;
+                s -= 2;
+              }
+            if (msd >= 0x2)
+              {
+                msd = msd >> 1;
+                s -= 1;
+              }
           }
+# endif
       }
       /* 0 <= s < GMP_LIMB_BITS.
          Copy b, shifting it left by s bits.  */
@@ -887,9 +913,9 @@ decode_long_double (long double x, int *ep, mpn_t *mp)
   y = frexpl (x, &exp);
   if (!(y >= 0.0L && y < 1.0L))
     abort ();
-  /* x = 2^exp * y = 2^(exp - LDBL_MANT_BIT) * (y * LDBL_MANT_BIT), and the
+  /* x = 2^exp * y = 2^(exp - LDBL_MANT_BIT) * (y * 2^LDBL_MANT_BIT), and the
      latter is an integer.  */
-  /* Convert the mantissa (y * LDBL_MANT_BIT) to a sequence of limbs.
+  /* Convert the mantissa (y * 2^LDBL_MANT_BIT) to a sequence of limbs.
      I'm not sure whether it's safe to cast a 'long double' value between
      2^31 and 2^32 to 'unsigned int', therefore play safe and cast only
      'long double' values between 0 and 2^16 (to 'unsigned int' or 'int',
@@ -975,9 +1001,9 @@ decode_double (double x, int *ep, mpn_t *mp)
   y = frexp (x, &exp);
   if (!(y >= 0.0 && y < 1.0))
     abort ();
-  /* x = 2^exp * y = 2^(exp - DBL_MANT_BIT) * (y * DBL_MANT_BIT), and the
+  /* x = 2^exp * y = 2^(exp - DBL_MANT_BIT) * (y * 2^DBL_MANT_BIT), and the
      latter is an integer.  */
-  /* Convert the mantissa (y * DBL_MANT_BIT) to a sequence of limbs.
+  /* Convert the mantissa (y * 2^DBL_MANT_BIT) to a sequence of limbs.
      I'm not sure whether it's safe to cast a 'double' value between
      2^31 and 2^32 to 'unsigned int', therefore play safe and cast only
      'double' values between 0 and 2^16 (to 'unsigned int' or 'int',
@@ -1504,7 +1530,7 @@ is_borderline (const char *digits, size_t precision)
 
 /* Returns the number of TCHAR_T units needed as temporary space for the result
    of sprintf or SNPRINTF of a single conversion directive.  */
-static inline size_t
+static size_t
 MAX_ROOM_NEEDED (const arguments *ap, size_t arg_index, FCHAR_T conversion,
                  arg_type type, int flags, size_t width, int has_precision,
                  size_t precision, int pad_ourselves)
@@ -2787,7 +2813,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                   if (has_width)
                     {
 #  if ENABLE_UNISTDIO
-                      /* Outside POSIX, it's preferrable to compare the width
+                      /* Outside POSIX, it's preferable to compare the width
                          against the number of _characters_ of the converted
                          value.  */
                       w = DCHAR_MBSNLEN (result + length, characters);
@@ -4858,7 +4884,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                    in format strings in writable memory may crash the program
                    (if compiled with _FORTIFY_SOURCE=2), so we should avoid it
                    in this situation.  */
-                /* On native Win32 systems (such as mingw), we can avoid using
+                /* On native Windows systems (such as mingw), we can avoid using
                    %n because:
                      - Although the gl_SNPRINTF_TRUNCATION_C99 test fails,
                        snprintf does not write more than the specified number
@@ -4867,7 +4893,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                      - Although the gl_SNPRINTF_RETVAL_C99 test fails, snprintf
                        allows us to recognize the case of an insufficient
                        buffer size: it returns -1 in this case.
-                   On native Win32 systems (such as mingw) where the OS is
+                   On native Windows systems (such as mingw) where the OS is
                    Windows Vista, the use of %n in format strings by default
                    crashes the program. See
                      <http://gcc.gnu.org/ml/gcc/2007-06/msg00122.html> and
@@ -5390,7 +5416,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                       {
                         size_t w;
 # if ENABLE_UNISTDIO
-                        /* Outside POSIX, it's preferrable to compare the width
+                        /* Outside POSIX, it's preferable to compare the width
                            against the number of _characters_ of the converted
                            value.  */
                         w = DCHAR_MBSNLEN (result + length, count);
similarity index 90%
rename from gnulib-tests/vasnprintf.h
rename to lib/vasnprintf.h
index d6b0497..7658f50 100644 (file)
@@ -1,7 +1,5 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* vsprintf with automatic memory allocation.
-   Copyright (C) 2002-2004, 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002-2004, 2007-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,8 +12,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _VASNPRINTF_H
 #define _VASNPRINTF_H
diff --git a/lib/vasprintf.c b/lib/vasprintf.c
new file mode 100644 (file)
index 0000000..d0d4a11
--- /dev/null
@@ -0,0 +1,50 @@
+/* Formatted output to strings.
+   Copyright (C) 1999, 2002, 2006-2013 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#ifdef IN_LIBASPRINTF
+# include "vasprintf.h"
+#else
+# include <stdio.h>
+#endif
+
+#include <errno.h>
+#include <limits.h>
+#include <stdlib.h>
+
+#include "vasnprintf.h"
+
+int
+vasprintf (char **resultp, const char *format, va_list args)
+{
+  size_t length;
+  char *result = vasnprintf (NULL, &length, format, args);
+  if (result == NULL)
+    return -1;
+
+  if (length > INT_MAX)
+    {
+      free (result);
+      errno = EOVERFLOW;
+      return -1;
+    }
+
+  *resultp = result;
+  /* Return the number of resulting bytes, excluding the trailing NUL.  */
+  return length;
+}
index 9a8caad..cb8e90b 100644 (file)
@@ -1,6 +1,6 @@
 /* Compile-time assert-like macros.
 
-   Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 # define _GL_VERIFY_H
 
 
-/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per the
-   C1X draft N1548 section 6.7.10.  This is supported by GCC 4.6.0 and
-   later, in C mode, and its use here generates easier-to-read diagnostics
-   when verify (R) fails.
+/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11.
+   This is supported by GCC 4.6.0 and later, in C mode, and its use
+   here generates easier-to-read diagnostics when verify (R) fails.
 
-   Define _GL_HAVE_STATIC_ASSERT to 1 if static_assert works as per the
-   C++0X draft N3242 section 7.(4).
+   Define _GL_HAVE_STATIC_ASSERT to 1 if static_assert works as per C++11.
    This will likely be supported by future GCC versions, in C++ mode.
 
    Use this only with GCC.  If we were willing to slow 'configure'
        extern int (*dummy (void)) [sizeof (struct {...})];
 
    * GCC warns about duplicate declarations of the dummy function if
-     -Wredundant_decls is used.  GCC 4.3 and later have a builtin
+     -Wredundant-decls is used.  GCC 4.3 and later have a builtin
      __COUNTER__ macro that can let us generate unique identifiers for
      each dummy function, to suppress this warning.
 
      which do not support _Static_assert, also do not warn about the
      last declaration mentioned above.
 
+   * GCC warns if -Wnested-externs is enabled and verify() is used
+     within a function body; but inside a function, you can always
+     arrange to use verify_expr() instead.
+
    * In C++, any struct definition inside sizeof is invalid.
      Use a template type to work around the problem.  */
 
@@ -188,7 +190,7 @@ template <int w>
    trailing ';'.  If R is false, fail at compile-time, preferably
    with a diagnostic that includes the string-literal DIAGNOSTIC.
 
-   Unfortunately, unlike C1X, this implementation must appear as an
+   Unfortunately, unlike C11, this implementation must appear as an
    ordinary declaration, and cannot appear inside struct { ... }.  */
 
 # ifdef _GL_HAVE__STATIC_ASSERT
@@ -205,7 +207,7 @@ template <int w>
 #   define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC)
 #  endif
 #  if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert
-#   define static_assert _Static_assert /* Draft C1X requires this #define.  */
+#   define static_assert _Static_assert /* C11 requires this #define.  */
 #  endif
 # endif
 
index c821583..e1c69da 100644 (file)
@@ -1,5 +1,5 @@
 /* Variable with FSF copyright information, for version-etc.
-   Copyright (C) 1999-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2006, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index b8d4724..b7d23ab 100644 (file)
@@ -1,5 +1,5 @@
 /* Print --version and bug-reporting information in a consistent format.
-   Copyright (C) 1999-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -38,7 +38,7 @@
 # define PACKAGE PACKAGE_TARNAME
 #endif
 
-enum { COPYRIGHT_YEAR = 2011 };
+enum { COPYRIGHT_YEAR = 2013 };
 
 /* The three functions below display the --version information the
    standard way.
index a9b313d..6c3d084 100644 (file)
@@ -1,5 +1,5 @@
 /* Print --version and bug-reporting information in a consistent format.
-   Copyright (C) 1999, 2003, 2005, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2003, 2005, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -22,7 +22,7 @@
 # include <stdarg.h>
 # include <stdio.h>
 
-/* The `sentinel' attribute was added in gcc 4.0.  */
+/* The 'sentinel' attribute was added in gcc 4.0.  */
 #ifndef _GL_ATTRIBUTE_SENTINEL
 # if 4 <= __GNUC__
 #  define _GL_ATTRIBUTE_SENTINEL __attribute__ ((__sentinel__))
@@ -37,7 +37,7 @@ extern const char version_etc_copyright[];
    standard way: command and package names, package version, followed
    by a short GPLv3+ notice and a list of up to 10 author names.
 
-   If COMMAND_NAME is NULL, the PACKAGE is asumed to be the name of
+   If COMMAND_NAME is NULL, the PACKAGE is assumed to be the name of
    the program.  The formats are therefore:
 
    PACKAGE VERSION
@@ -72,7 +72,7 @@ extern void version_etc (FILE *stream,
                          /* const char *author1, ..., NULL */ ...)
   _GL_ATTRIBUTE_SENTINEL;
 
-/* Display the usual `Report bugs to' stanza */
+/* Display the usual "Report bugs to" stanza.  */
 extern void emit_bug_reporting_address (void);
 
 #endif /* VERSION_ETC_H */
index 363dddb..b6e4362 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
 
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* Written by Eric Blake.  */
 
 #ifndef _@GUARD_PREFIX@_WCHAR_H
 #define _@GUARD_PREFIX@_WCHAR_H
 
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+   The attribute __pure__ was added in gcc 2.96.  */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#else
+# define _GL_ATTRIBUTE_PURE /* empty */
+#endif
+
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
 /* The definition of _GL_ARG_NONNULL is copied here.  */
 #  define WEOF -1
 # endif
 #else
+/* MSVC defines wint_t as 'unsigned short' in <crtdefs.h>.
+   This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be
+   "unchanged by default argument promotions".  Override it.  */
+# if defined _MSC_VER
+#  if !GNULIB_defined_wint_t
+#   include <crtdefs.h>
+typedef unsigned int rpl_wint_t;
+#   undef wint_t
+#   define wint_t rpl_wint_t
+#   define GNULIB_defined_wint_t 1
+#  endif
+# endif
 # ifndef WEOF
 #  define WEOF ((wint_t) -1)
 # endif
@@ -126,11 +143,11 @@ typedef int rpl_mbstate_t;
 #   undef btowc
 #   define btowc rpl_btowc
 #  endif
-_GL_FUNCDECL_RPL (btowc, wint_t, (int c));
+_GL_FUNCDECL_RPL (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE);
 _GL_CXXALIAS_RPL (btowc, wint_t, (int c));
 # else
 #  if !@HAVE_BTOWC@
-_GL_FUNCDECL_SYS (btowc, wint_t, (int c));
+_GL_FUNCDECL_SYS (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE);
 #  endif
 _GL_CXXALIAS_SYS (btowc, wint_t, (int c));
 # endif
@@ -151,12 +168,12 @@ _GL_WARN_ON_USE (btowc, "btowc is unportable - "
 #   undef wctob
 #   define wctob rpl_wctob
 #  endif
-_GL_FUNCDECL_RPL (wctob, int, (wint_t wc));
+_GL_FUNCDECL_RPL (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE);
 _GL_CXXALIAS_RPL (wctob, int, (wint_t wc));
 # else
 #  if !defined wctob && !@HAVE_DECL_WCTOB@
 /* wctob is provided by gnulib, or wctob exists but is not declared.  */
-_GL_FUNCDECL_SYS (wctob, int, (wint_t wc));
+_GL_FUNCDECL_SYS (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE);
 #  endif
 _GL_CXXALIAS_SYS (wctob, int, (wint_t wc));
 # endif
@@ -417,12 +434,12 @@ _GL_WARN_ON_USE (wcsnrtombs, "wcsnrtombs is unportable - "
 #   undef wcwidth
 #   define wcwidth rpl_wcwidth
 #  endif
-_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t));
+_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE);
 _GL_CXXALIAS_RPL (wcwidth, int, (wchar_t));
 # else
 #  if !@HAVE_DECL_WCWIDTH@
 /* wcwidth exists but is not declared.  */
-_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t));
+_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE);
 #  endif
 _GL_CXXALIAS_SYS (wcwidth, int, (wchar_t));
 # endif
@@ -439,7 +456,8 @@ _GL_WARN_ON_USE (wcwidth, "wcwidth is unportable - "
 /* Search N wide characters of S for C.  */
 #if @GNULIB_WMEMCHR@
 # if !@HAVE_WMEMCHR@
-_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n));
+_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n)
+                                      _GL_ATTRIBUTE_PURE);
 # endif
   /* On some systems, this function is defined as an overloaded function:
        extern "C++" {
@@ -470,7 +488,8 @@ _GL_WARN_ON_USE (wmemchr, "wmemchr is unportable - "
 #if @GNULIB_WMEMCMP@
 # if !@HAVE_WMEMCMP@
 _GL_FUNCDECL_SYS (wmemcmp, int,
-                  (const wchar_t *s1, const wchar_t *s2, size_t n));
+                  (const wchar_t *s1, const wchar_t *s2, size_t n)
+                  _GL_ATTRIBUTE_PURE);
 # endif
 _GL_CXXALIAS_SYS (wmemcmp, int,
                   (const wchar_t *s1, const wchar_t *s2, size_t n));
@@ -540,7 +559,7 @@ _GL_WARN_ON_USE (wmemset, "wmemset is unportable - "
 /* Return the number of wide characters in S.  */
 #if @GNULIB_WCSLEN@
 # if !@HAVE_WCSLEN@
-_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s));
+_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s) _GL_ATTRIBUTE_PURE);
 # endif
 _GL_CXXALIAS_SYS (wcslen, size_t, (const wchar_t *s));
 _GL_CXXALIASWARN (wcslen);
@@ -556,7 +575,8 @@ _GL_WARN_ON_USE (wcslen, "wcslen is unportable - "
 /* Return the number of wide characters in S, but at most MAXLEN.  */
 #if @GNULIB_WCSNLEN@
 # if !@HAVE_WCSNLEN@
-_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen));
+_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen)
+                                   _GL_ATTRIBUTE_PURE);
 # endif
 _GL_CXXALIAS_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen));
 _GL_CXXALIASWARN (wcsnlen);
@@ -675,7 +695,8 @@ _GL_WARN_ON_USE (wcsncat, "wcsncat is unportable - "
 /* Compare S1 and S2.  */
 #if @GNULIB_WCSCMP@
 # if !@HAVE_WCSCMP@
-_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
+_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)
+                               _GL_ATTRIBUTE_PURE);
 # endif
 _GL_CXXALIAS_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
 _GL_CXXALIASWARN (wcscmp);
@@ -692,7 +713,8 @@ _GL_WARN_ON_USE (wcscmp, "wcscmp is unportable - "
 #if @GNULIB_WCSNCMP@
 # if !@HAVE_WCSNCMP@
 _GL_FUNCDECL_SYS (wcsncmp, int,
-                  (const wchar_t *s1, const wchar_t *s2, size_t n));
+                  (const wchar_t *s1, const wchar_t *s2, size_t n)
+                  _GL_ATTRIBUTE_PURE);
 # endif
 _GL_CXXALIAS_SYS (wcsncmp, int,
                   (const wchar_t *s1, const wchar_t *s2, size_t n));
@@ -709,7 +731,8 @@ _GL_WARN_ON_USE (wcsncmp, "wcsncmp is unportable - "
 /* Compare S1 and S2, ignoring case.  */
 #if @GNULIB_WCSCASECMP@
 # if !@HAVE_WCSCASECMP@
-_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2));
+_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2)
+                                   _GL_ATTRIBUTE_PURE);
 # endif
 _GL_CXXALIAS_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2));
 _GL_CXXALIASWARN (wcscasecmp);
@@ -726,7 +749,8 @@ _GL_WARN_ON_USE (wcscasecmp, "wcscasecmp is unportable - "
 #if @GNULIB_WCSNCASECMP@
 # if !@HAVE_WCSNCASECMP@
 _GL_FUNCDECL_SYS (wcsncasecmp, int,
-                  (const wchar_t *s1, const wchar_t *s2, size_t n));
+                  (const wchar_t *s1, const wchar_t *s2, size_t n)
+                  _GL_ATTRIBUTE_PURE);
 # endif
 _GL_CXXALIAS_SYS (wcsncasecmp, int,
                   (const wchar_t *s1, const wchar_t *s2, size_t n));
@@ -794,7 +818,8 @@ _GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - "
 /* Find the first occurrence of WC in WCS.  */
 #if @GNULIB_WCSCHR@
 # if !@HAVE_WCSCHR@
-_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc));
+_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc)
+                                     _GL_ATTRIBUTE_PURE);
 # endif
   /* On some systems, this function is defined as an overloaded function:
        extern "C++" {
@@ -823,7 +848,8 @@ _GL_WARN_ON_USE (wcschr, "wcschr is unportable - "
 /* Find the last occurrence of WC in WCS.  */
 #if @GNULIB_WCSRCHR@
 # if !@HAVE_WCSRCHR@
-_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc));
+_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc)
+                                      _GL_ATTRIBUTE_PURE);
 # endif
   /* On some systems, this function is defined as an overloaded function:
        extern "C++" {
@@ -853,7 +879,8 @@ _GL_WARN_ON_USE (wcsrchr, "wcsrchr is unportable - "
    of wide characters not in REJECT.  */
 #if @GNULIB_WCSCSPN@
 # if !@HAVE_WCSCSPN@
-_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject));
+_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject)
+                                   _GL_ATTRIBUTE_PURE);
 # endif
 _GL_CXXALIAS_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject));
 _GL_CXXALIASWARN (wcscspn);
@@ -870,7 +897,8 @@ _GL_WARN_ON_USE (wcscspn, "wcscspn is unportable - "
    of wide characters in ACCEPT.  */
 #if @GNULIB_WCSSPN@
 # if !@HAVE_WCSSPN@
-_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept));
+_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept)
+                                  _GL_ATTRIBUTE_PURE);
 # endif
 _GL_CXXALIAS_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept));
 _GL_CXXALIASWARN (wcsspn);
@@ -887,7 +915,8 @@ _GL_WARN_ON_USE (wcsspn, "wcsspn is unportable - "
 #if @GNULIB_WCSPBRK@
 # if !@HAVE_WCSPBRK@
 _GL_FUNCDECL_SYS (wcspbrk, wchar_t *,
-                  (const wchar_t *wcs, const wchar_t *accept));
+                  (const wchar_t *wcs, const wchar_t *accept)
+                  _GL_ATTRIBUTE_PURE);
 # endif
   /* On some systems, this function is defined as an overloaded function:
        extern "C++" {
@@ -919,7 +948,8 @@ _GL_WARN_ON_USE (wcspbrk, "wcspbrk is unportable - "
 #if @GNULIB_WCSSTR@
 # if !@HAVE_WCSSTR@
 _GL_FUNCDECL_SYS (wcsstr, wchar_t *,
-                  (const wchar_t *haystack, const wchar_t *needle));
+                  (const wchar_t *haystack, const wchar_t *needle)
+                  _GL_ATTRIBUTE_PURE);
 # endif
   /* On some systems, this function is defined as an overloaded function:
        extern "C++" {
@@ -973,11 +1003,13 @@ _GL_WARN_ON_USE (wcstok, "wcstok is unportable - "
 #   undef wcswidth
 #   define wcswidth rpl_wcswidth
 #  endif
-_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n));
+_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n)
+                                 _GL_ATTRIBUTE_PURE);
 _GL_CXXALIAS_RPL (wcswidth, int, (const wchar_t *s, size_t n));
 # else
 #  if !@HAVE_WCSWIDTH@
-_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n));
+_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n)
+                                 _GL_ATTRIBUTE_PURE);
 #  endif
 _GL_CXXALIAS_SYS (wcswidth, int, (const wchar_t *s, size_t n));
 # endif
index 6632589..da42809 100644 (file)
@@ -1,5 +1,5 @@
 /* Convert wide character to multibyte character.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/lib/wctype-h.c b/lib/wctype-h.c
new file mode 100644 (file)
index 0000000..bb5f847
--- /dev/null
@@ -0,0 +1,4 @@
+/* Normally this would be wctype.c, but that name's already taken.  */
+#include <config.h>
+#define _GL_WCTYPE_INLINE _GL_EXTERN_INLINE
+#include "wctype.h"
index fa676ae..0cd02d5 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A substitute for ISO C99 <wctype.h>, for platforms that lack it.
 
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 /* Written by Bruno Haible and Paul Eggert.  */
 
 #ifndef _@GUARD_PREFIX@_WCTYPE_H
 #define _@GUARD_PREFIX@_WCTYPE_H
 
+_GL_INLINE_HEADER_BEGIN
+#ifndef _GL_WCTYPE_INLINE
+# define _GL_WCTYPE_INLINE _GL_INLINE
+#endif
+
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 #  define WEOF -1
 # endif
 #else
+/* MSVC defines wint_t as 'unsigned short' in <crtdefs.h>.
+   This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be
+   "unchanged by default argument promotions".  Override it.  */
+# if defined _MSC_VER
+#  if !GNULIB_defined_wint_t
+#   include <crtdefs.h>
+typedef unsigned int rpl_wint_t;
+#   undef wint_t
+#   define wint_t rpl_wint_t
+#   define GNULIB_defined_wint_t 1
+#  endif
+# endif
 # ifndef WEOF
 #  define WEOF ((wint_t) -1)
 # endif
 #   endif
 #  endif
 
-static inline int
+_GL_WCTYPE_INLINE int
 #  if @REPLACE_ISWCNTRL@
 rpl_iswalnum
 #  else
@@ -151,7 +165,7 @@ iswalnum
           || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z'));
 }
 
-static inline int
+_GL_WCTYPE_INLINE int
 #  if @REPLACE_ISWCNTRL@
 rpl_iswalpha
 #  else
@@ -162,7 +176,7 @@ iswalpha
   return (wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z';
 }
 
-static inline int
+_GL_WCTYPE_INLINE int
 #  if @REPLACE_ISWCNTRL@
 rpl_iswblank
 #  else
@@ -173,7 +187,7 @@ iswblank
   return wc == ' ' || wc == '\t';
 }
 
-static inline int
+_GL_WCTYPE_INLINE int
 #  if @REPLACE_ISWCNTRL@
 rpl_iswcntrl
 #  else
@@ -184,7 +198,7 @@ iswcntrl
   return (wc & ~0x1f) == 0 || wc == 0x7f;
 }
 
-static inline int
+_GL_WCTYPE_INLINE int
 #  if @REPLACE_ISWCNTRL@
 rpl_iswdigit
 #  else
@@ -195,7 +209,7 @@ iswdigit
   return wc >= '0' && wc <= '9';
 }
 
-static inline int
+_GL_WCTYPE_INLINE int
 #  if @REPLACE_ISWCNTRL@
 rpl_iswgraph
 #  else
@@ -206,7 +220,7 @@ iswgraph
   return wc >= '!' && wc <= '~';
 }
 
-static inline int
+_GL_WCTYPE_INLINE int
 #  if @REPLACE_ISWCNTRL@
 rpl_iswlower
 #  else
@@ -217,7 +231,7 @@ iswlower
   return wc >= 'a' && wc <= 'z';
 }
 
-static inline int
+_GL_WCTYPE_INLINE int
 #  if @REPLACE_ISWCNTRL@
 rpl_iswprint
 #  else
@@ -228,7 +242,7 @@ iswprint
   return wc >= ' ' && wc <= '~';
 }
 
-static inline int
+_GL_WCTYPE_INLINE int
 #  if @REPLACE_ISWCNTRL@
 rpl_iswpunct
 #  else
@@ -241,7 +255,7 @@ iswpunct
                || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z')));
 }
 
-static inline int
+_GL_WCTYPE_INLINE int
 #  if @REPLACE_ISWCNTRL@
 rpl_iswspace
 #  else
@@ -253,7 +267,7 @@ iswspace
           || wc == '\n' || wc == '\v' || wc == '\f' || wc == '\r');
 }
 
-static inline int
+_GL_WCTYPE_INLINE int
 #  if @REPLACE_ISWCNTRL@
 rpl_iswupper
 #  else
@@ -264,7 +278,7 @@ iswupper
   return wc >= 'A' && wc <= 'Z';
 }
 
-static inline int
+_GL_WCTYPE_INLINE int
 #  if @REPLACE_ISWCNTRL@
 rpl_iswxdigit
 #  else
@@ -276,7 +290,7 @@ iswxdigit
           || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'F'));
 }
 
-static inline wint_t
+_GL_WCTYPE_INLINE wint_t
 #  if @REPLACE_TOWLOWER@
 rpl_towlower
 #  else
@@ -287,7 +301,7 @@ towlower
   return (wc >= 'A' && wc <= 'Z' ? wc - 'A' + 'a' : wc);
 }
 
-static inline wint_t
+_GL_WCTYPE_INLINE wint_t
 #  if @REPLACE_TOWLOWER@
 rpl_towupper
 #  else
@@ -327,7 +341,7 @@ _GL_FUNCDECL_SYS (iswblank, int, (wint_t wc));
       result register.  We need to fix this by adding a zero-extend from
       wchar_t to wint_t after the call.  */
 
-static inline wint_t
+_GL_WCTYPE_INLINE wint_t
 rpl_towlower (wint_t wc)
 {
   return (wint_t) (wchar_t) towlower (wc);
@@ -336,7 +350,7 @@ rpl_towlower (wint_t wc)
 #   define towlower rpl_towlower
 #  endif
 
-static inline wint_t
+_GL_WCTYPE_INLINE wint_t
 rpl_towupper (wint_t wc)
 {
   return (wint_t) (wchar_t) towupper (wc);
@@ -484,6 +498,7 @@ _GL_WARN_ON_USE (towctrans, "towctrans is unportable - "
 # endif
 #endif
 
+_GL_INLINE_HEADER_END
 
 #endif /* _@GUARD_PREFIX@_WCTYPE_H */
 #endif /* _@GUARD_PREFIX@_WCTYPE_H */
index a006ca7..253fcaa 100644 (file)
@@ -1,5 +1,5 @@
 /* Determine the number of screen columns needed for a character.
-   Copyright (C) 2006-2007, 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2007, 2010-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -32,7 +32,7 @@ wcwidth (wchar_t wc)
 {
   /* In UTF-8 locales, use a Unicode aware width function.  */
   const char *encoding = locale_charset ();
-  if (STREQ (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0 ,0))
+  if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0 ,0))
     {
       /* We assume that in a UTF-8 locale, a wide character is the same as a
          Unicode character.  */
index 80b4194..daa403b 100644 (file)
@@ -1,6 +1,6 @@
 /* Report a memory allocation failure and exit.
 
-   Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2011 Free Software
+   Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
index ab19bcf..a971c78 100644 (file)
@@ -1,6 +1,6 @@
 /* xalloc-oversized.h -- memory allocation size checking
 
-   Copyright (C) 1990-2000, 2003-2004, 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2003-2004, 2006-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -22,7 +22,7 @@
 
 /* Return 1 if an array of N objects, each of size S, cannot exist due
    to size arithmetic overflow.  S must be positive and N must be
-   nonnegative.  This is a macro, not an inline function, so that it
+   nonnegative.  This is a macro, not a function, so that it
    works correctly even when SIZE_MAX < N.
 
    By gnulib convention, SIZE_MAX represents overflow in size
index 987791b..da7c4b6 100644 (file)
@@ -1,6 +1,6 @@
 /* xalloc.h -- malloc with out-of-memory checking
 
-   Copyright (C) 1990-2000, 2003-2004, 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2003-2004, 2006-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef XALLOC_H_
-# define XALLOC_H_
+#define XALLOC_H_
 
-# include <stddef.h>
+#include <stddef.h>
 
-# include "xalloc-oversized.h"
+#include "xalloc-oversized.h"
 
-# ifdef __cplusplus
+_GL_INLINE_HEADER_BEGIN
+#ifndef XALLOC_INLINE
+# define XALLOC_INLINE _GL_INLINE
+#endif
+
+#ifdef __cplusplus
 extern "C" {
-# endif
+#endif
 
 
-# if __GNUC__ >= 3
-#  define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
-# else
-#  define _GL_ATTRIBUTE_MALLOC
-# endif
+#if __GNUC__ >= 3
+# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+#else
+# define _GL_ATTRIBUTE_MALLOC
+#endif
 
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
-#  define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
-# else
-#  define _GL_ATTRIBUTE_ALLOC_SIZE(args)
-# endif
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
+#else
+# define _GL_ATTRIBUTE_ALLOC_SIZE(args)
+#endif
 
 /* This function is always triggered when memory is exhausted.
    It must be defined by the application, either explicitly
@@ -67,45 +72,31 @@ char *xstrdup (char const *str)
 
 /* Allocate an object of type T dynamically, with error checking.  */
 /* extern t *XMALLOC (typename t); */
-# define XMALLOC(t) ((t *) xmalloc (sizeof (t)))
+#define XMALLOC(t) ((t *) xmalloc (sizeof (t)))
 
 /* Allocate memory for N elements of type T, with error checking.  */
 /* extern t *XNMALLOC (size_t n, typename t); */
-# define XNMALLOC(n, t) \
-    ((t *) (sizeof (t) == 1 ? xmalloc (n) : xnmalloc (n, sizeof (t))))
+#define XNMALLOC(n, t) \
+   ((t *) (sizeof (t) == 1 ? xmalloc (n) : xnmalloc (n, sizeof (t))))
 
 /* Allocate an object of type T dynamically, with error checking,
    and zero it.  */
 /* extern t *XZALLOC (typename t); */
-# define XZALLOC(t) ((t *) xzalloc (sizeof (t)))
+#define XZALLOC(t) ((t *) xzalloc (sizeof (t)))
 
 /* Allocate memory for N elements of type T, with error checking,
    and zero it.  */
 /* extern t *XCALLOC (size_t n, typename t); */
-# define XCALLOC(n, t) \
-    ((t *) (sizeof (t) == 1 ? xzalloc (n) : xcalloc (n, sizeof (t))))
-
-
-# if HAVE_INLINE
-#  define static_inline static inline
-# else
-void *xnmalloc (size_t n, size_t s)
-      _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1, 2));
-void *xnrealloc (void *p, size_t n, size_t s)
-      _GL_ATTRIBUTE_ALLOC_SIZE ((2, 3));
-void *x2nrealloc (void *p, size_t *pn, size_t s);
-char *xcharalloc (size_t n)
-      _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1));
-# endif
+#define XCALLOC(n, t) \
+   ((t *) (sizeof (t) == 1 ? xzalloc (n) : xcalloc (n, sizeof (t))))
 
-# ifdef static_inline
 
 /* Allocate an array of N objects, each with S bytes of memory,
    dynamically, with error checking.  S must be nonzero.  */
 
-static_inline void *xnmalloc (size_t n, size_t s)
+XALLOC_INLINE void *xnmalloc (size_t n, size_t s)
                     _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1, 2));
-static_inline void *
+XALLOC_INLINE void *
 xnmalloc (size_t n, size_t s)
 {
   if (xalloc_oversized (n, s))
@@ -116,9 +107,9 @@ xnmalloc (size_t n, size_t s)
 /* Change the size of an allocated block of memory P to an array of N
    objects each of S bytes, with error checking.  S must be nonzero.  */
 
-static_inline void *xnrealloc (void *p, size_t n, size_t s)
+XALLOC_INLINE void *xnrealloc (void *p, size_t n, size_t s)
                     _GL_ATTRIBUTE_ALLOC_SIZE ((2, 3));
-static_inline void *
+XALLOC_INLINE void *
 xnrealloc (void *p, size_t n, size_t s)
 {
   if (xalloc_oversized (n, s))
@@ -181,7 +172,7 @@ xnrealloc (void *p, size_t n, size_t s)
 
    */
 
-static_inline void *
+XALLOC_INLINE void *
 x2nrealloc (void *p, size_t *pn, size_t s)
 {
   size_t n = *pn;
@@ -218,17 +209,15 @@ x2nrealloc (void *p, size_t *pn, size_t s)
 /* Return a pointer to a new buffer of N bytes.  This is like xmalloc,
    except it returns char *.  */
 
-static_inline char *xcharalloc (size_t n)
+XALLOC_INLINE char *xcharalloc (size_t n)
                     _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1));
-static_inline char *
+XALLOC_INLINE char *
 xcharalloc (size_t n)
 {
   return XNMALLOC (n, char);
 }
 
-# endif
-
-# ifdef __cplusplus
+#ifdef __cplusplus
 }
 
 /* C++ does not allow conversions from void * to other pointer types
@@ -265,7 +254,7 @@ xmemdup (T const *p, size_t s)
   return (T *) xmemdup ((void const *) p, s);
 }
 
-# endif
+#endif
 
 
 #endif /* !XALLOC_H_ */
diff --git a/lib/xasprintf.c b/lib/xasprintf.c
new file mode 100644 (file)
index 0000000..1808b70
--- /dev/null
@@ -0,0 +1,34 @@
+/* vasprintf and asprintf with out-of-memory checking.
+   Copyright (C) 1999, 2002-2004, 2006, 2009-2013 Free Software Foundation,
+   Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "xvasprintf.h"
+
+char *
+xasprintf (const char *format, ...)
+{
+  va_list args;
+  char *result;
+
+  va_start (args, format);
+  result = xvasprintf (format, args);
+  va_end (args);
+
+  return result;
+}
index 33a2b57..c7acbd1 100644 (file)
@@ -1,5 +1,5 @@
 /* a wrapper for frepoen
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 08c30fb..57e34b7 100644 (file)
@@ -1,6 +1,6 @@
 /* xmalloc.c -- malloc with out of memory checking
 
-   Copyright (C) 1990-2000, 2002-2006, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2002-2006, 2008-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #include <config.h>
 
-#if ! HAVE_INLINE
-# define static_inline
-#endif
+#define XALLOC_INLINE _GL_EXTERN_INLINE
+
 #include "xalloc.h"
-#undef static_inline
 
 #include <stdlib.h>
 #include <string.h>
diff --git a/lib/xreadlink.c b/lib/xreadlink.c
new file mode 100644 (file)
index 0000000..cdf9f63
--- /dev/null
@@ -0,0 +1,44 @@
+/* xreadlink.c -- readlink wrapper to return the link name in malloc'd storage
+
+   Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Jim Meyering <jim@meyering.net>
+   and Bruno Haible <bruno@clisp.org>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "xreadlink.h"
+
+#include <errno.h>
+
+#include "areadlink.h"
+#include "xalloc.h"
+
+/* Call readlink to get the symbolic link value of FILENAME.
+   Return a pointer to that NUL-terminated string in malloc'd storage.
+   If readlink fails, return NULL and set errno.
+   If realloc fails, or if the link value is longer than SIZE_MAX :-),
+   give a diagnostic and exit.  */
+
+char *
+xreadlink (char const *filename)
+{
+  char *result = areadlink (filename);
+  if (result == NULL && errno == ENOMEM)
+    xalloc_die ();
+  return result;
+}
diff --git a/lib/xreadlink.h b/lib/xreadlink.h
new file mode 100644 (file)
index 0000000..da62be6
--- /dev/null
@@ -0,0 +1,25 @@
+/* Reading symbolic links without size limitation.
+
+   Copyright (C) 2001, 2003-2004, 2007, 2009-2013 Free Software Foundation,
+   Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Jim Meyering <jim@meyering.net>  */
+
+extern char *xreadlink (char const *filename);
+
+#if GNULIB_XREADLINKAT
+extern char *xreadlinkat (int fd, char const *filename);
+#endif
diff --git a/lib/xsize.c b/lib/xsize.c
new file mode 100644 (file)
index 0000000..4b4914c
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+#define XSIZE_INLINE _GL_EXTERN_INLINE
+#include "xsize.h"
similarity index 87%
rename from gnulib-tests/xsize.h
rename to lib/xsize.h
index 5f980ca..2922f35 100644 (file)
@@ -1,8 +1,6 @@
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* xsize.h -- Checked size_t computations.
 
-   Copyright (C) 2003, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2008-2013 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,8 +13,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _XSIZE_H
 #define _XSIZE_H
 # include <stdint.h>
 #endif
 
+_GL_INLINE_HEADER_BEGIN
+#ifndef XSIZE_INLINE
+# define XSIZE_INLINE _GL_INLINE
+#endif
+
 /* The size of memory objects is often computed through expressions of
    type size_t. Example:
       void* p = malloc (header_size + n * element_size).
@@ -51,7 +53,7 @@
   ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX)
 
 /* Sum of two sizes, with overflow check.  */
-static inline size_t
+XSIZE_INLINE size_t
 #if __GNUC__ >= 3
 __attribute__ ((__pure__))
 #endif
@@ -62,7 +64,7 @@ xsum (size_t size1, size_t size2)
 }
 
 /* Sum of three sizes, with overflow check.  */
-static inline size_t
+XSIZE_INLINE size_t
 #if __GNUC__ >= 3
 __attribute__ ((__pure__))
 #endif
@@ -72,7 +74,7 @@ xsum3 (size_t size1, size_t size2, size_t size3)
 }
 
 /* Sum of four sizes, with overflow check.  */
-static inline size_t
+XSIZE_INLINE size_t
 #if __GNUC__ >= 3
 __attribute__ ((__pure__))
 #endif
@@ -82,7 +84,7 @@ xsum4 (size_t size1, size_t size2, size_t size3, size_t size4)
 }
 
 /* Maximum of two sizes, with overflow check.  */
-static inline size_t
+XSIZE_INLINE size_t
 #if __GNUC__ >= 3
 __attribute__ ((__pure__))
 #endif
@@ -95,7 +97,7 @@ xmax (size_t size1, size_t size2)
 
 /* Multiplication of a count with an element size, with overflow check.
    The count must be >= 0 and the element size must be > 0.
-   This is a macro, not an inline function, so that it works correctly even
+   This is a macro, not a function, so that it works correctly even
    when N is of a wider type and N > SIZE_MAX.  */
 #define xtimes(N, ELSIZE) \
   ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX)
@@ -107,4 +109,6 @@ xmax (size_t size1, size_t size2)
 #define size_in_bounds_p(SIZE) \
   ((SIZE) != SIZE_MAX)
 
+_GL_INLINE_HEADER_END
+
 #endif /* _XSIZE_H */
index 9e4498f..fb8aad2 100644 (file)
@@ -1,5 +1,5 @@
 /* Charset conversion with out-of-memory checking.
-   Copyright (C) 2001-2004, 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006, 2009-2013 Free Software Foundation, Inc.
    Written by Bruno Haible.
 
    This program is free software: you can redistribute it and/or modify
index eba6b16..2b239e7 100644 (file)
@@ -1,5 +1,5 @@
 /* Charset conversion with out-of-memory checking.
-   Copyright (C) 2001-2004, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc.
    Written by Bruno Haible and Simon Josefsson.
 
    This program is free software: you can redistribute it and/or modify
index d58302a..eae92d0 100644 (file)
@@ -1,6 +1,6 @@
 /* Duplicate a bounded initial segment of a string, with out-of-memory
    checking.
-   Copyright (C) 2003, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index f96a538..59673b0 100644 (file)
@@ -1,6 +1,6 @@
 /* Duplicate a bounded initial segment of a string, with out-of-memory
    checking.
-   Copyright (C) 2003, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
index 52e712c..688cef7 100644 (file)
@@ -1,6 +1,6 @@
 /* A more useful interface to strtol.
 
-   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2011 Free Software
+   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -60,16 +60,16 @@ xstrtol_error (enum strtol_error err,
       abort ();
 
     case LONGINT_INVALID:
-      msgid = N_("invalid %s%s argument `%s'");
+      msgid = N_("invalid %s%s argument '%s'");
       break;
 
     case LONGINT_INVALID_SUFFIX_CHAR:
     case LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW:
-      msgid = N_("invalid suffix in %s%s argument `%s'");
+      msgid = N_("invalid suffix in %s%s argument '%s'");
       break;
 
     case LONGINT_OVERFLOW:
-      msgid = N_("%s%s argument `%s' too large");
+      msgid = N_("%s%s argument '%s' too large");
       break;
     }
 
index 97ebd90..6f78572 100644 (file)
@@ -1,6 +1,6 @@
 /* A more useful interface to strtol.
 
-   Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2011 Free Software
+   Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
 
 #include "intprops.h"
 
+/* xstrtoll.c and xstrtoull.c, which include this file, require that
+   ULLONG_MAX, LLONG_MAX, LLONG_MIN are defined, but <limits.h> does not
+   define them on all platforms.  */
+#ifndef ULLONG_MAX
+# define ULLONG_MAX TYPE_MAXIMUM (unsigned long long)
+#endif
+#ifndef LLONG_MAX
+# define LLONG_MAX TYPE_MAXIMUM (long long int)
+#endif
+#ifndef LLONG_MIN
+# define LLONG_MIN TYPE_MINIMUM (long long int)
+#endif
+
 static strtol_error
 bkm_scale (__strtol_t *x, int scale_factor)
 {
@@ -113,9 +126,9 @@ __xstrtol (const char *s, char **ptr, int strtol_base,
       err = LONGINT_OVERFLOW;
     }
 
-  /* Let valid_suffixes == NULL mean `allow any suffix'.  */
+  /* Let valid_suffixes == NULL mean "allow any suffix".  */
   /* FIXME: update all callers except the ones that allow suffixes
-     after the number, changing last parameter NULL to `""'.  */
+     after the number, changing last parameter NULL to "".  */
   if (!valid_suffixes)
     {
       *val = tmp;
@@ -136,7 +149,7 @@ __xstrtol (const char *s, char **ptr, int strtol_base,
 
       if (strchr (valid_suffixes, '0'))
         {
-          /* The ``valid suffix'' '0' is a special flag meaning that
+          /* The "valid suffix" '0' is a special flag meaning that
              an optional second suffix is allowed, which can change
              the base.  A suffix "B" (e.g. "100MB") stands for a power
              of 1000, whereas a suffix "iB" (e.g. "100MiB") stands for
index ad134ab..5354c87 100644 (file)
@@ -1,6 +1,6 @@
 /* A more useful interface to strtol.
 
-   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2011 Free Software
+   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2013 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -66,7 +66,7 @@ _DECLARE_XSTRTOL (xstrtoull, unsigned long long int)
 
    After reporting an error, exit with a failure status.  */
 
-void _Noreturn xstrtol_fatal (enum strtol_error,
+_Noreturn void xstrtol_fatal (enum strtol_error,
                               int, char, struct option const *,
                               char const *);
 
diff --git a/lib/xvasprintf.c b/lib/xvasprintf.c
new file mode 100644 (file)
index 0000000..702b5e6
--- /dev/null
@@ -0,0 +1,110 @@
+/* vasprintf and asprintf with out-of-memory checking.
+   Copyright (C) 1999, 2002-2004, 2006-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include "xvasprintf.h"
+
+#include <errno.h>
+#include <limits.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "xalloc.h"
+
+/* Checked size_t computations.  */
+#include "xsize.h"
+
+static char *
+xstrcat (size_t argcount, va_list args)
+{
+  char *result;
+  va_list ap;
+  size_t totalsize;
+  size_t i;
+  char *p;
+
+  /* Determine the total size.  */
+  totalsize = 0;
+  va_copy (ap, args);
+  for (i = argcount; i > 0; i--)
+    {
+      const char *next = va_arg (ap, const char *);
+      totalsize = xsum (totalsize, strlen (next));
+    }
+  va_end (ap);
+
+  /* Test for overflow in the summing pass above or in (totalsize + 1) below.
+     Also, don't return a string longer than INT_MAX, for consistency with
+     vasprintf().  */
+  if (totalsize == SIZE_MAX || totalsize > INT_MAX)
+    {
+      errno = EOVERFLOW;
+      return NULL;
+    }
+
+  /* Allocate and fill the result string.  */
+  result = XNMALLOC (totalsize + 1, char);
+  p = result;
+  for (i = argcount; i > 0; i--)
+    {
+      const char *next = va_arg (args, const char *);
+      size_t len = strlen (next);
+      memcpy (p, next, len);
+      p += len;
+    }
+  *p = '\0';
+
+  return result;
+}
+
+char *
+xvasprintf (const char *format, va_list args)
+{
+  char *result;
+
+  /* Recognize the special case format = "%s...%s".  It is a frequently used
+     idiom for string concatenation and needs to be fast.  We don't want to
+     have a separate function xstrcat() for this purpose.  */
+  {
+    size_t argcount = 0;
+    const char *f;
+
+    for (f = format;;)
+      {
+        if (*f == '\0')
+          /* Recognized the special case of string concatenation.  */
+          return xstrcat (argcount, args);
+        if (*f != '%')
+          break;
+        f++;
+        if (*f != 's')
+          break;
+        f++;
+        argcount++;
+      }
+  }
+
+  if (vasprintf (&result, format, args) < 0)
+    {
+      if (errno == ENOMEM)
+        xalloc_die ();
+      return NULL;
+    }
+
+  return result;
+}
diff --git a/lib/xvasprintf.h b/lib/xvasprintf.h
new file mode 100644 (file)
index 0000000..1208fa1
--- /dev/null
@@ -0,0 +1,55 @@
+/* vasprintf and asprintf with out-of-memory checking.
+   Copyright (C) 2002-2004, 2006-2013 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _XVASPRINTF_H
+#define _XVASPRINTF_H
+
+/* Get va_list.  */
+#include <stdarg.h>
+
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+   The __-protected variants of the attributes 'format' and 'printf' are
+   accepted by gcc versions 2.6.4 (effectively 2.7) and later.
+   We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because
+   gnulib and libintl do '#define printf __printf__' when they override
+   the 'printf' function.  */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
+#else
+# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Write formatted output to a string dynamically allocated with malloc(),
+   and return it.  Upon [ENOMEM] memory allocation error, call xalloc_die.
+   On some other error
+     - [EOVERFLOW] resulting string length is > INT_MAX,
+     - [EINVAL] invalid format string,
+     - [EILSEQ] error during conversion between wide and multibyte characters,
+   return NULL.  */
+extern char *xasprintf (const char *format, ...)
+       _GL_ATTRIBUTE_FORMAT ((__printf__, 1, 2));
+extern char *xvasprintf (const char *format, va_list args)
+       _GL_ATTRIBUTE_FORMAT ((__printf__, 1, 0));
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _XVASPRINTF_H */
index 7feed46..d4ad759 100644 (file)
@@ -1,5 +1,5 @@
 # 00gnulib.m4 serial 2
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index a8744a8..270abd0 100644 (file)
@@ -1,5 +1,5 @@
-# alloca.m4 serial 13
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2011 Free Software Foundation,
+# alloca.m4 serial 14
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2013 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -53,8 +53,8 @@ m4_version_prereq([2.69], [] ,[
 
 # _AC_LIBOBJ_ALLOCA
 # -----------------
-# Set up the LIBOBJ replacement of `alloca'.  Well, not exactly
-# AC_LIBOBJ since we actually set the output variable `ALLOCA'.
+# Set up the LIBOBJ replacement of 'alloca'.  Well, not exactly
+# AC_LIBOBJ since we actually set the output variable 'ALLOCA'.
 # Nevertheless, for Automake, AC_LIBSOURCES it.
 m4_define([_AC_LIBOBJ_ALLOCA],
 [# The SVR3 libPW and SVR4 libucb both contain incompatible functions
@@ -63,9 +63,9 @@ m4_define([_AC_LIBOBJ_ALLOCA],
 # use ar to extract alloca.o from them instead of compiling alloca.c.
 AC_LIBSOURCES(alloca.c)
 AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])dnl
-AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using `alloca.c'.])
+AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using 'alloca.c'.])
 
-AC_CACHE_CHECK(whether `alloca.c' needs Cray hooks, ac_cv_os_cray,
+AC_CACHE_CHECK(whether 'alloca.c' needs Cray hooks, ac_cv_os_cray,
 [AC_EGREP_CPP(webecray,
 [#if defined CRAY && ! defined CRAY2
 webecray
@@ -77,10 +77,10 @@ if test $ac_cv_os_cray = yes; then
   for ac_func in _getb67 GETB67 getb67; do
     AC_CHECK_FUNC($ac_func,
                   [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func,
-                                      [Define to one of `_getb67', `GETB67',
-                                       `getb67' for Cray-2 and Cray-YMP
+                                      [Define to one of '_getb67', 'GETB67',
+                                       'getb67' for Cray-2 and Cray-YMP
                                        systems. This function is required for
-                                       `alloca.c' support on those systems.])
+                                       'alloca.c' support on those systems.])
     break])
   done
 fi
index 2b845e7..978a06e 100644 (file)
@@ -1,5 +1,5 @@
 # btowc.m4 serial 10
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 8d34048..5760dbe 100644 (file)
@@ -1,13 +1,13 @@
 # Check prerequisites for compiling lib/c-stack.c.
 
-# Copyright (C) 2002-2004, 2008-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2004, 2008-2013 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 # Written by Paul Eggert.
 
-# serial 13
+# serial 15
 
 AC_DEFUN([AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC],
   [
@@ -23,7 +23,7 @@ AC_DEFUN([AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC],
        FAULT_YIELDS_SIGBUS=1 ;;
      hpux*) # HP-UX
        FAULT_YIELDS_SIGBUS=1 ;;
-     macos* | darwin*) # MacOS X
+     macos* | darwin*) # Mac OS X
        FAULT_YIELDS_SIGBUS=1 ;;
      gnu*) # Hurd
        FAULT_YIELDS_SIGBUS=1 ;;
@@ -338,7 +338,7 @@ AC_DEFUN([gl_PREREQ_C_STACK],
    AC_REQUIRE([AC_FUNC_ALLOCA])
 
    AC_CHECK_FUNCS_ONCE([sigaltstack])
-   AC_CHECK_DECLS([sigaltstack], , , [#include <signal.h>])
+   AC_CHECK_DECLS([sigaltstack], , , [[#include <signal.h>]])
 
    AC_CHECK_HEADERS_ONCE([unistd.h ucontext.h])
 
index 3c08512..6597fb6 100644 (file)
@@ -1,5 +1,5 @@
 # clock_time.m4 serial 10
-dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/close.m4 b/m4/close.m4
new file mode 100644 (file)
index 0000000..bccd981
--- /dev/null
@@ -0,0 +1,33 @@
+# close.m4 serial 8
+dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_CLOSE],
+[
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  AC_REQUIRE([gl_MSVC_INVAL])
+  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+    REPLACE_CLOSE=1
+  fi
+  m4_ifdef([gl_PREREQ_SYS_H_WINSOCK2], [
+    gl_PREREQ_SYS_H_WINSOCK2
+    if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
+      dnl Even if the 'socket' module is not used here, another part of the
+      dnl application may use it and pass file descriptors that refer to
+      dnl sockets to the close() function. So enable the support for sockets.
+      REPLACE_CLOSE=1
+    fi
+  ])
+  dnl Replace close() for supporting the gnulib-defined fchdir() function,
+  dnl to keep fchdir's bookkeeping up-to-date.
+  m4_ifdef([gl_FUNC_FCHDIR], [
+    if test $REPLACE_CLOSE = 0; then
+      gl_TEST_FCHDIR
+      if test $HAVE_FCHDIR = 0; then
+        REPLACE_CLOSE=1
+      fi
+    fi
+  ])
+])
index da73552..c2761be 100644 (file)
@@ -1,5 +1,5 @@
 # codeset.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2006, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 2dc77a6..9158d66 100644 (file)
@@ -1,6 +1,6 @@
 # Say that -DHAVE_CONFIG_H is not needed.
 
-dnl Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index a029823..823ffc0 100644 (file)
@@ -1,5 +1,5 @@
 # configmake.m4 serial 1
-dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index dcec7e4..5897a2a 100644 (file)
@@ -1,5 +1,5 @@
 #serial 10   -*- autoconf -*-
-dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 16a4e3e..bd6f867 100644 (file)
@@ -1,5 +1,5 @@
 # double-slash-root.m4 serial 4   -*- Autoconf -*-
-dnl Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 5c2cc96..269cfdc 100644 (file)
@@ -1,5 +1,5 @@
-#serial 14
-dnl Copyright (C) 2002, 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+#serial 19
+dnl Copyright (C) 2002, 2005, 2007, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -39,35 +39,46 @@ AC_DEFUN([gl_FUNC_DUP2],
             /* Many gnulib modules require POSIX conformance of EBADF.  */
             if (dup2 (2, 1000000) == -1 && errno != EBADF)
               result |= 16;
+            /* Flush out a cygwin core dump.  */
+            if (dup2 (2, -1) != -1 || errno != EBADF)
+              result |= 32;
             return result;
            ])
         ],
         [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no],
         [case "$host_os" in
            mingw*) # on this platform, dup2 always returns 0 for success
-             gl_cv_func_dup2_works=no;;
+             gl_cv_func_dup2_works="guessing no" ;;
            cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
-             gl_cv_func_dup2_works=no;;
+             gl_cv_func_dup2_works="guessing no" ;;
            linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a
                    # closed fd may yield -EBADF instead of -1 / errno=EBADF.
-             gl_cv_func_dup2_works=no;;
+             gl_cv_func_dup2_works="guessing no" ;;
            freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF.
-             gl_cv_func_dup2_works=no;;
+             gl_cv_func_dup2_works="guessing no" ;;
            haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC.
-             gl_cv_func_dup2_works=no;;
-           *) gl_cv_func_dup2_works=yes;;
+             gl_cv_func_dup2_works="guessing no" ;;
+           *) gl_cv_func_dup2_works="guessing yes" ;;
          esac])
       ])
-    if test "$gl_cv_func_dup2_works" = no; then
-      REPLACE_DUP2=1
-    fi
+    case "$gl_cv_func_dup2_works" in
+      *yes) ;;
+      *)
+        REPLACE_DUP2=1
+        ;;
+    esac
   fi
   dnl Replace dup2() for supporting the gnulib-defined fchdir() function,
   dnl to keep fchdir's bookkeeping up-to-date.
   m4_ifdef([gl_FUNC_FCHDIR], [
     gl_TEST_FCHDIR
     if test $HAVE_FCHDIR = 0; then
-      REPLACE_DUP2=1
+      if test $HAVE_DUP2 = 1; then
+        REPLACE_DUP2=1
+      fi
     fi
   ])
 ])
+
+# Prerequisites of lib/dup2.c.
+AC_DEFUN([gl_PREREQ_DUP2], [])
index 3006c48..c640ec1 100644 (file)
@@ -1,5 +1,5 @@
-# eealloc.m4 serial 2
-dnl Copyright (C) 2003, 2009-2011 Free Software Foundation, Inc.
+# eealloc.m4 serial 3
+dnl Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -8,7 +8,6 @@ AC_DEFUN([gl_EEALLOC],
 [
   AC_REQUIRE([gl_EEMALLOC])
   AC_REQUIRE([gl_EEREALLOC])
-  AC_REQUIRE([AC_C_INLINE])
 ])
 
 AC_DEFUN([gl_EEMALLOC],
index 7457ad1..593a33e 100644 (file)
@@ -1,5 +1,5 @@
-# environ.m4 serial 5
-dnl Copyright (C) 2001-2004, 2006-2011 Free Software Foundation, Inc.
+# environ.m4 serial 6
+dnl Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -9,7 +9,16 @@ AC_DEFUN_ONCE([gl_ENVIRON],
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
   dnl Persuade glibc <unistd.h> to declare environ.
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-  gt_CHECK_VAR_DECL([#include <unistd.h>], environ)
+
+  AC_CHECK_HEADERS_ONCE([unistd.h])
+  gt_CHECK_VAR_DECL(
+    [#if HAVE_UNISTD_H
+     #include <unistd.h>
+     #endif
+     /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>.  */
+     #include <stdlib.h>
+    ],
+    [environ])
   if test $gt_cv_var_environ_declaration != yes; then
     HAVE_DECL_ENVIRON=0
   fi
index 560adba..c813ea5 100644 (file)
@@ -1,5 +1,5 @@
-# errno_h.m4 serial 10
-dnl Copyright (C) 2004, 2006, 2008-2011 Free Software Foundation, Inc.
+# errno_h.m4 serial 12
+dnl Copyright (C) 2004, 2006, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -10,6 +10,9 @@ AC_DEFUN_ONCE([gl_HEADER_ERRNO_H],
   AC_CACHE_CHECK([for complete errno.h], [gl_cv_header_errno_h_complete], [
     AC_EGREP_CPP([booboo],[
 #include <errno.h>
+#if !defined ETXTBSY
+booboo
+#endif
 #if !defined ENOMSG
 booboo
 #endif
@@ -49,6 +52,15 @@ booboo
 #if !defined ECANCELED
 booboo
 #endif
+#if !defined EOWNERDEAD
+booboo
+#endif
+#if !defined ENOTRECOVERABLE
+booboo
+#endif
+#if !defined EILSEQ
+booboo
+#endif
       ],
       [gl_cv_header_errno_h_complete=no],
       [gl_cv_header_errno_h_complete=yes])
index e7022fe..29e6fdc 100644 (file)
@@ -1,6 +1,6 @@
 #serial 14
 
-# Copyright (C) 1996-1998, 2001-2004, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-1998, 2001-2004, 2009-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -23,6 +23,5 @@ AC_DEFUN([gl_ERROR],
 AC_DEFUN([gl_PREREQ_ERROR],
 [
   AC_REQUIRE([AC_FUNC_STRERROR_R])
-  AC_REQUIRE([AC_C_INLINE])
   :
 ])
diff --git a/m4/exponentd.m4 b/m4/exponentd.m4
new file mode 100644 (file)
index 0000000..09df468
--- /dev/null
@@ -0,0 +1,116 @@
+# exponentd.m4 serial 3
+dnl Copyright (C) 2007-2008, 2010-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+AC_DEFUN([gl_DOUBLE_EXPONENT_LOCATION],
+[
+  AC_CACHE_CHECK([where to find the exponent in a 'double'],
+    [gl_cv_cc_double_expbit0],
+    [
+      AC_RUN_IFELSE(
+        [AC_LANG_SOURCE([[
+#include <float.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#define NWORDS \
+  ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
+typedef union { double value; unsigned int word[NWORDS]; } memory_double;
+static unsigned int ored_words[NWORDS];
+static unsigned int anded_words[NWORDS];
+static void add_to_ored_words (double x)
+{
+  memory_double m;
+  size_t i;
+  /* Clear it first, in case sizeof (double) < sizeof (memory_double).  */
+  memset (&m, 0, sizeof (memory_double));
+  m.value = x;
+  for (i = 0; i < NWORDS; i++)
+    {
+      ored_words[i] |= m.word[i];
+      anded_words[i] &= m.word[i];
+    }
+}
+int main ()
+{
+  size_t j;
+  FILE *fp = fopen ("conftest.out", "w");
+  if (fp == NULL)
+    return 1;
+  for (j = 0; j < NWORDS; j++)
+    anded_words[j] = ~ (unsigned int) 0;
+  add_to_ored_words (0.25);
+  add_to_ored_words (0.5);
+  add_to_ored_words (1.0);
+  add_to_ored_words (2.0);
+  add_to_ored_words (4.0);
+  /* Remove bits that are common (e.g. if representation of the first mantissa
+     bit is explicit).  */
+  for (j = 0; j < NWORDS; j++)
+    ored_words[j] &= ~anded_words[j];
+  /* Now find the nonzero word.  */
+  for (j = 0; j < NWORDS; j++)
+    if (ored_words[j] != 0)
+      break;
+  if (j < NWORDS)
+    {
+      size_t i;
+      for (i = j + 1; i < NWORDS; i++)
+        if (ored_words[i] != 0)
+          {
+            fprintf (fp, "unknown");
+            return (fclose (fp) != 0);
+          }
+      for (i = 0; ; i++)
+        if ((ored_words[j] >> i) & 1)
+          {
+            fprintf (fp, "word %d bit %d", (int) j, (int) i);
+            return (fclose (fp) != 0);
+          }
+    }
+  fprintf (fp, "unknown");
+  return (fclose (fp) != 0);
+}
+        ]])],
+        [gl_cv_cc_double_expbit0=`cat conftest.out`],
+        [gl_cv_cc_double_expbit0="unknown"],
+        [
+          dnl On ARM, there are two 'double' floating-point formats, used by
+          dnl different sets of instructions: The older FPA instructions assume
+          dnl that they are stored in big-endian word order, while the words
+          dnl (like integer types) are stored in little-endian byte order.
+          dnl The newer VFP instructions assume little-endian order
+          dnl consistently.
+          AC_EGREP_CPP([mixed_endianness], [
+#if defined arm || defined __arm || defined __arm__
+  mixed_endianness
+#endif
+            ],
+            [gl_cv_cc_double_expbit0="unknown"],
+            [
+              pushdef([AC_MSG_CHECKING],[:])dnl
+              pushdef([AC_MSG_RESULT],[:])dnl
+              pushdef([AC_MSG_RESULT_UNQUOTED],[:])dnl
+              AC_C_BIGENDIAN(
+                [gl_cv_cc_double_expbit0="word 0 bit 20"],
+                [gl_cv_cc_double_expbit0="word 1 bit 20"],
+                [gl_cv_cc_double_expbit0="unknown"])
+              popdef([AC_MSG_RESULT_UNQUOTED])dnl
+              popdef([AC_MSG_RESULT])dnl
+              popdef([AC_MSG_CHECKING])dnl
+            ])
+        ])
+      rm -f conftest.out
+    ])
+  case "$gl_cv_cc_double_expbit0" in
+    word*bit*)
+      word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
+      bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'`
+      AC_DEFINE_UNQUOTED([DBL_EXPBIT0_WORD], [$word],
+        [Define as the word index where to find the exponent of 'double'.])
+      AC_DEFINE_UNQUOTED([DBL_EXPBIT0_BIT], [$bit],
+        [Define as the bit index in the word where to find bit 0 of the exponent of 'double'.])
+      ;;
+  esac
+])
index 22156e0..07ba376 100644 (file)
@@ -1,14 +1,14 @@
-# serial 10  -*- Autoconf -*-
+# serial 13  -*- Autoconf -*-
 # Enable extensions on systems that normally disable them.
 
-# Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2013 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 # This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS
 # Autoconf.  Perhaps we can remove this once we can assume Autoconf
-# 2.62 or later everywhere, but since CVS Autoconf mutates rapidly
+# 2.70 or later everywhere, but since Autoconf mutates rapidly
 # enough in this area it's likely we'll need to redefine
 # AC_USE_SYSTEM_EXTENSIONS for quite some time.
 
@@ -30,6 +30,7 @@
 # ------------------------
 # Enable extensions on systems that normally disable them,
 # typically due to standards-conformance issues.
+#
 # Remember that #undef in AH_VERBATIM gets replaced with #define by
 # AC_DEFINE.  The goal here is to define all known feature-enabling
 # macros, then, if reports of conflicts are made, disable macros that
@@ -38,36 +39,28 @@ AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS],
 [AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
 AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
 
-  AC_REQUIRE([AC_CANONICAL_HOST])
-
   AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=])
   if test "$MINIX" = yes; then
     AC_DEFINE([_POSIX_SOURCE], [1],
-      [Define to 1 if you need to in order for `stat' and other
+      [Define to 1 if you need to in order for 'stat' and other
        things to work.])
     AC_DEFINE([_POSIX_1_SOURCE], [2],
       [Define to 2 if the system does not provide POSIX.1 features
        except with this defined.])
     AC_DEFINE([_MINIX], [1],
       [Define to 1 if on MINIX.])
+    AC_DEFINE([_NETBSD_SOURCE], [1],
+      [Define to 1 to make NetBSD features available.  MINIX 3 needs this.])
   fi
 
-  dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500,
-  dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already
-  dnl provided.
-  case "$host_os" in
-    hpux*)
-      AC_DEFINE([_XOPEN_SOURCE], [500],
-        [Define to 500 only on HP-UX.])
-      ;;
-  esac
-
-  AH_VERBATIM([__EXTENSIONS__],
+dnl Use a different key than __EXTENSIONS__, as that name broke existing
+dnl configure.ac when using autoheader 2.62.
+  AH_VERBATIM([USE_SYSTEM_EXTENSIONS],
 [/* Enable extensions on AIX 3, Interix.  */
 #ifndef _ALL_SOURCE
 # undef _ALL_SOURCE
 #endif
-/* Enable general extensions on MacOS X.  */
+/* Enable general extensions on OS X.  */
 #ifndef _DARWIN_C_SOURCE
 # undef _DARWIN_C_SOURCE
 #endif
@@ -83,6 +76,12 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
 #ifndef _TANDEM_SOURCE
 # undef _TANDEM_SOURCE
 #endif
+/* Enable X/Open extensions if necessary.  HP-UX 11.11 defines
+   mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of
+   whether compiling with -Ae or -D_HPUX_SOURCE=1.  */
+#ifndef _XOPEN_SOURCE
+# undef _XOPEN_SOURCE
+#endif
 /* Enable general extensions on Solaris.  */
 #ifndef __EXTENSIONS__
 # undef __EXTENSIONS__
@@ -103,6 +102,22 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
   AC_DEFINE([_GNU_SOURCE])
   AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
   AC_DEFINE([_TANDEM_SOURCE])
+  AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined],
+    [ac_cv_should_define__xopen_source],
+    [ac_cv_should_define__xopen_source=no
+     AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM([[
+          #include <wchar.h>
+          mbstate_t x;]])],
+       [],
+       [AC_COMPILE_IFELSE(
+          [AC_LANG_PROGRAM([[
+             #define _XOPEN_SOURCE 500
+             #include <wchar.h>
+             mbstate_t x;]])],
+          [ac_cv_should_define__xopen_source=yes])])])
+  test $ac_cv_should_define__xopen_source = yes &&
+    AC_DEFINE([_XOPEN_SOURCE], [500])
 ])# AC_USE_SYSTEM_EXTENSIONS
 
 # gl_USE_SYSTEM_EXTENSIONS
diff --git a/m4/extern-inline.m4 b/m4/extern-inline.m4
new file mode 100644 (file)
index 0000000..0152f29
--- /dev/null
@@ -0,0 +1,65 @@
+dnl 'extern inline' a la ISO C99.
+
+dnl Copyright 2012-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_EXTERN_INLINE],
+[
+  AH_VERBATIM([extern_inline],
+[/* _GL_INLINE is a portable alternative to ISO C99 plain 'inline'.
+   _GL_EXTERN_INLINE is a portable alternative to 'extern inline'.
+   _GL_INLINE_HEADER_BEGIN contains useful stuff to put
+     in an include file, before uses of _GL_INLINE.
+     It suppresses GCC's bogus "no previous prototype for 'FOO'" diagnostic,
+     when FOO is an inline function in the header; see
+     <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>.
+   _GL_INLINE_HEADER_END contains useful stuff to put
+     in the same include file, after uses of _GL_INLINE.
+
+   Suppress extern inline with HP-UX cc, as it appears to be broken; see
+   <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
+
+   Suppress the use of extern inline on Apple's platforms,
+   as Libc-825.25 (2012-09-19) is incompatible with it; see
+   <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
+   Perhaps Apple will fix this some day.  */
+#if ((__GNUC__ \
+      ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
+      : 199901L <= __STDC_VERSION__ && !defined __HP_cc) \
+     && !defined __APPLE__)
+# define _GL_INLINE inline
+# define _GL_EXTERN_INLINE extern inline
+#elif 2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __APPLE__
+# if __GNUC_GNU_INLINE__
+   /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
+#  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
+# else
+#  define _GL_INLINE extern inline
+# endif
+# define _GL_EXTERN_INLINE extern
+#else
+# define _GL_INLINE static _GL_UNUSED
+# define _GL_EXTERN_INLINE static _GL_UNUSED
+#endif
+
+#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
+# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
+#  define _GL_INLINE_HEADER_CONST_PRAGMA
+# else
+#  define _GL_INLINE_HEADER_CONST_PRAGMA \
+     _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
+# endif
+# define _GL_INLINE_HEADER_BEGIN \
+    _Pragma ("GCC diagnostic push") \
+    _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
+    _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \
+    _GL_INLINE_HEADER_CONST_PRAGMA
+# define _GL_INLINE_HEADER_END \
+    _Pragma ("GCC diagnostic pop")
+#else
+# define _GL_INLINE_HEADER_BEGIN
+# define _GL_INLINE_HEADER_END
+#endif])
+])
index 88db07e..87cc4bd 100644 (file)
@@ -1,5 +1,5 @@
-# fcntl-o.m4 serial 3
-dnl Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+# fcntl-o.m4 serial 4
+dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -17,12 +17,21 @@ AC_DEFUN([gl_FCNTL_O_FLAGS],
   m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
     [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
     [AC_REQUIRE([AC_GNU_SOURCE])])
+
+  AC_CHECK_HEADERS_ONCE([unistd.h])
+  AC_CHECK_FUNCS_ONCE([symlink])
   AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h],
     [AC_RUN_IFELSE(
        [AC_LANG_PROGRAM(
           [[#include <sys/types.h>
            #include <sys/stat.h>
-           #include <unistd.h>
+           #if HAVE_UNISTD_H
+           # include <unistd.h>
+           #else /* on Windows with MSVC */
+           # include <io.h>
+           # include <stdlib.h>
+           # defined sleep(n) _sleep ((n) * 1000)
+           #endif
            #include <fcntl.h>
            #ifndef O_NOATIME
             #define O_NOATIME 0
@@ -38,9 +47,21 @@ AC_DEFUN([gl_FCNTL_O_FLAGS],
           ]],
           [[
             int result = !constants;
+            #if HAVE_SYMLINK
             {
               static char const sym[] = "conftest.sym";
-              if (symlink (".", sym) != 0)
+              if (symlink ("/dev/null", sym) != 0)
+                result |= 2;
+              else
+                {
+                  int fd = open (sym, O_WRONLY | O_NOFOLLOW | O_CREAT, 0);
+                  if (fd >= 0)
+                    {
+                      close (fd);
+                      result |= 4;
+                    }
+                }
+              if (unlink (sym) != 0 || symlink (".", sym) != 0)
                 result |= 2;
               else
                 {
@@ -53,6 +74,7 @@ AC_DEFUN([gl_FCNTL_O_FLAGS],
                 }
               unlink (sym);
             }
+            #endif
             {
               static char const file[] = "confdefs.h";
               int fd = open (file, O_RDONLY | O_NOATIME);
index a92e51c..5481cae 100644 (file)
@@ -1,5 +1,5 @@
 # fcntl.m4 serial 5
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index c466da4..3cff1fd 100644 (file)
@@ -1,6 +1,6 @@
-# serial 13
+# serial 15
 # Configure fcntl.h.
-dnl Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -13,6 +13,12 @@ AC_DEFUN([gl_FCNTL_H],
   AC_REQUIRE([gl_FCNTL_O_FLAGS])
   gl_NEXT_HEADERS([fcntl.h])
 
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
+  dnl Ensure the type mode_t gets defined.
+  AC_REQUIRE([AC_TYPE_MODE_T])
+
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use, if it is not common
   dnl enough to be declared everywhere.
diff --git a/m4/fdopen.m4 b/m4/fdopen.m4
new file mode 100644 (file)
index 0000000..74d1649
--- /dev/null
@@ -0,0 +1,47 @@
+# fdopen.m4 serial 3
+dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_FDOPEN],
+[
+  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_REQUIRE([gl_MSVC_INVAL])
+  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+    REPLACE_FDOPEN=1
+  else
+    dnl Test whether fdopen() sets errno when it fails due to a bad fd argument.
+    AC_CACHE_CHECK([whether fdopen sets errno], [gl_cv_func_fdopen_works],
+      [
+        AC_RUN_IFELSE(
+          [AC_LANG_SOURCE([[
+#include <stdio.h>
+#include <errno.h>
+int
+main (void)
+{
+  FILE *fp;
+  errno = 0;
+  fp = fdopen (-1, "r");
+  if (fp == NULL && errno == 0)
+    return 1;
+  return 0;
+}]])],
+          [gl_cv_func_fdopen_works=yes],
+          [gl_cv_func_fdopen_works=no],
+          [case "$host_os" in
+             mingw*) gl_cv_func_fdopen_works="guessing no" ;;
+             *)      gl_cv_func_fdopen_works="guessing yes" ;;
+           esac
+          ])
+      ])
+    case "$gl_cv_func_fdopen_works" in
+      *no) REPLACE_FDOPEN=1 ;;
+    esac
+  fi
+])
+
+dnl Prerequisites of lib/fdopen.c.
+AC_DEFUN([gl_PREREQ_FDOPEN], [])
index fb7f443..40946e8 100644 (file)
@@ -1,5 +1,5 @@
 # filenamecat.m4 serial 11
-dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 261f1ac..397f2d1 100644 (file)
@@ -1,5 +1,5 @@
-# float_h.m4 serial 7
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+# float_h.m4 serial 9
+dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -33,17 +33,66 @@ changequote([,])dnl
           ;;
       esac
       ;;
+    linux*)
+      case "$host_cpu" in
+        powerpc*)
+          FLOAT_H=float.h
+          ;;
+      esac
+      ;;
   esac
   case "$host_os" in
-    aix* | freebsd*)
+    aix* | freebsd* | linux*)
       if test -n "$FLOAT_H"; then
         REPLACE_FLOAT_LDBL=1
       fi
       ;;
   esac
+
+  dnl Test against glibc-2.7 Linux/SPARC64 bug.
+  REPLACE_ITOLD=0
+  AC_CACHE_CHECK([whether conversion from 'int' to 'long double' works],
+    [gl_cv_func_itold_works],
+    [
+      AC_RUN_IFELSE(
+        [AC_LANG_SOURCE([[
+int i = -1;
+volatile long double ld;
+int main ()
+{
+  ld += i * 1.0L;
+  if (ld > 0)
+    return 1;
+  return 0;
+}]])],
+        [gl_cv_func_itold_works=yes],
+        [gl_cv_func_itold_works=no],
+        [case "$host" in
+           sparc*-*-linux*)
+             AC_EGREP_CPP([yes],
+               [#if defined __LP64__ || defined __arch64__
+                yes
+                #endif],
+               [gl_cv_func_itold_works="guessing no"],
+               [gl_cv_func_itold_works="guessing yes"])
+             ;;
+           *) gl_cv_func_itold_works="guessing yes" ;;
+         esac
+        ])
+    ])
+  case "$gl_cv_func_itold_works" in
+    *no)
+      REPLACE_ITOLD=1
+      dnl We add the workaround to <float.h> but also to <math.h>,
+      dnl to increase the chances that the fix function gets pulled in.
+      FLOAT_H=float.h
+      ;;
+  esac
+
   if test -n "$FLOAT_H"; then
     gl_NEXT_HEADERS([float.h])
   fi
   AC_SUBST([FLOAT_H])
   AM_CONDITIONAL([GL_GENERATE_FLOAT_H], [test -n "$FLOAT_H"])
+  AC_SUBST([REPLACE_ITOLD])
 ])
index 22ba35c..fa0ba4d 100644 (file)
@@ -1,6 +1,6 @@
-# Check for fnmatch - serial 7.
+# Check for fnmatch - serial 9.
 
-# Copyright (C) 2000-2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2000-2007, 2009-2013 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -21,7 +21,7 @@ AC_DEFUN([gl_FUNC_FNMATCH_POSIX],
 
   FNMATCH_H=
   gl_fnmatch_required_lowercase=`
-    echo $gl_fnmatch_required | tr '[[A-Z]]' '[[a-z]]'
+    echo $gl_fnmatch_required | LC_ALL=C tr '[[A-Z]]' '[[a-z]]'
   `
   gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}"
   AC_CACHE_CHECK([for working $gl_fnmatch_required fnmatch],
@@ -150,7 +150,7 @@ AC_DEFUN([gl_PREREQ_FNMATCH],
     [Define to a replacement function name for fnmatch().])
   dnl Prerequisites of lib/fnmatch.c.
   AC_REQUIRE([AC_TYPE_MBSTATE_T])
-  AC_CHECK_DECLS([isblank], [], [], [#include <ctype.h>])
+  AC_CHECK_DECLS([isblank], [], [], [[#include <ctype.h>]])
   AC_CHECK_FUNCS_ONCE([btowc isblank iswctype mbsrtowcs mempcpy wmemchr wmemcpy wmempcpy])
   AC_CHECK_HEADERS_ONCE([wctype.h])
 ])
index 7872876..97941bb 100644 (file)
@@ -1,5 +1,5 @@
-# fpieee.m4 serial 1
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+# fpieee.m4 serial 2
+dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -36,9 +36,11 @@ AC_DEFUN([gl_FP_IEEE],
       # <http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V51B_HTML/MAN/MAN3/0600____.HTM>
       if test -n "$GCC"; then
         # GCC has the option -mieee.
+        # For full IEEE compliance (rarely needed), use option -mieee-with-inexact.
         CPPFLAGS="$CPPFLAGS -mieee"
       else
-        # Compaq (ex-DEC) C has the option -ieee.
+        # Compaq (ex-DEC) C has the option -ieee, equivalent to -ieee_with_no_inexact.
+        # For full IEEE compliance (rarely needed), use option -ieee_with_inexact.
         CPPFLAGS="$CPPFLAGS -ieee"
       fi
       ;;
index c981a11..4617156 100644 (file)
@@ -1,5 +1,5 @@
-# freopen.m4 serial 3
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# freopen.m4 serial 4
+dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -16,7 +16,4 @@ AC_DEFUN([gl_FUNC_FREOPEN],
 ])
 
 # Prerequisites of lib/freopen.c.
-AC_DEFUN([gl_PREREQ_FREOPEN],
-[
-  AC_REQUIRE([AC_C_INLINE])
-])
+AC_DEFUN([gl_PREREQ_FREOPEN], [:])
diff --git a/m4/fstat.m4 b/m4/fstat.m4
new file mode 100644 (file)
index 0000000..b2cf2ad
--- /dev/null
@@ -0,0 +1,36 @@
+# fstat.m4 serial 4
+dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_FSTAT],
+[
+  AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+
+  AC_REQUIRE([gl_MSVC_INVAL])
+  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+    REPLACE_FSTAT=1
+  fi
+
+  AC_REQUIRE([gl_HEADER_SYS_STAT_H])
+  if test $WINDOWS_64_BIT_ST_SIZE = 1; then
+    REPLACE_FSTAT=1
+  fi
+
+  dnl Replace fstat() for supporting the gnulib-defined open() on directories.
+  m4_ifdef([gl_FUNC_FCHDIR], [
+    gl_TEST_FCHDIR
+    if test $HAVE_FCHDIR = 0; then
+      case "$gl_cv_func_open_directory_works" in
+        *yes) ;;
+        *)
+          REPLACE_FSTAT=1
+          ;;
+      esac
+    fi
+  ])
+])
+
+# Prerequisites of lib/fstat.c.
+AC_DEFUN([gl_PREREQ_FSTAT], [:])
index d3bbe59..6f91bd9 100644 (file)
@@ -1,20 +1,25 @@
 # getcwd.m4 - check for working getcwd that is compatible with glibc
 
-# Copyright (C) 2001, 2003-2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 # Written by Paul Eggert.
-# serial 8
+# serial 12
 
 AC_DEFUN([gl_FUNC_GETCWD_NULL],
   [
    AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+   AC_CHECK_HEADERS_ONCE([unistd.h])
    AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result],
      [gl_cv_func_getcwd_null],
      [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
-#        include <unistd.h>
+#        if HAVE_UNISTD_H
+#         include <unistd.h>
+#        else /* on Windows with MSVC */
+#         include <direct.h>
+#        endif
 #        ifndef getcwd
          char *getcwd ();
 #        endif
@@ -40,15 +45,14 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL],
          ]])],
         [gl_cv_func_getcwd_null=yes],
         [gl_cv_func_getcwd_null=no],
-        [[
-       case "$host_os" in
-                               # Guess yes on glibc systems.
-         *-gnu*)               gl_cv_func_getcwd_null="guessing yes";;
-                               # Guess yes on Cygwin.
-         cygwin*)              gl_cv_func_getcwd_null="guessing yes";;
-                               # If we don't know, assume the worst.
-         *)                    gl_cv_func_getcwd_null="guessing no";;
-       esac
+        [[case "$host_os" in
+                     # Guess yes on glibc systems.
+            *-gnu*)  gl_cv_func_getcwd_null="guessing yes";;
+                     # Guess yes on Cygwin.
+            cygwin*) gl_cv_func_getcwd_null="guessing yes";;
+                     # If we don't know, assume the worst.
+            *)       gl_cv_func_getcwd_null="guessing no";;
+          esac
         ]])])
 ])
 
@@ -103,20 +107,43 @@ AC_DEFUN([gl_FUNC_GETCWD],
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 
   gl_abort_bug=no
-  case $gl_cv_func_getcwd_null,$host_os in
-  *,mingw*)
-    gl_cv_func_getcwd_path_max=yes;;
-  yes,*)
-    gl_FUNC_GETCWD_PATH_MAX
-    gl_FUNC_GETCWD_ABORT_BUG([gl_abort_bug=yes]);;
+  case "$host_os" in
+    mingw*)
+      gl_cv_func_getcwd_path_max=yes
+      ;;
+    *)
+      gl_FUNC_GETCWD_PATH_MAX
+      case "$gl_cv_func_getcwd_null" in
+        *yes)
+          gl_FUNC_GETCWD_ABORT_BUG([gl_abort_bug=yes])
+          ;;
+      esac
+      ;;
   esac
-
-  case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_posix_signature$gl_cv_func_getcwd_path_max,$gl_abort_bug in
-  *yes,yes,yes,no) ;;
-  *)
-    dnl Full replacement lib/getcwd.c, overrides LGPL replacement.
-    REPLACE_GETCWD=1;;
+  dnl Define HAVE_MINIMALLY_WORKING_GETCWD and HAVE_PARTLY_WORKING_GETCWD
+  dnl if appropriate.
+  case "$gl_cv_func_getcwd_path_max" in
+    "no"|"no, it has the AIX bug") ;;
+    *)
+      AC_DEFINE([HAVE_MINIMALLY_WORKING_GETCWD], [1],
+        [Define to 1 if getcwd minimally works, that is, its result can be
+         trusted when it succeeds.])
+      ;;
   esac
+  case "$gl_cv_func_getcwd_path_max" in
+    "no, but it is partly working")
+      AC_DEFINE([HAVE_PARTLY_WORKING_GETCWD], [1],
+        [Define to 1 if getcwd works, except it sometimes fails when it
+         shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT.])
+      ;;
+  esac
+
+  if { case "$gl_cv_func_getcwd_null" in *yes) false;; *) true;; esac; } \
+     || test $gl_cv_func_getcwd_posix_signature != yes \
+     || test "$gl_cv_func_getcwd_path_max" != yes \
+     || test $gl_abort_bug = yes; then
+    REPLACE_GETCWD=1
+  fi
 ])
 
 # Prerequisites of lib/getcwd.c, when full replacement is in effect.
index 40a598b..8f04b3b 100644 (file)
@@ -1,5 +1,5 @@
-# getdtablesize.m4 serial 2
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# getdtablesize.m4 serial 4
+dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -12,3 +12,6 @@ AC_DEFUN([gl_FUNC_GETDTABLESIZE],
     HAVE_GETDTABLESIZE=0
   fi
 ])
+
+# Prerequisites of lib/getdtablesize.c.
+AC_DEFUN([gl_PREREQ_GETDTABLESIZE], [:])
index 047a3db..50f4509 100644 (file)
@@ -1,5 +1,5 @@
-# getopt.m4 serial 38
-dnl Copyright (C) 2002-2006, 2008-2011 Free Software Foundation, Inc.
+# getopt.m4 serial 44
+dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -9,24 +9,21 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX],
 [
   m4_divert_text([DEFAULTS], [gl_getopt_required=POSIX])
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  AC_REQUIRE([gl_GETOPT_CHECK_HEADERS])
   dnl Other modules can request the gnulib implementation of the getopt
   dnl functions unconditionally, by defining gl_REPLACE_GETOPT_ALWAYS.
   dnl argp.m4 does this.
   m4_ifdef([gl_REPLACE_GETOPT_ALWAYS], [
-    gl_GETOPT_IFELSE([], [])
     REPLACE_GETOPT=1
   ], [
     REPLACE_GETOPT=0
-    gl_GETOPT_IFELSE([
+    if test -n "$gl_replace_getopt"; then
       REPLACE_GETOPT=1
-    ],
-    [])
+    fi
   ])
   if test $REPLACE_GETOPT = 1; then
     dnl Arrange for getopt.h to be created.
     gl_GETOPT_SUBSTITUTE_HEADER
-    dnl Arrange for unistd.h to include getopt.h.
-    GNULIB_UNISTD_H_GETOPT=1
   fi
 ])
 
@@ -40,13 +37,6 @@ AC_DEFUN([gl_FUNC_GETOPT_GNU],
   AC_REQUIRE([gl_FUNC_GETOPT_POSIX])
 ])
 
-# emacs' configure.in uses this.
-AC_DEFUN([gl_GETOPT_IFELSE],
-[
-  AC_REQUIRE([gl_GETOPT_CHECK_HEADERS])
-  AS_IF([test -n "$gl_replace_getopt"], [$1], [$2])
-])
-
 # Determine whether to replace the entire getopt facility.
 AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
 [
@@ -76,11 +66,6 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
     AC_CHECK_FUNCS([getopt_long_only], [], [gl_replace_getopt=yes])
   fi
 
-  dnl mingw's getopt (in libmingwex.a) does weird things when the options
-  dnl strings starts with '+' and it's not the first call.  Some internal state
-  dnl is left over from earlier calls, and neither setting optind = 0 nor
-  dnl setting optreset = 1 get rid of this internal state.
-  dnl POSIX is silent on optind vs. optreset, so we allow either behavior.
   dnl POSIX 2008 does not specify leading '+' behavior, but see
   dnl http://austingroupbugs.net/view.php?id=191 for a recommendation on
   dnl the next version of POSIX.  For now, we only guarantee leading '+'
@@ -89,30 +74,16 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
     AC_CACHE_CHECK([whether getopt is POSIX compatible],
       [gl_cv_func_getopt_posix],
       [
-        dnl BSD getopt_long uses an incompatible method to reset option
-        dnl processing.  Existence of the optreset variable, in and of
-        dnl itself, is not a reason to replace getopt, but knowledge
-        dnl of the variable is needed to determine how to reset and
-        dnl whether a reset reparses the environment.  Solaris
-        dnl supports neither optreset nor optind=0, but keeps no state
-        dnl that needs a reset beyond setting optind=1; detect Solaris
-        dnl by getopt_clip.
-        AC_LINK_IFELSE(
-          [AC_LANG_PROGRAM(
-             [[#include <unistd.h>]],
-             [[int *p = &optreset; return optreset;]])],
-          [gl_optind_min=1],
-          [AC_COMPILE_IFELSE(
-             [AC_LANG_PROGRAM(
-                [[#include <getopt.h>]],
-                [[return !getopt_clip;]])],
-             [gl_optind_min=1],
-             [gl_optind_min=0])])
-
-        dnl This test fails on mingw and succeeds on many other platforms.
-        gl_save_CPPFLAGS=$CPPFLAGS
-        CPPFLAGS="$CPPFLAGS -DOPTIND_MIN=$gl_optind_min"
-        AC_RUN_IFELSE([AC_LANG_SOURCE([[
+        dnl Merging these three different test programs into a single one
+        dnl would require a reset mechanism. On BSD systems, it can be done
+        dnl through 'optreset'; on some others (glibc), it can be done by
+        dnl setting 'optind' to 0; on others again (HP-UX, IRIX, OSF/1,
+        dnl Solaris 9, musl libc), there is no such mechanism.
+        if test $cross_compiling = no; then
+          dnl Sanity check. Succeeds everywhere (except on MSVC,
+          dnl which lacks <unistd.h> and getopt() entirely).
+          AC_RUN_IFELSE(
+            [AC_LANG_SOURCE([[
 #include <unistd.h>
 #include <stdlib.h>
 #include <string.h>
@@ -120,89 +91,107 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
 int
 main ()
 {
-  {
-    static char program[] = "program";
-    static char a[] = "-a";
-    static char foo[] = "foo";
-    static char bar[] = "bar";
-    char *argv[] = { program, a, foo, bar, NULL };
-    int c;
+  static char program[] = "program";
+  static char a[] = "-a";
+  static char foo[] = "foo";
+  static char bar[] = "bar";
+  char *argv[] = { program, a, foo, bar, NULL };
+  int c;
 
-    optind = OPTIND_MIN;
-    opterr = 0;
-
-    c = getopt (4, argv, "ab");
-    if (!(c == 'a'))
-      return 1;
-    c = getopt (4, argv, "ab");
-    if (!(c == -1))
-      return 2;
-    if (!(optind == 2))
-      return 3;
-  }
-  /* Some internal state exists at this point.  */
-  {
-    static char program[] = "program";
-    static char donald[] = "donald";
-    static char p[] = "-p";
-    static char billy[] = "billy";
-    static char duck[] = "duck";
-    static char a[] = "-a";
-    static char bar[] = "bar";
-    char *argv[] = { program, donald, p, billy, duck, a, bar, NULL };
-    int c;
+  c = getopt (4, argv, "ab");
+  if (!(c == 'a'))
+    return 1;
+  c = getopt (4, argv, "ab");
+  if (!(c == -1))
+    return 2;
+  if (!(optind == 2))
+    return 3;
+  return 0;
+}
+]])],
+            [gl_cv_func_getopt_posix=maybe],
+            [gl_cv_func_getopt_posix=no])
+          if test $gl_cv_func_getopt_posix = maybe; then
+            dnl Sanity check with '+'. Succeeds everywhere (except on MSVC,
+            dnl which lacks <unistd.h> and getopt() entirely).
+            AC_RUN_IFELSE(
+              [AC_LANG_SOURCE([[
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
 
-    optind = OPTIND_MIN;
-    opterr = 0;
+int
+main ()
+{
+  static char program[] = "program";
+  static char donald[] = "donald";
+  static char p[] = "-p";
+  static char billy[] = "billy";
+  static char duck[] = "duck";
+  static char a[] = "-a";
+  static char bar[] = "bar";
+  char *argv[] = { program, donald, p, billy, duck, a, bar, NULL };
+  int c;
 
-    c = getopt (7, argv, "+abp:q:");
-    if (!(c == -1))
-      return 4;
-    if (!(strcmp (argv[0], "program") == 0))
-      return 5;
-    if (!(strcmp (argv[1], "donald") == 0))
-      return 6;
-    if (!(strcmp (argv[2], "-p") == 0))
-      return 7;
-    if (!(strcmp (argv[3], "billy") == 0))
-      return 8;
-    if (!(strcmp (argv[4], "duck") == 0))
-      return 9;
-    if (!(strcmp (argv[5], "-a") == 0))
-      return 10;
-    if (!(strcmp (argv[6], "bar") == 0))
-      return 11;
-    if (!(optind == 1))
-      return 12;
-  }
-  /* Detect MacOS 10.5, AIX 7.1 bug.  */
-  {
-    static char program[] = "program";
-    static char ab[] = "-ab";
-    char *argv[3] = { program, ab, NULL };
-    optind = OPTIND_MIN;
-    opterr = 0;
-    if (getopt (2, argv, "ab:") != 'a')
-      return 13;
-    if (getopt (2, argv, "ab:") != '?')
-      return 14;
-    if (optopt != 'b')
-      return 15;
-    if (optind != 2)
-      return 16;
-  }
+  c = getopt (7, argv, "+abp:q:");
+  if (!(c == -1))
+    return 4;
+  if (!(strcmp (argv[0], "program") == 0))
+    return 5;
+  if (!(strcmp (argv[1], "donald") == 0))
+    return 6;
+  if (!(strcmp (argv[2], "-p") == 0))
+    return 7;
+  if (!(strcmp (argv[3], "billy") == 0))
+    return 8;
+  if (!(strcmp (argv[4], "duck") == 0))
+    return 9;
+  if (!(strcmp (argv[5], "-a") == 0))
+    return 10;
+  if (!(strcmp (argv[6], "bar") == 0))
+    return 11;
+  if (!(optind == 1))
+    return 12;
+  return 0;
+}
+]])],
+              [gl_cv_func_getopt_posix=maybe],
+              [gl_cv_func_getopt_posix=no])
+          fi
+          if test $gl_cv_func_getopt_posix = maybe; then
+            dnl Detect Mac OS X 10.5, AIX 7.1, mingw bug.
+            AC_RUN_IFELSE(
+              [AC_LANG_SOURCE([[
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
 
+int
+main ()
+{
+  static char program[] = "program";
+  static char ab[] = "-ab";
+  char *argv[3] = { program, ab, NULL };
+  if (getopt (2, argv, "ab:") != 'a')
+    return 13;
+  if (getopt (2, argv, "ab:") != '?')
+    return 14;
+  if (optopt != 'b')
+    return 15;
+  if (optind != 2)
+    return 16;
   return 0;
 }
 ]])],
-          [gl_cv_func_getopt_posix=yes], [gl_cv_func_getopt_posix=no],
-          [case "$host_os" in
-             mingw*)         gl_cv_func_getopt_posix="guessing no";;
-             darwin* | aix*) gl_cv_func_getopt_posix="guessing no";;
-             *)              gl_cv_func_getopt_posix="guessing yes";;
-           esac
-          ])
-        CPPFLAGS=$gl_save_CPPFLAGS
+              [gl_cv_func_getopt_posix=yes],
+              [gl_cv_func_getopt_posix=no])
+          fi
+        else
+          case "$host_os" in
+            darwin* | aix* | mingw*) gl_cv_func_getopt_posix="guessing no";;
+            *)                       gl_cv_func_getopt_posix="guessing yes";;
+          esac
+        fi
       ])
     case "$gl_cv_func_getopt_posix" in
       *no) gl_replace_getopt=yes ;;
@@ -238,7 +227,7 @@ dnl is ambiguous with environment values that contain newlines.
              nocrash_init();
 
              /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw,
-                and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5,
+                and fails on Mac OS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5,
                 OSF/1 5.1, Solaris 10.  */
              {
                static char conftest[] = "conftest";
@@ -249,7 +238,7 @@ dnl is ambiguous with environment values that contain newlines.
                  result |= 1;
              }
              /* This code succeeds on glibc 2.8, mingw,
-                and fails on MacOS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11,
+                and fails on Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11,
                 IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x.  */
              {
                static char program[] = "program";
@@ -278,7 +267,7 @@ dnl is ambiguous with environment values that contain newlines.
                if (getopt (3, argv, "-p") != 1)
                  result |= 16;
                else if (getopt (3, argv, "-p") != 'p')
-                 result |= 32;
+                 result |= 16;
              }
              /* This code fails on glibc 2.11.  */
              {
@@ -288,9 +277,9 @@ dnl is ambiguous with environment values that contain newlines.
                char *argv[] = { program, b, a, NULL };
                optind = opterr = 0;
                if (getopt (3, argv, "+:a:b") != 'b')
-                 result |= 64;
+                 result |= 32;
                else if (getopt (3, argv, "+:a:b") != ':')
-                 result |= 64;
+                 result |= 32;
              }
              /* This code dumps core on glibc 2.14.  */
              {
@@ -300,18 +289,14 @@ dnl is ambiguous with environment values that contain newlines.
                char *argv[] = { program, w, dummy, NULL };
                optind = opterr = 1;
                if (getopt (3, argv, "W;") != 'W')
-                 result |= 128;
+                 result |= 64;
              }
              return result;
            ]])],
         [gl_cv_func_getopt_gnu=yes],
         [gl_cv_func_getopt_gnu=no],
-        [dnl Cross compiling. Guess based on host and declarations.
-         case $host_os:$ac_cv_have_decl_optreset in
-           *-gnu*:* | mingw*:*) gl_cv_func_getopt_gnu=no;;
-           *:yes)               gl_cv_func_getopt_gnu=no;;
-           *)                   gl_cv_func_getopt_gnu=yes;;
-         esac
+        [dnl Cross compiling. Assume the worst, even on glibc platforms.
+         gl_cv_func_getopt_gnu="guessing no"
         ])
        case $gl_had_POSIXLY_CORRECT in
          exported) ;;
@@ -319,13 +304,54 @@ dnl is ambiguous with environment values that contain newlines.
          *) AS_UNSET([POSIXLY_CORRECT]) ;;
        esac
       ])
-    if test "$gl_cv_func_getopt_gnu" = "no"; then
+    if test "$gl_cv_func_getopt_gnu" != yes; then
       gl_replace_getopt=yes
+    else
+      AC_CACHE_CHECK([for working GNU getopt_long function],
+        [gl_cv_func_getopt_long_gnu],
+        [AC_RUN_IFELSE(
+           [AC_LANG_PROGRAM(
+              [[#include <getopt.h>
+                #include <stddef.h>
+                #include <string.h>
+              ]],
+              [[static const struct option long_options[] =
+                  {
+                    { "xtremely-",no_argument,       NULL, 1003 },
+                    { "xtra",     no_argument,       NULL, 1001 },
+                    { "xtreme",   no_argument,       NULL, 1002 },
+                    { "xtremely", no_argument,       NULL, 1003 },
+                    { NULL,       0,                 NULL, 0 }
+                  };
+                /* This code fails on OpenBSD 5.0.  */
+                {
+                  static char program[] = "program";
+                  static char xtremel[] = "--xtremel";
+                  char *argv[] = { program, xtremel, NULL };
+                  int option_index;
+                  optind = 1; opterr = 0;
+                  if (getopt_long (2, argv, "", long_options, &option_index) != 1003)
+                    return 1;
+                }
+                return 0;
+              ]])],
+           [gl_cv_func_getopt_long_gnu=yes],
+           [gl_cv_func_getopt_long_gnu=no],
+           [dnl Cross compiling. Guess no on OpenBSD, yes otherwise.
+            case "$host_os" in
+              openbsd*) gl_cv_func_getopt_long_gnu="guessing no";;
+              *)        gl_cv_func_getopt_long_gnu="guessing yes";;
+            esac
+           ])
+        ])
+      case "$gl_cv_func_getopt_long_gnu" in
+        *yes) ;;
+        *) gl_replace_getopt=yes ;;
+      esac
     fi
   fi
 ])
 
-# emacs' configure.in uses this.
 AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER],
 [
   GETOPT_H=getopt.h
@@ -336,7 +362,6 @@ AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER],
 ])
 
 # Prerequisites of lib/getopt*.
-# emacs' configure.in uses this.
 AC_DEFUN([gl_PREREQ_GETOPT],
 [
   AC_CHECK_DECLS_ONCE([getenv])
index f7ac1ef..06e893d 100644 (file)
@@ -1,5 +1,5 @@
 # getpagesize.m4 serial 9
-dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2011 Free Software Foundation,
+dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2013 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
similarity index 90%
rename from m4/gettext_gl.m4
rename to m4/gettext.m4
index d6dc3fe..8d1f066 100644 (file)
@@ -1,5 +1,5 @@
-# gettext.m4 serial 62 (gettext-0.18)
-dnl Copyright (C) 1995-2010 Free Software Foundation, Inc.
+# gettext.m4 serial 66 (gettext-0.18.2)
+dnl Copyright (C) 1995-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -15,7 +15,7 @@ dnl They are *not* in the public domain.
 
 dnl Authors:
 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2006.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
 
 dnl Macro to add for using GNU gettext.
 
@@ -35,7 +35,7 @@ dnl    will be ignored.  If NEEDSYMBOL is specified and is
 dnl    'need-formatstring-macros', then GNU gettext implementations that don't
 dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
 dnl INTLDIR is used to find the intl libraries.  If empty,
-dnl    the value `$(top_builddir)/intl/' is used.
+dnl    the value '$(top_builddir)/intl/' is used.
 dnl
 dnl The result of the configuration is one of three cases:
 dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
@@ -60,6 +60,8 @@ AC_DEFUN([AM_GNU_GETTEXT],
   ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
     [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
 ])])])])])
+  ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
+    [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
   ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
     [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
 ])])])])
@@ -95,7 +97,7 @@ AC_DEFUN([AM_GNU_GETTEXT],
     AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
   ])
 
-  dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
+  dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation.
   gt_INTL_MACOSX
 
   dnl Set USE_NLS.
@@ -155,12 +157,18 @@ changequote([,])dnl
         fi
 
         AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
-         [AC_TRY_LINK([#include <libintl.h>
+         [AC_LINK_IFELSE(
+            [AC_LANG_PROGRAM(
+               [[
+#include <libintl.h>
 $gt_revision_test_code
 extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;],
-            [bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings],
+extern int *_nl_domain_bindings;
+               ]],
+               [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
+               ]])],
             [eval "$gt_func_gnugettext_libc=yes"],
             [eval "$gt_func_gnugettext_libc=no"])])
 
@@ -181,35 +189,47 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_b
             gt_save_LIBS="$LIBS"
             LIBS="$LIBS $LIBINTL"
             dnl Now see whether libintl exists and does not depend on libiconv.
-            AC_TRY_LINK([#include <libintl.h>
+            AC_LINK_IFELSE(
+              [AC_LANG_PROGRAM(
+                 [[
+#include <libintl.h>
 $gt_revision_test_code
 extern int _nl_msg_cat_cntr;
 extern
 #ifdef __cplusplus
 "C"
 #endif
-const char *_nl_expand_alias (const char *);],
-              [bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+const char *_nl_expand_alias (const char *);
+                 ]],
+                 [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+                 ]])],
               [eval "$gt_func_gnugettext_libintl=yes"],
               [eval "$gt_func_gnugettext_libintl=no"])
             dnl Now see whether libintl exists and depends on libiconv.
             if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
               LIBS="$LIBS $LIBICONV"
-              AC_TRY_LINK([#include <libintl.h>
+              AC_LINK_IFELSE(
+                [AC_LANG_PROGRAM(
+                   [[
+#include <libintl.h>
 $gt_revision_test_code
 extern int _nl_msg_cat_cntr;
 extern
 #ifdef __cplusplus
 "C"
 #endif
-const char *_nl_expand_alias (const char *);],
-                [bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
-               [LIBINTL="$LIBINTL $LIBICONV"
-                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
-                eval "$gt_func_gnugettext_libintl=yes"
-               ])
+const char *_nl_expand_alias (const char *);
+                   ]],
+                   [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+                   ]])],
+                [LIBINTL="$LIBINTL $LIBICONV"
+                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+                 eval "$gt_func_gnugettext_libintl=yes"
+                ])
             fi
             CPPFLAGS="$gt_save_CPPFLAGS"
             LIBS="$gt_save_LIBS"])
index f2122dc..dc100de 100644 (file)
@@ -1,5 +1,5 @@
 # gettime.m4 serial 8
-dnl Copyright (C) 2002, 2004-2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004-2006, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 47c1e1d..3c05e59 100644 (file)
@@ -1,6 +1,6 @@
-# serial 17
+# serial 20
 
-# Copyright (C) 2001-2003, 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2003, 2005, 2007, 2009-2013 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -50,16 +50,22 @@ int gettimeofday (struct timeval *restrict, struct timezone *restrict);
     elif test $gl_cv_func_gettimeofday_posix_signature != yes; then
       REPLACE_GETTIMEOFDAY=1
     fi
+    dnl If we override 'struct timeval', we also have to override gettimeofday.
+    if test $REPLACE_STRUCT_TIMEVAL = 1; then
+      REPLACE_GETTIMEOFDAY=1
+    fi
     m4_ifdef([gl_FUNC_TZSET_CLOBBER], [
       gl_FUNC_TZSET_CLOBBER
-      if test $gl_cv_func_tzset_clobber = yes; then
-        REPLACE_GETTIMEOFDAY=1
-        gl_GETTIMEOFDAY_REPLACE_LOCALTIME
-        AC_DEFINE([tzset], [rpl_tzset],
-          [Define to rpl_tzset if the wrapper function should be used.])
-        AC_DEFINE([TZSET_CLOBBERS_LOCALTIME], [1],
-          [Define if tzset clobbers localtime's static buffer.])
-      fi
+      case "$gl_cv_func_tzset_clobber" in
+        *yes)
+          REPLACE_GETTIMEOFDAY=1
+          gl_GETTIMEOFDAY_REPLACE_LOCALTIME
+          AC_DEFINE([tzset], [rpl_tzset],
+            [Define to rpl_tzset if the wrapper function should be used.])
+          AC_DEFINE([TZSET_CLOBBERS_LOCALTIME], [1],
+            [Define if tzset clobbers localtime's static buffer.])
+          ;;
+      esac
     ])
   fi
   AC_DEFINE_UNQUOTED([GETTIMEOFDAY_TIMEZONE], [$gl_gettimeofday_timezone],
@@ -78,6 +84,7 @@ dnl the wrapper functions that work around the problem.
 AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER],
 [
  AC_REQUIRE([gl_HEADER_SYS_TIME_H])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 
  AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer],
   [gl_cv_func_gettimeofday_clobber],
@@ -100,15 +107,23 @@ AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER],
         ]])],
      [gl_cv_func_gettimeofday_clobber=no],
      [gl_cv_func_gettimeofday_clobber=yes],
-     dnl When crosscompiling, assume it is broken.
-     [gl_cv_func_gettimeofday_clobber=yes])])
+     [# When cross-compiling:
+      case "$host_os" in
+                # Guess all is fine on glibc systems.
+        *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
+                # If we don't know, assume the worst.
+        *)      gl_cv_func_gettimeofday_clobber="guessing yes" ;;
+      esac
+     ])])
 
- if test $gl_cv_func_gettimeofday_clobber = yes; then
-   REPLACE_GETTIMEOFDAY=1
-   gl_GETTIMEOFDAY_REPLACE_LOCALTIME
-   AC_DEFINE([GETTIMEOFDAY_CLOBBERS_LOCALTIME], [1],
-     [Define if gettimeofday clobbers the localtime buffer.])
- fi
+ case "$gl_cv_func_gettimeofday_clobber" in
+   *yes)
+     REPLACE_GETTIMEOFDAY=1
+     gl_GETTIMEOFDAY_REPLACE_LOCALTIME
+     AC_DEFINE([GETTIMEOFDAY_CLOBBERS_LOCALTIME], [1],
+       [Define if gettimeofday clobbers the localtime buffer.])
+     ;;
+ esac
 ])
 
 AC_DEFUN([gl_GETTIMEOFDAY_REPLACE_LOCALTIME], [
similarity index 65%
rename from m4/glibc21_gl.m4
rename to m4/glibc21.m4
index 68ada9d..613fb2a 100644 (file)
@@ -1,17 +1,18 @@
-# glibc21.m4 serial 4
-dnl Copyright (C) 2000-2002, 2004, 2008-2010 Free Software Foundation, Inc.
+# glibc21.m4 serial 5
+dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2013 Free Software Foundation,
+dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
-# Test for the GNU C Library, version 2.1 or newer.
+# Test for the GNU C Library, version 2.1 or newer, or uClibc.
 # From Bruno Haible.
 
 AC_DEFUN([gl_GLIBC21],
   [
-    AC_CACHE_CHECK([whether we are using the GNU C Library 2.1 or newer],
+    AC_CACHE_CHECK([whether we are using the GNU C Library >= 2.1 or uClibc],
       [ac_cv_gnu_library_2_1],
-      [AC_EGREP_CPP([Lucky GNU user],
+      [AC_EGREP_CPP([Lucky],
         [
 #include <features.h>
 #ifdef __GNU_LIBRARY__
@@ -19,6 +20,9 @@ AC_DEFUN([gl_GLIBC21],
   Lucky GNU user
  #endif
 #endif
+#ifdef __UCLIBC__
+ Lucky user
+#endif
         ],
         [ac_cv_gnu_library_2_1=yes],
         [ac_cv_gnu_library_2_1=no])
index 60f9c6b..68d15bc 100644 (file)
@@ -1,6 +1,6 @@
 # Determine whether recent-enough GNU Make is being used.
 
-# Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 9dc8fbe..0ae5a9e 100644 (file)
@@ -1,5 +1,5 @@
-# gnulib-common.m4 serial 29
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# gnulib-common.m4 serial 33
+dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -13,12 +13,13 @@ AC_DEFUN([gl_COMMON], [
 ])
 AC_DEFUN([gl_COMMON_BODY], [
   AH_VERBATIM([_Noreturn],
-[/* The _Noreturn keyword of draft C1X.  */
-#ifndef _Noreturn
+[/* The _Noreturn keyword of C11.  */
+#if ! (defined _Noreturn \
+       || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
 # if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
       || 0x5110 <= __SUNPRO_C)
 #  define _Noreturn __attribute__ ((__noreturn__))
-# elif 1200 <= _MSC_VER
+# elif defined _MSC_VER && 1200 <= _MSC_VER
 #  define _Noreturn __declspec (noreturn)
 # else
 #  define _Noreturn
@@ -29,7 +30,7 @@ AC_DEFUN([gl_COMMON_BODY], [
 [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
    the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
    earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
-   __APPLE__ && __MACH__ test for MacOS X.
+   __APPLE__ && __MACH__ test for Mac OS X.
    __APPLE_CC__ tests for the Apple compiler and its version.
    __STDC_VERSION__ tests for the C99 mode.  */
 #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
@@ -211,8 +212,33 @@ m4_ifndef([AS_VAR_IF],
 [m4_define([AS_VAR_IF],
 [AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])])
 
+# gl_PROG_CC_C99
+# Modifies the value of the shell variable CC in an attempt to make $CC
+# understand ISO C99 source code.
+# This is like AC_PROG_CC_C99, except that
+# - AC_PROG_CC_C99 did not exist in Autoconf versions < 2.60,
+# - AC_PROG_CC_C99 does not mix well with AC_PROG_CC_STDC
+#   <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00367.html>,
+#   but many more packages use AC_PROG_CC_STDC than AC_PROG_CC_C99
+#   <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00441.html>.
+# Remaining problems:
+# - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options
+#   to CC twice
+#   <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00431.html>.
+# - AC_PROG_CC_STDC is likely to change now that C11 is an ISO standard.
+AC_DEFUN([gl_PROG_CC_C99],
+[
+  dnl Change that version number to the minimum Autoconf version that supports
+  dnl mixing AC_PROG_CC_C99 calls with AC_PROG_CC_STDC calls.
+  m4_version_prereq([9.0],
+    [AC_REQUIRE([AC_PROG_CC_C99])],
+    [AC_REQUIRE([AC_PROG_CC_STDC])])
+])
+
 # gl_PROG_AR_RANLIB
 # Determines the values for AR, ARFLAGS, RANLIB that fit with the compiler.
+# The user can set the variables AR, ARFLAGS, RANLIB if he wants to override
+# the values.
 AC_DEFUN([gl_PROG_AR_RANLIB],
 [
   dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler
@@ -220,24 +246,47 @@ AC_DEFUN([gl_PROG_AR_RANLIB],
   dnl library formats. In particular, the GNU binutils programs ar, ranlib
   dnl produce libraries that work only with gcc, not with cc.
   AC_REQUIRE([AC_PROG_CC])
-  AC_EGREP_CPP([Amsterdam],
+  AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler],
     [
+      AC_EGREP_CPP([Amsterdam],
+        [
 #ifdef __ACK__
 Amsterdam
 #endif
-    ],
-    [AR='cc -c.a'
-     ARFLAGS='-o'
-     RANLIB=':'
-    ],
-    [dnl Use the Automake-documented default values for AR and ARFLAGS.
-     AR='ar'
-     ARFLAGS='cru'
-     dnl Use the ranlib program if it is available.
-     AC_PROG_RANLIB
+        ],
+        [gl_cv_c_amsterdam_compiler=yes],
+        [gl_cv_c_amsterdam_compiler=no])
     ])
+  if test -z "$AR"; then
+    if test $gl_cv_c_amsterdam_compiler = yes; then
+      AR='cc -c.a'
+      if test -z "$ARFLAGS"; then
+        ARFLAGS='-o'
+      fi
+    else
+      dnl Use the Automake-documented default values for AR and ARFLAGS,
+      dnl but prefer ${host}-ar over ar (useful for cross-compiling).
+      AC_CHECK_TOOL([AR], [ar], [ar])
+      if test -z "$ARFLAGS"; then
+        ARFLAGS='cru'
+      fi
+    fi
+  else
+    if test -z "$ARFLAGS"; then
+      ARFLAGS='cru'
+    fi
+  fi
   AC_SUBST([AR])
   AC_SUBST([ARFLAGS])
+  if test -z "$RANLIB"; then
+    if test $gl_cv_c_amsterdam_compiler = yes; then
+      RANLIB=':'
+    else
+      dnl Use the ranlib program if it is available.
+      AC_PROG_RANLIB
+    fi
+  fi
+  AC_SUBST([RANLIB])
 ])
 
 # AC_PROG_MKDIR_P
@@ -245,6 +294,8 @@ Amsterdam
 # for interoperability with automake-1.9.6 from autoconf-2.62.
 # Remove this macro when we can assume autoconf >= 2.62 or
 # autoconf >= 2.60 && automake >= 1.10.
+# AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness.
+m4_ifndef([AC_AUTOCONF_VERSION],[
 m4_ifdef([AC_PROG_MKDIR_P], [
   dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed.
   m4_define([AC_PROG_MKDIR_P],
@@ -255,13 +306,15 @@ m4_ifdef([AC_PROG_MKDIR_P], [
     [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
      MKDIR_P='$(mkdir_p)'
      AC_SUBST([MKDIR_P])])])
+])
 
 # AC_C_RESTRICT
 # This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61,
 # so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++
 # works.
 # This definition can be removed once autoconf >= 2.62 can be assumed.
-m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.62]),[-1],[
+# AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness.
+m4_ifndef([AC_AUTOCONF_VERSION],[
 AC_DEFUN([AC_C_RESTRICT],
 [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict],
   [ac_cv_c_restrict=no
index cdfcba1..b86a71e 100644 (file)
@@ -1,12 +1,22 @@
-# -*- buffer-read-only: t -*- vi: set ro:
 # DO NOT EDIT! GENERATED AUTOMATICALLY!
-# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
 #
-# This file is free software, distributed under the terms of the GNU
-# General Public License.  As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# You should have received a copy of the GNU General Public License
+# along with this file.  If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
@@ -32,7 +42,10 @@ AC_DEFUN([gl_EARLY],
   # Code from module alloca:
   # Code from module alloca-opt:
   # Code from module alloca-opt-tests:
+  # Code from module allocator:
   # Code from module announce-gen:
+  # Code from module areadlink:
+  # Code from module areadlink-tests:
   # Code from module argmatch:
   # Code from module argmatch-tests:
   # Code from module binary-io:
@@ -47,7 +60,11 @@ AC_DEFUN([gl_EARLY],
   # Code from module c-stack-tests:
   # Code from module c-strcase:
   # Code from module c-strcase-tests:
+  # Code from module c-strcaseeq:
+  # Code from module careadlinkat:
   # Code from module clock-time:
+  # Code from module close:
+  # Code from module close-tests:
   # Code from module config-h:
   # Code from module configmake:
   # Code from module diffseq:
@@ -69,11 +86,16 @@ AC_DEFUN([gl_EARLY],
   # Code from module exitfail:
   # Code from module extensions:
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  # Code from module extern-inline:
   # Code from module fcntl:
   # Code from module fcntl-h:
   # Code from module fcntl-h-tests:
   # Code from module fcntl-tests:
+  # Code from module fd-hook:
   # Code from module fdl:
+  # Code from module fdopen:
+  # Code from module fdopen-tests:
+  # Code from module fgetc-tests:
   # Code from module file-type:
   # Code from module filenamecat:
   # Code from module filenamecat-lgpl:
@@ -86,10 +108,15 @@ AC_DEFUN([gl_EARLY],
   # Code from module fpieee:
   AC_REQUIRE([gl_FP_IEEE])
   # Code from module fpucw:
+  # Code from module fputc-tests:
+  # Code from module fread-tests:
   # Code from module freopen:
   # Code from module freopen-safer:
   # Code from module freopen-safer-tests:
   # Code from module freopen-tests:
+  # Code from module fstat:
+  # Code from module fstat-tests:
+  # Code from module fwrite-tests:
   # Code from module gendocs:
   # Code from module getcwd-lgpl:
   # Code from module getcwd-lgpl-tests:
@@ -142,6 +169,8 @@ AC_DEFUN([gl_EARLY],
   # Code from module localcharset:
   # Code from module locale:
   # Code from module locale-tests:
+  # Code from module localeconv:
+  # Code from module localeconv-tests:
   # Code from module lstat:
   # Code from module lstat-tests:
   # Code from module maintainer-makefile:
@@ -170,12 +199,16 @@ AC_DEFUN([gl_EARLY],
   # Code from module memchr-tests:
   # Code from module mkstemp:
   # Code from module mktime:
+  # Code from module msvc-inval:
+  # Code from module msvc-nothrow:
   # Code from module multiarch:
   # Code from module nl_langinfo:
   # Code from module nl_langinfo-tests:
   # Code from module nocrash:
   # Code from module open:
   # Code from module open-tests:
+  # Code from module pathmax:
+  # Code from module pathmax-tests:
   # Code from module progname:
   # Code from module propername:
   # Code from module putenv:
@@ -183,18 +216,26 @@ AC_DEFUN([gl_EARLY],
   # Code from module quotearg:
   # Code from module quotearg-simple:
   # Code from module quotearg-simple-tests:
+  # Code from module raise:
+  # Code from module raise-tests:
+  # Code from module readlink:
+  # Code from module readlink-tests:
   # Code from module readme-release:
   # Code from module regex:
+  # Code from module regex-tests:
   # Code from module same-inode:
+  # Code from module secure_getenv:
   # Code from module setenv:
   # Code from module setenv-tests:
   # Code from module setlocale:
   # Code from module setlocale-tests:
   # Code from module sh-quote:
+  # Code from module sh-quote-tests:
   # Code from module sigaction:
   # Code from module sigaction-tests:
   # Code from module signal:
-  # Code from module signal-tests:
+  # Code from module signal-h:
+  # Code from module signal-h-tests:
   # Code from module sigprocmask:
   # Code from module sigprocmask-tests:
   # Code from module size_max:
@@ -216,9 +257,9 @@ AC_DEFUN([gl_EARLY],
   # Code from module stdarg:
   dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode
   dnl for the builtin va_copy to work.  With Autoconf 2.60 or later,
-  dnl AC_PROG_CC_STDC arranges for this.  With older Autoconf AC_PROG_CC_STDC
+  dnl gl_PROG_CC_C99 arranges for this.  With older Autoconf gl_PROG_CC_C99
   dnl shouldn't hurt, though installers are on their own to set c99 mode.
-  AC_REQUIRE([AC_PROG_CC_STDC])
+  gl_PROG_CC_C99
   # Code from module stdbool:
   # Code from module stdbool-tests:
   # Code from module stddef:
@@ -248,6 +289,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module strnlen1:
   # Code from module strptime:
   # Code from module strtoull:
+  # Code from module strtoull-tests:
   # Code from module strtoumax:
   # Code from module strtoumax-tests:
   # Code from module symlink:
@@ -256,9 +298,14 @@ AC_DEFUN([gl_EARLY],
   # Code from module sys_stat-tests:
   # Code from module sys_time:
   # Code from module sys_time-tests:
+  # Code from module sys_types:
+  # Code from module sys_types-tests:
   # Code from module sys_wait:
   # Code from module sys_wait-tests:
+  # Code from module system-quote:
   # Code from module tempname:
+  # Code from module test-framework-sh:
+  # Code from module test-framework-sh-tests:
   # Code from module time:
   # Code from module time-tests:
   # Code from module time_r:
@@ -283,8 +330,11 @@ AC_DEFUN([gl_EARLY],
   # Code from module useless-if-before-free:
   # Code from module usleep:
   # Code from module usleep-tests:
+  # Code from module vararrays:
   # Code from module vasnprintf:
   # Code from module vasnprintf-tests:
+  # Code from module vasprintf:
+  # Code from module vasprintf-tests:
   # Code from module vc-list-files:
   # Code from module vc-list-files-tests:
   # Code from module verify:
@@ -308,6 +358,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module xalloc-die-tests:
   # Code from module xalloc-oversized:
   # Code from module xfreopen:
+  # Code from module xreadlink:
   # Code from module xsize:
   # Code from module xstriconv:
   # Code from module xstrndup:
@@ -315,6 +366,8 @@ AC_DEFUN([gl_EARLY],
   # Code from module xstrtol-tests:
   # Code from module xstrtoumax:
   # Code from module xstrtoumax-tests:
+  # Code from module xvasprintf:
+  # Code from module xvasprintf-tests:
 ])
 
 # This macro should be invoked from ./configure.ac, in the section
@@ -333,353 +386,427 @@ AC_DEFUN([gl_INIT],
   m4_pushdef([gl_LIBSOURCES_DIR], [])
   gl_COMMON
   gl_source_base='lib'
-gl_FUNC_ALLOCA
-AC_REQUIRE([AC_C_INLINE])
-gl_FUNC_BTOWC
-if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then
-  AC_LIBOBJ([btowc])
-  gl_PREREQ_BTOWC
-fi
-gl_WCHAR_MODULE_INDICATOR([btowc])
-gl_C_STACK
-gl_CLOCK_TIME
-gl_CONFIG_H
-gl_CONFIGMAKE_PREP
-gl_DIRNAME
-gl_MODULE_INDICATOR([dirname])
-gl_DIRNAME_LGPL
-gl_DOUBLE_SLASH_ROOT
-gl_FUNC_DUP2
-if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then
-  AC_LIBOBJ([dup2])
-fi
-gl_UNISTD_MODULE_INDICATOR([dup2])
-gl_HEADER_ERRNO_H
-gl_ERROR
-if test $ac_cv_lib_error_at_line = no; then
-  AC_LIBOBJ([error])
-  gl_PREREQ_ERROR
-fi
-m4_ifdef([AM_XGETTEXT_OPTION],
-  [AM_][XGETTEXT_OPTION([--flag=error:3:c-format])
-   AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])])
-gl_FUNC_FCNTL
-if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
-  AC_LIBOBJ([fcntl])
-fi
-gl_FCNTL_MODULE_INDICATOR([fcntl])
-gl_FCNTL_H
-gl_FILE_NAME_CONCAT
-gl_MODULE_INDICATOR([filenamecat])
-gl_FILE_NAME_CONCAT_LGPL
-gl_FUNC_FNMATCH_POSIX
-if test -n "$FNMATCH_H"; then
-  AC_LIBOBJ([fnmatch])
-  gl_PREREQ_FNMATCH
-fi
-gl_FUNC_FNMATCH_GNU
-if test -n "$FNMATCH_H"; then
-  AC_LIBOBJ([fnmatch])
-  gl_PREREQ_FNMATCH
-fi
-gl_FUNC_FREOPEN
-if test $REPLACE_FREOPEN = 1; then
-  AC_LIBOBJ([freopen])
-  gl_PREREQ_FREOPEN
-fi
-gl_STDIO_MODULE_INDICATOR([freopen])
-gl_MODULE_INDICATOR([freopen-safer])
-gl_FUNC_GETDTABLESIZE
-if test $HAVE_GETDTABLESIZE = 0; then
-  AC_LIBOBJ([getdtablesize])
-fi
-gl_UNISTD_MODULE_INDICATOR([getdtablesize])
-gl_FUNC_GETOPT_GNU
-if test $REPLACE_GETOPT = 1; then
-  AC_LIBOBJ([getopt])
-  AC_LIBOBJ([getopt1])
-  gl_PREREQ_GETOPT
-fi
-gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu])
-gl_FUNC_GETOPT_POSIX
-if test $REPLACE_GETOPT = 1; then
-  AC_LIBOBJ([getopt])
-  AC_LIBOBJ([getopt1])
-  gl_PREREQ_GETOPT
-fi
-AC_SUBST([LIBINTL])
-AC_SUBST([LTLIBINTL])
-gl_GETTIME
-gl_FUNC_GETTIMEOFDAY
-if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then
-  AC_LIBOBJ([gettimeofday])
-  gl_PREREQ_GETTIMEOFDAY
-fi
-gl_SYS_TIME_MODULE_INDICATOR([gettimeofday])
-gl_GNU_MAKE
-# Autoconf 2.61a.99 and earlier don't support linking a file only
-# in VPATH builds.  But since GNUmakefile is for maintainer use
-# only, it does not matter if we skip the link with older autoconf.
-# Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
-# builds, so use a shell variable to bypass this.
-GNUmakefile=GNUmakefile
-m4_if(m4_version_compare([2.61a.100],
-        m4_defn([m4_PACKAGE_VERSION])), [1], [],
-      [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [],
-        [GNUmakefile=$GNUmakefile])])
-gl_HARD_LOCALE
-AM_ICONV
-m4_ifdef([gl_ICONV_MODULE_INDICATOR],
-  [gl_ICONV_MODULE_INDICATOR([iconv])])
-gl_ICONV_H
-gl_FUNC_ICONV_OPEN
-if test $REPLACE_ICONV_OPEN = 1; then
-  AC_LIBOBJ([iconv_open])
-fi
-if test $REPLACE_ICONV = 1; then
-  AC_LIBOBJ([iconv])
-  AC_LIBOBJ([iconv_close])
-fi
-AC_REQUIRE([AC_C_INLINE])
-gl_INLINE
-gl_INTTOSTR
-gl_INTTYPES_H
-gl_INTTYPES_INCOMPLETE
-gl_FUNC_ISWBLANK
-if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then
-  :
-else
-  if test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; then
-    AC_LIBOBJ([iswblank])
-  fi
-fi
-gl_WCTYPE_MODULE_INDICATOR([iswblank])
-gl_LANGINFO_H
-gl_LIBSIGSEGV
-gl_LOCALCHARSET
-LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\""
-AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT])
-gl_FUNC_LSTAT
-if test $REPLACE_LSTAT = 1; then
-  AC_LIBOBJ([lstat])
-  gl_PREREQ_LSTAT
-fi
-gl_SYS_STAT_MODULE_INDICATOR([lstat])
-AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER],
-  [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])])
-gl_FUNC_MALLOC_GNU
-if test $REPLACE_MALLOC = 1; then
-  AC_LIBOBJ([malloc])
-fi
-gl_MODULE_INDICATOR([malloc-gnu])
-gl_FUNC_MALLOC_POSIX
-if test $REPLACE_MALLOC = 1; then
-  AC_LIBOBJ([malloc])
-fi
-gl_STDLIB_MODULE_INDICATOR([malloc-posix])
-gl_MALLOCA
-gl_MBCHAR
-gl_MBITER
-gl_FUNC_MBRTOWC
-if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
-  AC_LIBOBJ([mbrtowc])
-  gl_PREREQ_MBRTOWC
-fi
-gl_WCHAR_MODULE_INDICATOR([mbrtowc])
-gl_STRING_MODULE_INDICATOR([mbscasecmp])
-gl_FUNC_MBSINIT
-if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then
-  AC_LIBOBJ([mbsinit])
-  gl_PREREQ_MBSINIT
-fi
-gl_WCHAR_MODULE_INDICATOR([mbsinit])
-gl_FUNC_MBSLEN
-gl_STRING_MODULE_INDICATOR([mbslen])
-gl_FUNC_MBSRTOWCS
-if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then
-  AC_LIBOBJ([mbsrtowcs])
-  AC_LIBOBJ([mbsrtowcs-state])
-  gl_PREREQ_MBSRTOWCS
-fi
-gl_WCHAR_MODULE_INDICATOR([mbsrtowcs])
-gl_STRING_MODULE_INDICATOR([mbsstr])
-gl_FUNC_MBTOWC
-if test $REPLACE_MBTOWC = 1; then
-  AC_LIBOBJ([mbtowc])
-  gl_PREREQ_MBTOWC
-fi
-gl_STDLIB_MODULE_INDICATOR([mbtowc])
-gl_MBITER
-gl_FUNC_MEMCHR
-if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then
-  AC_LIBOBJ([memchr])
-  gl_PREREQ_MEMCHR
-fi
-gl_STRING_MODULE_INDICATOR([memchr])
-gl_FUNC_MKSTEMP
-if test $HAVE_MKSTEMP = 0 || test $REPLACE_MKSTEMP = 1; then
-  AC_LIBOBJ([mkstemp])
-  gl_PREREQ_MKSTEMP
-fi
-gl_STDLIB_MODULE_INDICATOR([mkstemp])
-gl_FUNC_MKTIME
-if test $REPLACE_MKTIME = 1; then
-  AC_LIBOBJ([mktime])
-  gl_PREREQ_MKTIME
-fi
-gl_TIME_MODULE_INDICATOR([mktime])
-gl_MULTIARCH
-gl_FUNC_NL_LANGINFO
-if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then
-  AC_LIBOBJ([nl_langinfo])
-fi
-gl_LANGINFO_MODULE_INDICATOR([nl_langinfo])
-gl_FUNC_OPEN
-if test $REPLACE_OPEN = 1; then
-  AC_LIBOBJ([open])
-  gl_PREREQ_OPEN
-fi
-gl_FCNTL_MODULE_INDICATOR([open])
-AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
-AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include <errno.h>])
-m4_ifdef([AM_XGETTEXT_OPTION],
-  [AM_][XGETTEXT_OPTION([--keyword='proper_name:1,\"This is a proper name. See the gettext manual, section Names.\"'])
-   AM_][XGETTEXT_OPTION([--keyword='proper_name_utf8:1,\"This is a proper name. See the gettext manual, section Names.\"'])])
-gl_QUOTE
-gl_QUOTEARG
-gl_REGEX
-if test $ac_use_included_regex = yes; then
-  AC_LIBOBJ([regex])
-  gl_PREREQ_REGEX
-fi
-gl_SIGACTION
-if test $HAVE_SIGACTION = 0; then
-  AC_LIBOBJ([sigaction])
-  gl_PREREQ_SIGACTION
-fi
-gl_SIGNAL_MODULE_INDICATOR([sigaction])
-gl_SIGNAL_H
-gl_SIGNALBLOCKING
-if test $HAVE_POSIX_SIGNALBLOCKING = 0; then
-  AC_LIBOBJ([sigprocmask])
-  gl_PREREQ_SIGPROCMASK
-fi
-gl_SIGNAL_MODULE_INDICATOR([sigprocmask])
-gt_TYPE_SSIZE_T
-gl_FUNC_STAT
-if test $REPLACE_STAT = 1; then
-  AC_LIBOBJ([stat])
-  gl_PREREQ_STAT
-fi
-gl_SYS_STAT_MODULE_INDICATOR([stat])
-gl_STAT_TIME
-gl_STAT_BIRTHTIME
-gl_STDARG_H
-AM_STDBOOL_H
-gl_STDDEF_H
-gl_STDINT_H
-gl_STDIO_H
-gl_STDLIB_H
-gl_STRCASE
-if test $HAVE_STRCASECMP = 0; then
-  AC_LIBOBJ([strcasecmp])
-  gl_PREREQ_STRCASECMP
-fi
-if test $HAVE_STRNCASECMP = 0; then
-  AC_LIBOBJ([strncasecmp])
-  gl_PREREQ_STRNCASECMP
-fi
-gl_FUNC_STRERROR
-if test $REPLACE_STRERROR = 1; then
-  AC_LIBOBJ([strerror])
-fi
-gl_MODULE_INDICATOR([strerror])
-gl_STRING_MODULE_INDICATOR([strerror])
-AC_REQUIRE([gl_HEADER_ERRNO_H])
-AC_REQUIRE([gl_FUNC_STRERROR_0])
-if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then
-  AC_LIBOBJ([strerror-override])
-  gl_PREREQ_SYS_H_WINSOCK2
-fi
-gl_FUNC_GNU_STRFTIME
-if test $gl_cond_libtool = false; then
-  gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
-  gl_libdeps="$gl_libdeps $LIBICONV"
-fi
-gl_HEADER_STRING_H
-gl_HEADER_STRINGS_H
-gl_FUNC_STRNDUP
-if test $HAVE_STRNDUP = 0 || test $REPLACE_STRNDUP = 1; then
-  AC_LIBOBJ([strndup])
-fi
-gl_STRING_MODULE_INDICATOR([strndup])
-gl_FUNC_STRNLEN
-if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then
-  AC_LIBOBJ([strnlen])
-  gl_PREREQ_STRNLEN
-fi
-gl_STRING_MODULE_INDICATOR([strnlen])
-gl_FUNC_STRPTIME
-if test $HAVE_STRPTIME = 0; then
-  AC_LIBOBJ([strptime])
-  gl_PREREQ_STRPTIME
-fi
-gl_TIME_MODULE_INDICATOR([strptime])
-gl_FUNC_STRTOULL
-if test $HAVE_STRTOULL = 0; then
-  AC_LIBOBJ([strtoull])
-  gl_PREREQ_STRTOULL
-fi
-gl_STDLIB_MODULE_INDICATOR([strtoull])
-gl_FUNC_STRTOUMAX
-if test $ac_cv_func_strtoumax = no; then
-  AC_LIBOBJ([strtoumax])
-  gl_PREREQ_STRTOUMAX
-fi
-gl_INTTYPES_MODULE_INDICATOR([strtoumax])
-gl_HEADER_SYS_STAT_H
-AC_PROG_MKDIR_P
-gl_HEADER_SYS_TIME_H
-AC_PROG_MKDIR_P
-gl_SYS_WAIT_H
-AC_PROG_MKDIR_P
-gl_FUNC_GEN_TEMPNAME
-gl_HEADER_TIME_H
-gl_TIME_R
-if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then
-  AC_LIBOBJ([time_r])
-  gl_PREREQ_TIME_R
-fi
-gl_TIME_MODULE_INDICATOR([time_r])
-gl_TIMESPEC
-gl_UNISTD_H
-gl_LIBUNISTRING_LIBHEADER([0.9.2], [unistr.h])
-gl_MODULE_INDICATOR([unistr/u8-mbtoucr])
-gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr])
-gl_MODULE_INDICATOR([unistr/u8-uctomb])
-gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb])
-gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
-gl_LIBUNISTRING_LIBHEADER([0.9], [uniwidth.h])
-gl_LIBUNISTRING_MODULE([0.9.4], [uniwidth/width])
-gl_FUNC_GLIBC_UNLOCKED_IO
-gl_VERSION_ETC
-AC_SUBST([WARN_CFLAGS])
-gl_WCHAR_H
-gl_FUNC_WCRTOMB
-if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then
-  AC_LIBOBJ([wcrtomb])
-  gl_PREREQ_WCRTOMB
-fi
-gl_WCHAR_MODULE_INDICATOR([wcrtomb])
-gl_WCTYPE_H
-gl_FUNC_WCWIDTH
-if test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1; then
-  AC_LIBOBJ([wcwidth])
-fi
-gl_WCHAR_MODULE_INDICATOR([wcwidth])
-gl_XALLOC
-gl_XSTRNDUP
-gl_XSTRTOL
+  gl_FUNC_ALLOCA
+  gl_FUNC_BTOWC
+  if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then
+    AC_LIBOBJ([btowc])
+    gl_PREREQ_BTOWC
+  fi
+  gl_WCHAR_MODULE_INDICATOR([btowc])
+  gl_C_STACK
+  AC_CHECK_FUNCS_ONCE([readlinkat])
+  gl_CLOCK_TIME
+  gl_FUNC_CLOSE
+  if test $REPLACE_CLOSE = 1; then
+    AC_LIBOBJ([close])
+  fi
+  gl_UNISTD_MODULE_INDICATOR([close])
+  gl_CONFIG_H
+  gl_CONFIGMAKE_PREP
+  gl_DIRNAME
+  gl_MODULE_INDICATOR([dirname])
+  gl_DIRNAME_LGPL
+  gl_DOUBLE_SLASH_ROOT
+  gl_FUNC_DUP2
+  if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then
+    AC_LIBOBJ([dup2])
+    gl_PREREQ_DUP2
+  fi
+  gl_UNISTD_MODULE_INDICATOR([dup2])
+  gl_HEADER_ERRNO_H
+  gl_ERROR
+  if test $ac_cv_lib_error_at_line = no; then
+    AC_LIBOBJ([error])
+    gl_PREREQ_ERROR
+  fi
+  m4_ifdef([AM_XGETTEXT_OPTION],
+    [AM_][XGETTEXT_OPTION([--flag=error:3:c-format])
+     AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])])
+  AC_REQUIRE([gl_EXTERN_INLINE])
+  gl_FUNC_FCNTL
+  if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
+    AC_LIBOBJ([fcntl])
+  fi
+  gl_FCNTL_MODULE_INDICATOR([fcntl])
+  gl_FCNTL_H
+  gl_FILE_NAME_CONCAT
+  gl_MODULE_INDICATOR([filenamecat])
+  gl_FILE_NAME_CONCAT_LGPL
+  gl_FLOAT_H
+  if test $REPLACE_FLOAT_LDBL = 1; then
+    AC_LIBOBJ([float])
+  fi
+  if test $REPLACE_ITOLD = 1; then
+    AC_LIBOBJ([itold])
+  fi
+  gl_FUNC_FNMATCH_POSIX
+  if test -n "$FNMATCH_H"; then
+    AC_LIBOBJ([fnmatch])
+    gl_PREREQ_FNMATCH
+  fi
+  gl_FUNC_FNMATCH_GNU
+  if test -n "$FNMATCH_H"; then
+    AC_LIBOBJ([fnmatch])
+    gl_PREREQ_FNMATCH
+  fi
+  gl_FUNC_FREOPEN
+  if test $REPLACE_FREOPEN = 1; then
+    AC_LIBOBJ([freopen])
+    gl_PREREQ_FREOPEN
+  fi
+  gl_STDIO_MODULE_INDICATOR([freopen])
+  gl_MODULE_INDICATOR([freopen-safer])
+  gl_FUNC_FSTAT
+  if test $REPLACE_FSTAT = 1; then
+    AC_LIBOBJ([fstat])
+    gl_PREREQ_FSTAT
+  fi
+  gl_SYS_STAT_MODULE_INDICATOR([fstat])
+  gl_FUNC_GETDTABLESIZE
+  if test $HAVE_GETDTABLESIZE = 0; then
+    AC_LIBOBJ([getdtablesize])
+    gl_PREREQ_GETDTABLESIZE
+  fi
+  gl_UNISTD_MODULE_INDICATOR([getdtablesize])
+  gl_FUNC_GETOPT_GNU
+  if test $REPLACE_GETOPT = 1; then
+    AC_LIBOBJ([getopt])
+    AC_LIBOBJ([getopt1])
+    gl_PREREQ_GETOPT
+    dnl Arrange for unistd.h to include getopt.h.
+    GNULIB_GL_UNISTD_H_GETOPT=1
+  fi
+  AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT])
+  gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu])
+  gl_FUNC_GETOPT_POSIX
+  if test $REPLACE_GETOPT = 1; then
+    AC_LIBOBJ([getopt])
+    AC_LIBOBJ([getopt1])
+    gl_PREREQ_GETOPT
+    dnl Arrange for unistd.h to include getopt.h.
+    GNULIB_GL_UNISTD_H_GETOPT=1
+  fi
+  AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT])
+  AC_SUBST([LIBINTL])
+  AC_SUBST([LTLIBINTL])
+  gl_GETTIME
+  gl_FUNC_GETTIMEOFDAY
+  if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then
+    AC_LIBOBJ([gettimeofday])
+    gl_PREREQ_GETTIMEOFDAY
+  fi
+  gl_SYS_TIME_MODULE_INDICATOR([gettimeofday])
+  gl_GNU_MAKE
+  # Autoconf 2.61a.99 and earlier don't support linking a file only
+  # in VPATH builds.  But since GNUmakefile is for maintainer use
+  # only, it does not matter if we skip the link with older autoconf.
+  # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
+  # builds, so use a shell variable to bypass this.
+  GNUmakefile=GNUmakefile
+  m4_if(m4_version_compare([2.61a.100],
+          m4_defn([m4_PACKAGE_VERSION])), [1], [],
+        [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [],
+          [GNUmakefile=$GNUmakefile])])
+  gl_HARD_LOCALE
+  AM_ICONV
+  m4_ifdef([gl_ICONV_MODULE_INDICATOR],
+    [gl_ICONV_MODULE_INDICATOR([iconv])])
+  gl_ICONV_H
+  gl_FUNC_ICONV_OPEN
+  if test $REPLACE_ICONV_OPEN = 1; then
+    AC_LIBOBJ([iconv_open])
+  fi
+  if test $REPLACE_ICONV = 1; then
+    AC_LIBOBJ([iconv])
+    AC_LIBOBJ([iconv_close])
+  fi
+  gl_INLINE
+  gl_INTTOSTR
+  gl_INTTYPES_H
+  gl_INTTYPES_INCOMPLETE
+  gl_FUNC_ISWBLANK
+  if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then
+    :
+  else
+    if test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; then
+      AC_LIBOBJ([iswblank])
+    fi
+  fi
+  gl_WCTYPE_MODULE_INDICATOR([iswblank])
+  gl_LANGINFO_H
+  AC_REQUIRE([gl_LARGEFILE])
+  gl_LIBSIGSEGV
+  gl_LOCALCHARSET
+  LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\""
+  AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT])
+  gl_LOCALE_H
+  gl_FUNC_LOCALECONV
+  if test $REPLACE_LOCALECONV = 1; then
+    AC_LIBOBJ([localeconv])
+    gl_PREREQ_LOCALECONV
+  fi
+  gl_LOCALE_MODULE_INDICATOR([localeconv])
+  gl_FUNC_LSTAT
+  if test $REPLACE_LSTAT = 1; then
+    AC_LIBOBJ([lstat])
+    gl_PREREQ_LSTAT
+  fi
+  gl_SYS_STAT_MODULE_INDICATOR([lstat])
+  AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER],
+    [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])])
+  gl_FUNC_MALLOC_GNU
+  if test $REPLACE_MALLOC = 1; then
+    AC_LIBOBJ([malloc])
+  fi
+  gl_MODULE_INDICATOR([malloc-gnu])
+  gl_FUNC_MALLOC_POSIX
+  if test $REPLACE_MALLOC = 1; then
+    AC_LIBOBJ([malloc])
+  fi
+  gl_STDLIB_MODULE_INDICATOR([malloc-posix])
+  gl_MALLOCA
+  gl_MBCHAR
+  gl_MBITER
+  gl_FUNC_MBRTOWC
+  if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
+    AC_LIBOBJ([mbrtowc])
+    gl_PREREQ_MBRTOWC
+  fi
+  gl_WCHAR_MODULE_INDICATOR([mbrtowc])
+  gl_STRING_MODULE_INDICATOR([mbscasecmp])
+  gl_FUNC_MBSINIT
+  if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then
+    AC_LIBOBJ([mbsinit])
+    gl_PREREQ_MBSINIT
+  fi
+  gl_WCHAR_MODULE_INDICATOR([mbsinit])
+  gl_FUNC_MBSLEN
+  gl_STRING_MODULE_INDICATOR([mbslen])
+  gl_FUNC_MBSRTOWCS
+  if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then
+    AC_LIBOBJ([mbsrtowcs])
+    AC_LIBOBJ([mbsrtowcs-state])
+    gl_PREREQ_MBSRTOWCS
+  fi
+  gl_WCHAR_MODULE_INDICATOR([mbsrtowcs])
+  gl_STRING_MODULE_INDICATOR([mbsstr])
+  gl_FUNC_MBTOWC
+  if test $REPLACE_MBTOWC = 1; then
+    AC_LIBOBJ([mbtowc])
+    gl_PREREQ_MBTOWC
+  fi
+  gl_STDLIB_MODULE_INDICATOR([mbtowc])
+  gl_MBITER
+  gl_FUNC_MEMCHR
+  if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then
+    AC_LIBOBJ([memchr])
+    gl_PREREQ_MEMCHR
+  fi
+  gl_STRING_MODULE_INDICATOR([memchr])
+  gl_FUNC_MKSTEMP
+  if test $HAVE_MKSTEMP = 0 || test $REPLACE_MKSTEMP = 1; then
+    AC_LIBOBJ([mkstemp])
+    gl_PREREQ_MKSTEMP
+  fi
+  gl_STDLIB_MODULE_INDICATOR([mkstemp])
+  gl_FUNC_MKTIME
+  if test $REPLACE_MKTIME = 1; then
+    AC_LIBOBJ([mktime])
+    gl_PREREQ_MKTIME
+  fi
+  gl_TIME_MODULE_INDICATOR([mktime])
+  gl_MSVC_INVAL
+  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+    AC_LIBOBJ([msvc-inval])
+  fi
+  gl_MSVC_NOTHROW
+  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+    AC_LIBOBJ([msvc-nothrow])
+  fi
+  gl_MULTIARCH
+  gl_FUNC_NL_LANGINFO
+  if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then
+    AC_LIBOBJ([nl_langinfo])
+  fi
+  gl_LANGINFO_MODULE_INDICATOR([nl_langinfo])
+  gl_FUNC_OPEN
+  if test $REPLACE_OPEN = 1; then
+    AC_LIBOBJ([open])
+    gl_PREREQ_OPEN
+  fi
+  gl_FCNTL_MODULE_INDICATOR([open])
+  gl_PATHMAX
+  AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
+  AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include <errno.h>])
+  m4_ifdef([AM_XGETTEXT_OPTION],
+    [AM_][XGETTEXT_OPTION([--keyword='proper_name:1,\"This is a proper name. See the gettext manual, section Names.\"'])
+     AM_][XGETTEXT_OPTION([--keyword='proper_name_utf8:1,\"This is a proper name. See the gettext manual, section Names.\"'])])
+  gl_QUOTE
+  gl_QUOTEARG
+  gl_FUNC_RAISE
+  if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then
+    AC_LIBOBJ([raise])
+    gl_PREREQ_RAISE
+  fi
+  gl_SIGNAL_MODULE_INDICATOR([raise])
+  gl_FUNC_READLINK
+  if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then
+    AC_LIBOBJ([readlink])
+    gl_PREREQ_READLINK
+  fi
+  gl_UNISTD_MODULE_INDICATOR([readlink])
+  gl_REGEX
+  if test $ac_use_included_regex = yes; then
+    AC_LIBOBJ([regex])
+    gl_PREREQ_REGEX
+  fi
+  gl_FUNC_SECURE_GETENV
+  if test $HAVE_SECURE_GETENV = 0; then
+    AC_LIBOBJ([secure_getenv])
+    gl_PREREQ_SECURE_GETENV
+  fi
+  gl_STDLIB_MODULE_INDICATOR([secure_getenv])
+  gl_SIGACTION
+  if test $HAVE_SIGACTION = 0; then
+    AC_LIBOBJ([sigaction])
+    gl_PREREQ_SIGACTION
+  fi
+  gl_SIGNAL_MODULE_INDICATOR([sigaction])
+  gl_SIGNAL_H
+  gl_SIGNALBLOCKING
+  if test $HAVE_POSIX_SIGNALBLOCKING = 0; then
+    AC_LIBOBJ([sigprocmask])
+    gl_PREREQ_SIGPROCMASK
+  fi
+  gl_SIGNAL_MODULE_INDICATOR([sigprocmask])
+  gl_SIZE_MAX
+  gt_TYPE_SSIZE_T
+  gl_FUNC_STAT
+  if test $REPLACE_STAT = 1; then
+    AC_LIBOBJ([stat])
+    gl_PREREQ_STAT
+  fi
+  gl_SYS_STAT_MODULE_INDICATOR([stat])
+  gl_STAT_TIME
+  gl_STAT_BIRTHTIME
+  gl_STDARG_H
+  AM_STDBOOL_H
+  gl_STDDEF_H
+  gl_STDINT_H
+  gl_STDIO_H
+  gl_STDLIB_H
+  gl_STRCASE
+  if test $HAVE_STRCASECMP = 0; then
+    AC_LIBOBJ([strcasecmp])
+    gl_PREREQ_STRCASECMP
+  fi
+  if test $HAVE_STRNCASECMP = 0; then
+    AC_LIBOBJ([strncasecmp])
+    gl_PREREQ_STRNCASECMP
+  fi
+  gl_FUNC_STRERROR
+  if test $REPLACE_STRERROR = 1; then
+    AC_LIBOBJ([strerror])
+  fi
+  gl_MODULE_INDICATOR([strerror])
+  gl_STRING_MODULE_INDICATOR([strerror])
+  AC_REQUIRE([gl_HEADER_ERRNO_H])
+  AC_REQUIRE([gl_FUNC_STRERROR_0])
+  if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then
+    AC_LIBOBJ([strerror-override])
+    gl_PREREQ_SYS_H_WINSOCK2
+  fi
+  gl_FUNC_GNU_STRFTIME
+  if test $gl_cond_libtool = false; then
+    gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
+    gl_libdeps="$gl_libdeps $LIBICONV"
+  fi
+  gl_HEADER_STRING_H
+  gl_HEADER_STRINGS_H
+  gl_FUNC_STRNDUP
+  if test $HAVE_STRNDUP = 0 || test $REPLACE_STRNDUP = 1; then
+    AC_LIBOBJ([strndup])
+  fi
+  gl_STRING_MODULE_INDICATOR([strndup])
+  gl_FUNC_STRNLEN
+  if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then
+    AC_LIBOBJ([strnlen])
+    gl_PREREQ_STRNLEN
+  fi
+  gl_STRING_MODULE_INDICATOR([strnlen])
+  gl_FUNC_STRPTIME
+  if test $HAVE_STRPTIME = 0; then
+    AC_LIBOBJ([strptime])
+    gl_PREREQ_STRPTIME
+  fi
+  gl_TIME_MODULE_INDICATOR([strptime])
+  gl_FUNC_STRTOULL
+  if test $HAVE_STRTOULL = 0; then
+    AC_LIBOBJ([strtoull])
+    gl_PREREQ_STRTOULL
+  fi
+  gl_STDLIB_MODULE_INDICATOR([strtoull])
+  gl_FUNC_STRTOUMAX
+  if test $ac_cv_func_strtoumax = no; then
+    AC_LIBOBJ([strtoumax])
+    gl_PREREQ_STRTOUMAX
+  fi
+  gl_INTTYPES_MODULE_INDICATOR([strtoumax])
+  gl_HEADER_SYS_STAT_H
+  AC_PROG_MKDIR_P
+  gl_HEADER_SYS_TIME_H
+  AC_PROG_MKDIR_P
+  gl_SYS_TYPES_H
+  AC_PROG_MKDIR_P
+  gl_SYS_WAIT_H
+  AC_PROG_MKDIR_P
+  gl_FUNC_GEN_TEMPNAME
+  gl_HEADER_TIME_H
+  gl_TIME_R
+  if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then
+    AC_LIBOBJ([time_r])
+    gl_PREREQ_TIME_R
+  fi
+  gl_TIME_MODULE_INDICATOR([time_r])
+  gl_TIMESPEC
+  gl_UNISTD_H
+  gl_LIBUNISTRING_LIBHEADER([0.9.2], [unistr.h])
+  gl_MODULE_INDICATOR([unistr/u8-mbtoucr])
+  gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr])
+  gl_MODULE_INDICATOR([unistr/u8-uctomb])
+  gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb])
+  gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
+  gl_LIBUNISTRING_LIBHEADER([0.9], [uniwidth.h])
+  gl_LIBUNISTRING_MODULE([0.9.4], [uniwidth/width])
+  gl_FUNC_GLIBC_UNLOCKED_IO
+  AC_C_VARARRAYS
+  gl_FUNC_VASNPRINTF
+  gl_FUNC_VASPRINTF
+  gl_STDIO_MODULE_INDICATOR([vasprintf])
+  m4_ifdef([AM_XGETTEXT_OPTION],
+    [AM_][XGETTEXT_OPTION([--flag=asprintf:2:c-format])
+     AM_][XGETTEXT_OPTION([--flag=vasprintf:2:c-format])])
+  gl_VERSION_ETC
+  gl_WCHAR_H
+  gl_FUNC_WCRTOMB
+  if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then
+    AC_LIBOBJ([wcrtomb])
+    gl_PREREQ_WCRTOMB
+  fi
+  gl_WCHAR_MODULE_INDICATOR([wcrtomb])
+  gl_WCTYPE_H
+  gl_FUNC_WCWIDTH
+  if test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1; then
+    AC_LIBOBJ([wcwidth])
+  fi
+  gl_WCHAR_MODULE_INDICATOR([wcwidth])
+  gl_XALLOC
+  gl_XSIZE
+  gl_XSTRNDUP
+  gl_XSTRTOL
+  gl_XVASPRINTF
+  m4_ifdef([AM_XGETTEXT_OPTION],
+    [AM_][XGETTEXT_OPTION([--flag=xasprintf:1:c-format])])
   # End of code from modules
   m4_ifval(gl_LIBSOURCES_LIST, [
     m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ ||
@@ -726,120 +853,119 @@ changequote([, ])dnl
   AC_SUBST([gltests_WITNESS])
   gl_module_indicator_condition=$gltests_WITNESS
   m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition])
-gt_LOCALE_FR
-gt_LOCALE_FR_UTF8
-gt_LOCALE_FR
-gt_LOCALE_TR_UTF8
-gl_ENVIRON
-gl_UNISTD_MODULE_INDICATOR([environ])
-gl_FLOAT_H
-if test $REPLACE_FLOAT_LDBL = 1; then
-  AC_LIBOBJ([float])
-fi
-gl_FUNC_GETCWD_LGPL
-if test $REPLACE_GETCWD = 1; then
-  AC_LIBOBJ([getcwd-lgpl])
-fi
-gl_UNISTD_MODULE_INDICATOR([getcwd])
-gl_FUNC_GETPAGESIZE
-if test $REPLACE_GETPAGESIZE = 1; then
-  AC_LIBOBJ([getpagesize])
-fi
-gl_UNISTD_MODULE_INDICATOR([getpagesize])
-gl_LOCALE_H
-AC_CHECK_FUNCS_ONCE([newlocale])
-gt_LOCALE_FR
-gt_LOCALE_FR_UTF8
-gt_LOCALE_JA
-gt_LOCALE_ZH_CN
-gt_LOCALE_TR_UTF8
-gt_LOCALE_FR_UTF8
-gt_LOCALE_FR
-gt_LOCALE_FR_UTF8
-gt_LOCALE_JA
-gt_LOCALE_ZH_CN
-gt_LOCALE_FR_UTF8
-gt_LOCALE_ZH_CN
-dnl Check for prerequisites for memory fence checks.
-gl_FUNC_MMAP_ANON
-AC_CHECK_HEADERS_ONCE([sys/mman.h])
-AC_CHECK_FUNCS_ONCE([mprotect])
-gt_LOCALE_FR
-gt_LOCALE_FR_UTF8
-gl_FUNC_PUTENV
-if test $REPLACE_PUTENV = 1; then
-  AC_LIBOBJ([putenv])
-fi
-gl_STDLIB_MODULE_INDICATOR([putenv])
-gl_FUNC_SETENV
-if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
-  AC_LIBOBJ([setenv])
-fi
-gl_STDLIB_MODULE_INDICATOR([setenv])
-gl_FUNC_SETLOCALE
-if test $REPLACE_SETLOCALE = 1; then
-  AC_LIBOBJ([setlocale])
-  gl_PREREQ_SETLOCALE
-fi
-gl_LOCALE_MODULE_INDICATOR([setlocale])
-gt_LOCALE_FR
-gt_LOCALE_FR_UTF8
-gt_LOCALE_JA
-gt_LOCALE_ZH_CN
-gl_SIZE_MAX
-gl_FUNC_SLEEP
-if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then
-  AC_LIBOBJ([sleep])
-fi
-gl_UNISTD_MODULE_INDICATOR([sleep])
-AC_CHECK_DECLS_ONCE([alarm])
-gl_FUNC_SNPRINTF
-gl_STDIO_MODULE_INDICATOR([snprintf])
-gl_MODULE_INDICATOR([snprintf])
-gt_TYPE_WCHAR_T
-gt_TYPE_WINT_T
-dnl Check for prerequisites for memory fence checks.
-gl_FUNC_MMAP_ANON
-AC_CHECK_HEADERS_ONCE([sys/mman.h])
-AC_CHECK_FUNCS_ONCE([mprotect])
-gl_FUNC_SYMLINK
-if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then
-  AC_LIBOBJ([symlink])
-fi
-gl_UNISTD_MODULE_INDICATOR([symlink])
-gl_FUNC_UNSETENV
-if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
-  AC_LIBOBJ([unsetenv])
-  gl_PREREQ_UNSETENV
-fi
-gl_STDLIB_MODULE_INDICATOR([unsetenv])
-abs_aux_dir=`cd "$ac_aux_dir"; pwd`
-AC_SUBST([abs_aux_dir])
-gl_FUNC_USLEEP
-if test $HAVE_USLEEP = 0 || test $REPLACE_USLEEP = 1; then
-  AC_LIBOBJ([usleep])
-fi
-gl_UNISTD_MODULE_INDICATOR([usleep])
-gl_FUNC_VASNPRINTF
-abs_aux_dir=`cd "$ac_aux_dir"; pwd`
-AC_SUBST([abs_aux_dir])
-gt_LOCALE_FR
-gt_LOCALE_FR_UTF8
-gt_LOCALE_JA
-gt_LOCALE_ZH_CN
-gl_FUNC_WCTOB
-if test $HAVE_WCTOB = 0 || test $REPLACE_WCTOB = 1; then
-  AC_LIBOBJ([wctob])
-  gl_PREREQ_WCTOB
-fi
-gl_WCHAR_MODULE_INDICATOR([wctob])
-gl_FUNC_WCTOMB
-if test $REPLACE_WCTOMB = 1; then
-  AC_LIBOBJ([wctomb])
-  gl_PREREQ_WCTOMB
-fi
-gl_STDLIB_MODULE_INDICATOR([wctomb])
-gl_XSIZE
+  gt_LOCALE_FR
+  gt_LOCALE_FR_UTF8
+  gt_LOCALE_FR
+  gt_LOCALE_TR_UTF8
+  gl_ENVIRON
+  gl_UNISTD_MODULE_INDICATOR([environ])
+  gl_FUNC_FDOPEN
+  if test $REPLACE_FDOPEN = 1; then
+    AC_LIBOBJ([fdopen])
+    gl_PREREQ_FDOPEN
+  fi
+  gl_STDIO_MODULE_INDICATOR([fdopen])
+  gl_FUNC_GETCWD_LGPL
+  if test $REPLACE_GETCWD = 1; then
+    AC_LIBOBJ([getcwd-lgpl])
+  fi
+  gl_UNISTD_MODULE_INDICATOR([getcwd])
+  gl_FUNC_GETPAGESIZE
+  if test $REPLACE_GETPAGESIZE = 1; then
+    AC_LIBOBJ([getpagesize])
+  fi
+  gl_UNISTD_MODULE_INDICATOR([getpagesize])
+  AC_CHECK_FUNCS_ONCE([newlocale])
+  gt_LOCALE_FR
+  gt_LOCALE_FR_UTF8
+  gt_LOCALE_JA
+  gt_LOCALE_ZH_CN
+  gt_LOCALE_TR_UTF8
+  gt_LOCALE_FR_UTF8
+  gt_LOCALE_FR
+  gt_LOCALE_FR_UTF8
+  gt_LOCALE_JA
+  gt_LOCALE_ZH_CN
+  gt_LOCALE_FR_UTF8
+  gt_LOCALE_ZH_CN
+  dnl Check for prerequisites for memory fence checks.
+  gl_FUNC_MMAP_ANON
+  AC_CHECK_HEADERS_ONCE([sys/mman.h])
+  AC_CHECK_FUNCS_ONCE([mprotect])
+  gt_LOCALE_FR
+  gt_LOCALE_FR_UTF8
+  gl_FUNC_PUTENV
+  if test $REPLACE_PUTENV = 1; then
+    AC_LIBOBJ([putenv])
+    gl_PREREQ_PUTENV
+  fi
+  gl_STDLIB_MODULE_INDICATOR([putenv])
+  gl_FUNC_SETENV
+  if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
+    AC_LIBOBJ([setenv])
+  fi
+  gl_STDLIB_MODULE_INDICATOR([setenv])
+  gl_FUNC_SETLOCALE
+  if test $REPLACE_SETLOCALE = 1; then
+    AC_LIBOBJ([setlocale])
+    gl_PREREQ_SETLOCALE
+  fi
+  gl_LOCALE_MODULE_INDICATOR([setlocale])
+  gt_LOCALE_FR
+  gt_LOCALE_FR_UTF8
+  gt_LOCALE_JA
+  gt_LOCALE_ZH_CN
+  gl_FUNC_SLEEP
+  if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then
+    AC_LIBOBJ([sleep])
+  fi
+  gl_UNISTD_MODULE_INDICATOR([sleep])
+  AC_CHECK_DECLS_ONCE([alarm])
+  gl_FUNC_SNPRINTF
+  gl_STDIO_MODULE_INDICATOR([snprintf])
+  gl_MODULE_INDICATOR([snprintf])
+  AC_REQUIRE([gt_TYPE_WCHAR_T])
+  AC_REQUIRE([gt_TYPE_WINT_T])
+  dnl Check for prerequisites for memory fence checks.
+  gl_FUNC_MMAP_ANON
+  AC_CHECK_HEADERS_ONCE([sys/mman.h])
+  AC_CHECK_FUNCS_ONCE([mprotect])
+  gl_FUNC_SYMLINK
+  if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then
+    AC_LIBOBJ([symlink])
+  fi
+  gl_UNISTD_MODULE_INDICATOR([symlink])
+  gl_FUNC_UNSETENV
+  if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
+    AC_LIBOBJ([unsetenv])
+    gl_PREREQ_UNSETENV
+  fi
+  gl_STDLIB_MODULE_INDICATOR([unsetenv])
+  abs_aux_dir=`cd "$ac_aux_dir"; pwd`
+  AC_SUBST([abs_aux_dir])
+  gl_FUNC_USLEEP
+  if test $HAVE_USLEEP = 0 || test $REPLACE_USLEEP = 1; then
+    AC_LIBOBJ([usleep])
+  fi
+  gl_UNISTD_MODULE_INDICATOR([usleep])
+  abs_aux_dir=`cd "$ac_aux_dir"; pwd`
+  AC_SUBST([abs_aux_dir])
+  gt_LOCALE_FR
+  gt_LOCALE_FR_UTF8
+  gt_LOCALE_JA
+  gt_LOCALE_ZH_CN
+  gl_FUNC_WCTOB
+  if test $HAVE_WCTOB = 0 || test $REPLACE_WCTOB = 1; then
+    AC_LIBOBJ([wctob])
+    gl_PREREQ_WCTOB
+  fi
+  gl_WCHAR_MODULE_INDICATOR([wctob])
+  gl_FUNC_WCTOMB
+  if test $REPLACE_WCTOMB = 1; then
+    AC_LIBOBJ([wctomb])
+    gl_PREREQ_WCTOMB
+  fi
+  gl_STDLIB_MODULE_INDICATOR([wctomb])
   m4_popdef([gl_MODULE_INDICATOR_CONDITION])
   m4_ifval(gltests_LIBSOURCES_LIST, [
     m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ ||
@@ -956,9 +1082,18 @@ AC_DEFUN([gl_FILE_LIST], [
   doc/gendocs_template
   lib/alloca.c
   lib/alloca.in.h
+  lib/allocator.c
+  lib/allocator.h
   lib/anytostr.c
+  lib/areadlink.c
+  lib/areadlink.h
+  lib/asnprintf.c
+  lib/asprintf.c
   lib/basename-lgpl.c
   lib/basename.c
+  lib/binary-io.c
+  lib/binary-io.h
+  lib/bitrotate.c
   lib/bitrotate.h
   lib/btowc.c
   lib/c-ctype.c
@@ -967,7 +1102,11 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/c-stack.h
   lib/c-strcase.h
   lib/c-strcasecmp.c
+  lib/c-strcaseeq.h
   lib/c-strncasecmp.c
+  lib/careadlinkat.c
+  lib/careadlinkat.h
+  lib/close.c
   lib/config.charset
   lib/diffseq.h
   lib/dirname-lgpl.c
@@ -984,16 +1123,22 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/exitfail.h
   lib/fcntl.c
   lib/fcntl.in.h
+  lib/fd-hook.c
+  lib/fd-hook.h
   lib/file-type.c
   lib/file-type.h
   lib/filenamecat-lgpl.c
   lib/filenamecat.c
   lib/filenamecat.h
+  lib/float+.h
+  lib/float.c
+  lib/float.in.h
   lib/fnmatch.c
   lib/fnmatch.in.h
   lib/fnmatch_loop.c
   lib/freopen-safer.c
   lib/freopen.c
+  lib/fstat.c
   lib/getdtablesize.c
   lib/getopt.c
   lib/getopt.in.h
@@ -1022,9 +1167,12 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/inttostr.h
   lib/inttypes.in.h
   lib/iswblank.c
+  lib/itold.c
   lib/langinfo.in.h
   lib/localcharset.c
   lib/localcharset.h
+  lib/locale.in.h
+  lib/localeconv.c
   lib/lstat.c
   lib/malloc.c
   lib/malloca.c
@@ -1032,6 +1180,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/malloca.valgrind
   lib/mbchar.c
   lib/mbchar.h
+  lib/mbiter.c
   lib/mbiter.h
   lib/mbrtowc.c
   lib/mbscasecmp.c
@@ -1043,23 +1192,34 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/mbsstr.c
   lib/mbtowc-impl.h
   lib/mbtowc.c
+  lib/mbuiter.c
   lib/mbuiter.h
   lib/memchr.c
   lib/memchr.valgrind
   lib/mkstemp.c
   lib/mktime-internal.h
   lib/mktime.c
+  lib/msvc-inval.c
+  lib/msvc-inval.h
+  lib/msvc-nothrow.c
+  lib/msvc-nothrow.h
   lib/nl_langinfo.c
   lib/offtostr.c
   lib/open.c
+  lib/pathmax.h
+  lib/printf-args.c
+  lib/printf-args.h
+  lib/printf-parse.c
+  lib/printf-parse.h
   lib/progname.c
   lib/progname.h
   lib/propername.c
   lib/propername.h
-  lib/quote.c
   lib/quote.h
   lib/quotearg.c
   lib/quotearg.h
+  lib/raise.c
+  lib/readlink.c
   lib/ref-add.sin
   lib/ref-del.sin
   lib/regcomp.c
@@ -1068,13 +1228,17 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/regex_internal.c
   lib/regex_internal.h
   lib/regexec.c
+  lib/secure_getenv.c
   lib/sh-quote.c
   lib/sh-quote.h
+  lib/sig-handler.c
   lib/sig-handler.h
   lib/sigaction.c
   lib/signal.in.h
   lib/sigprocmask.c
+  lib/size_max.h
   lib/stat-macros.h
+  lib/stat-time.c
   lib/stat-time.h
   lib/stat.c
   lib/stdarg.in.h
@@ -1111,16 +1275,21 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/strtoumax.c
   lib/sys_stat.in.h
   lib/sys_time.in.h
+  lib/sys_types.in.h
   lib/sys_wait.in.h
+  lib/system-quote.c
+  lib/system-quote.h
   lib/tempname.c
   lib/tempname.h
   lib/time.in.h
   lib/time_r.c
+  lib/timespec.c
   lib/timespec.h
   lib/trim.c
   lib/trim.h
   lib/uinttostr.c
   lib/umaxtostr.c
+  lib/unistd.c
   lib/unistd.in.h
   lib/unistr.in.h
   lib/unistr/u8-mbtoucr.c
@@ -1131,20 +1300,29 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/uniwidth/cjk.h
   lib/uniwidth/width.c
   lib/unlocked-io.h
+  lib/vasnprintf.c
+  lib/vasnprintf.h
+  lib/vasprintf.c
   lib/verify.h
   lib/version-etc-fsf.c
   lib/version-etc.c
   lib/version-etc.h
   lib/wchar.in.h
   lib/wcrtomb.c
+  lib/wctype-h.c
   lib/wctype.in.h
   lib/wcwidth.c
   lib/xalloc-die.c
   lib/xalloc-oversized.h
   lib/xalloc.h
+  lib/xasprintf.c
   lib/xfreopen.c
   lib/xfreopen.h
   lib/xmalloc.c
+  lib/xreadlink.c
+  lib/xreadlink.h
+  lib/xsize.c
+  lib/xsize.h
   lib/xstriconv.c
   lib/xstriconv.h
   lib/xstrndup.c
@@ -1154,11 +1332,14 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/xstrtol.h
   lib/xstrtoul.c
   lib/xstrtoumax.c
+  lib/xvasprintf.c
+  lib/xvasprintf.h
   m4/00gnulib.m4
   m4/alloca.m4
   m4/btowc.m4
   m4/c-stack.m4
   m4/clock_time.m4
+  m4/close.m4
   m4/codeset.m4
   m4/config-h.m4
   m4/configmake.m4
@@ -1169,15 +1350,19 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/environ.m4
   m4/errno_h.m4
   m4/error.m4
+  m4/exponentd.m4
   m4/extensions.m4
+  m4/extern-inline.m4
   m4/fcntl-o.m4
   m4/fcntl.m4
   m4/fcntl_h.m4
+  m4/fdopen.m4
   m4/filenamecat.m4
   m4/float_h.m4
   m4/fnmatch.m4
   m4/fpieee.m4
   m4/freopen.m4
+  m4/fstat.m4
   m4/getcwd.m4
   m4/getdtablesize.m4
   m4/getopt.m4
@@ -1212,11 +1397,13 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/locale-tr.m4
   m4/locale-zh.m4
   m4/locale_h.m4
+  m4/localeconv.m4
   m4/longlong.m4
   m4/lstat.m4
   m4/malloc.m4
   m4/malloca.m4
   m4/manywarnings.m4
+  m4/math_h.m4
   m4/mbchar.m4
   m4/mbiter.m4
   m4/mbrtowc.m4
@@ -1230,15 +1417,22 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/mktime.m4
   m4/mmap-anon.m4
   m4/mode_t.m4
+  m4/msvc-inval.m4
+  m4/msvc-nothrow.m4
   m4/multiarch.m4
   m4/nl_langinfo.m4
   m4/nocrash.m4
+  m4/off_t.m4
   m4/open.m4
+  m4/pathmax.m4
   m4/printf.m4
   m4/putenv.m4
   m4/quote.m4
   m4/quotearg.m4
+  m4/raise.m4
+  m4/readlink.m4
   m4/regex.m4
+  m4/secure_getenv.m4
   m4/setenv.m4
   m4/setlocale.m4
   m4/sigaction.m4
@@ -1271,6 +1465,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/sys_socket_h.m4
   m4/sys_stat_h.m4
   m4/sys_time_h.m4
+  m4/sys_types_h.m4
   m4/sys_wait_h.m4
   m4/tempname.m4
   m4/time_h.m4
@@ -1280,7 +1475,9 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/unistd_h.m4
   m4/unlocked-io.m4
   m4/usleep.m4
+  m4/vararrays.m4
   m4/vasnprintf.m4
+  m4/vasprintf.m4
   m4/version-etc.m4
   m4/warn-on-use.m4
   m4/warnings.m4
@@ -1296,10 +1493,13 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/xsize.m4
   m4/xstrndup.m4
   m4/xstrtol.m4
+  m4/xvasprintf.m4
   tests/init.sh
   tests/macros.h
   tests/signature.h
   tests/test-alloca-opt.c
+  tests/test-areadlink.c
+  tests/test-areadlink.h
   tests/test-argmatch.c
   tests/test-binary-io.c
   tests/test-binary-io.sh
@@ -1314,6 +1514,7 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-c-strcase.sh
   tests/test-c-strcasecmp.c
   tests/test-c-strncasecmp.c
+  tests/test-close.c
   tests/test-dirname.c
   tests/test-dup2.c
   tests/test-environ.c
@@ -1329,11 +1530,17 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-exclude8.sh
   tests/test-fcntl-h.c
   tests/test-fcntl.c
+  tests/test-fdopen.c
+  tests/test-fgetc.c
   tests/test-filenamecat.c
   tests/test-float.c
   tests/test-fnmatch.c
+  tests/test-fputc.c
+  tests/test-fread.c
   tests/test-freopen-safer.c
   tests/test-freopen.c
+  tests/test-fstat.c
+  tests/test-fwrite.c
   tests/test-getcwd-lgpl.c
   tests/test-getdtablesize.c
   tests/test-getopt.c
@@ -1344,12 +1551,14 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-iconv-h.c
   tests/test-iconv.c
   tests/test-ignore-value.c
+  tests/test-init.sh
   tests/test-intprops.c
   tests/test-inttostr.c
   tests/test-inttypes.c
   tests/test-iswblank.c
   tests/test-langinfo.c
   tests/test-locale.c
+  tests/test-localeconv.c
   tests/test-lstat.c
   tests/test-lstat.h
   tests/test-malloc-gnu.c
@@ -1384,15 +1593,21 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-nl_langinfo.sh
   tests/test-open.c
   tests/test-open.h
+  tests/test-pathmax.c
   tests/test-quotearg-simple.c
   tests/test-quotearg.h
+  tests/test-raise.c
+  tests/test-readlink.c
+  tests/test-readlink.h
+  tests/test-regex.c
   tests/test-setenv.c
   tests/test-setlocale1.c
   tests/test-setlocale1.sh
   tests/test-setlocale2.c
   tests/test-setlocale2.sh
+  tests/test-sh-quote.c
   tests/test-sigaction.c
-  tests/test-signal.c
+  tests/test-signal-h.c
   tests/test-sigprocmask.c
   tests/test-sleep.c
   tests/test-snprintf.c
@@ -1410,11 +1625,13 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-string.c
   tests/test-strings.c
   tests/test-strnlen.c
+  tests/test-strtoull.c
   tests/test-strtoumax.c
   tests/test-symlink.c
   tests/test-symlink.h
   tests/test-sys_stat.c
   tests/test-sys_time.c
+  tests/test-sys_types.c
   tests/test-sys_wait.c
   tests/test-sys_wait.h
   tests/test-time.c
@@ -1423,6 +1640,7 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-update-copyright.sh
   tests/test-usleep.c
   tests/test-vasnprintf.c
+  tests/test-vasprintf.c
   tests/test-vc-list-files-cvs.sh
   tests/test-vc-list-files-git.sh
   tests/test-verify.c
@@ -1447,6 +1665,7 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-xstrtoul.c
   tests/test-xstrtoumax.c
   tests/test-xstrtoumax.sh
+  tests/test-xvasprintf.c
   tests/unistr/test-u8-mbtoucr.c
   tests/unistr/test-u8-uctomb.c
   tests/uniwidth/test-uc_width.c
@@ -1455,37 +1674,24 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/zerosize-ptr.h
   tests=lib/argmatch.c
   tests=lib/argmatch.h
-  tests=lib/asnprintf.c
-  tests=lib/binary-io.h
-  tests=lib/float+.h
-  tests=lib/float.c
-  tests=lib/float.in.h
+  tests=lib/fdopen.c
   tests=lib/fpucw.h
   tests=lib/getcwd-lgpl.c
   tests=lib/getpagesize.c
   tests=lib/hash-pjw.c
   tests=lib/hash-pjw.h
-  tests=lib/locale.in.h
-  tests=lib/printf-args.c
-  tests=lib/printf-args.h
-  tests=lib/printf-parse.c
-  tests=lib/printf-parse.h
   tests=lib/putenv.c
   tests=lib/same-inode.h
   tests=lib/setenv.c
   tests=lib/setlocale.c
-  tests=lib/size_max.h
   tests=lib/sleep.c
   tests=lib/snprintf.c
   tests=lib/symlink.c
   tests=lib/unsetenv.c
   tests=lib/usleep.c
-  tests=lib/vasnprintf.c
-  tests=lib/vasnprintf.h
   tests=lib/wctob.c
   tests=lib/wctomb-impl.h
   tests=lib/wctomb.c
-  tests=lib/xsize.h
   top/GNUmakefile
   top/README-release
   top/maint.mk
index b331338..6dac16b 100644 (file)
@@ -1,5 +1,5 @@
 # hard-locale.m4 serial 8
-dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 085cd06..a503646 100644 (file)
@@ -1,5 +1,5 @@
-# iconv.m4 serial 17 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2007-2011 Free Software Foundation, Inc.
+# iconv.m4 serial 18 (gettext-0.18.2)
+dnl Copyright (C) 2000-2002, 2007-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -242,7 +242,7 @@ extern
 #ifdef __cplusplus
 "C"
 #endif
-#if defined(__STDC__) || defined(__cplusplus)
+#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
 #else
 size_t iconv();
index 8cca7fd..f0519d9 100644 (file)
@@ -1,5 +1,5 @@
 # iconv_h.m4 serial 8
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index accdecc..1dcf414 100644 (file)
@@ -1,5 +1,5 @@
 # iconv_open.m4 serial 14
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index ebf081a..108d945 100644 (file)
@@ -1,5 +1,5 @@
-# include_next.m4 serial 20
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+# include_next.m4 serial 23
+dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -143,7 +143,7 @@ choke me
 # even if the compiler does not support include_next.
 # The three "///" are to pacify Sun C 5.8, which otherwise would say
 # "warning: #include of /usr/include/... may be non-portable".
-# Use `""', not `<>', so that the /// cannot be confused with a C99 comment.
+# Use '""', not '<>', so that the /// cannot be confused with a C99 comment.
 # Note: This macro assumes that the header file is not empty after
 # preprocessing, i.e. it does not only define preprocessor macros but also
 # provides some type/enum definitions or function/variable declarations.
@@ -207,17 +207,41 @@ dnl until we can assume autoconf 2.64 or newer.
                  aix*) gl_absname_cpp="$ac_cpp -C" ;;
                  *)    gl_absname_cpp="$ac_cpp" ;;
                esac
+changequote(,)
+               case "$host_os" in
+                 mingw*)
+                   dnl For the sake of native Windows compilers (excluding gcc),
+                   dnl treat backslash as a directory separator, like /.
+                   dnl Actually, these compilers use a double-backslash as
+                   dnl directory separator, inside the
+                   dnl   # line "filename"
+                   dnl directives.
+                   gl_dirsep_regex='[/\\]'
+                   ;;
+                 *)
+                   gl_dirsep_regex='\/'
+                   ;;
+               esac
+               dnl A sed expression that turns a string into a basic regular
+               dnl expression, for use within "/.../".
+               gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+changequote([,])
+               gl_header_literal_regex=`echo ']m4_defn([gl_HEADER_NAME])[' \
+                                        | sed -e "$gl_make_literal_regex_sed"`
+               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+changequote(,)dnl
+                   s|^/[^/]|//&|
+changequote([,])dnl
+                   p
+                   q
+                 }'
                dnl eval is necessary to expand gl_absname_cpp.
                dnl Ultrix and Pyramid sh refuse to redirect output of eval,
                dnl so use subshell.
                AS_VAR_SET(gl_next_header,
                  ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
-                  sed -n '\#/]m4_defn([gl_HEADER_NAME])[#{
-                    s#.*"\(.*/]m4_defn([gl_HEADER_NAME])[\)".*#\1#
-                    s#^/[^/]#//&#
-                    p
-                    q
-                  }'`'"'])
+                      sed -n "$gl_absolute_header_sed"`'"'])
           m4_if([$2], [check],
             [else
                AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>'])
index a459080..3a50621 100644 (file)
@@ -1,5 +1,5 @@
 # inline.m4 serial 4
-dnl Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 2fe4c81..ab97d39 100644 (file)
@@ -1,7 +1,5 @@
-# -*- buffer-read-only: t -*- vi: set ro:
-# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# intlmacosx.m4 serial 1 (gettext-0.17)
-dnl Copyright (C) 2004-2007 Free Software Foundation, Inc.
+# intlmacosx.m4 serial 5 (gettext-0.18.2)
+dnl Copyright (C) 2004-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -15,35 +13,40 @@ dnl by the GNU Library General Public License, and the rest of the GNU
 dnl gettext package package is covered by the GNU General Public License.
 dnl They are *not* in the public domain.
 
-dnl Checks for special options needed on MacOS X.
+dnl Checks for special options needed on Mac OS X.
 dnl Defines INTL_MACOSX_LIBS.
 AC_DEFUN([gt_INTL_MACOSX],
 [
-  dnl Check for API introduced in MacOS X 10.2.
+  dnl Check for API introduced in Mac OS X 10.2.
   AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
-    gt_cv_func_CFPreferencesCopyAppValue,
+    [gt_cv_func_CFPreferencesCopyAppValue],
     [gt_save_LIBS="$LIBS"
      LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
-     AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
-       [CFPreferencesCopyAppValue(NULL, NULL)],
+     AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <CoreFoundation/CFPreferences.h>]],
+          [[CFPreferencesCopyAppValue(NULL, NULL)]])],
        [gt_cv_func_CFPreferencesCopyAppValue=yes],
        [gt_cv_func_CFPreferencesCopyAppValue=no])
      LIBS="$gt_save_LIBS"])
   if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
-    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
-      [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
+      [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
   fi
-  dnl Check for API introduced in MacOS X 10.3.
-  AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
+  dnl Check for API introduced in Mac OS X 10.3.
+  AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
     [gt_save_LIBS="$LIBS"
      LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
-     AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
+     AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <CoreFoundation/CFLocale.h>]],
+          [[CFLocaleCopyCurrent();]])],
        [gt_cv_func_CFLocaleCopyCurrent=yes],
        [gt_cv_func_CFLocaleCopyCurrent=no])
      LIBS="$gt_save_LIBS"])
   if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
-      [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
+      [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
   fi
   INTL_MACOSX_LIBS=
   if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
index 7341054..6ea7053 100644 (file)
@@ -1,5 +1,5 @@
 # intmax_t.m4 serial 8
-dnl Copyright (C) 1997-2004, 2006-2007, 2009-2011 Free Software Foundation,
+dnl Copyright (C) 1997-2004, 2006-2007, 2009-2013 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
index b9875c9..1a0ce74 100644 (file)
@@ -1,5 +1,5 @@
 #serial 8
-dnl Copyright (C) 2004-2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2006, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index e252b27..e5a1e05 100644 (file)
@@ -1,5 +1,5 @@
 # inttypes-pri.m4 serial 7 (gettext-0.18.2)
-dnl Copyright (C) 1997-2002, 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2002, 2006, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index cc027a4..3b483d3 100644 (file)
@@ -1,5 +1,5 @@
-# inttypes.m4 serial 24
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+# inttypes.m4 serial 26
+dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -24,22 +24,6 @@ AC_DEFUN_ONCE([gl_INTTYPES_INCOMPLETE],
 
   AC_REQUIRE([gl_MULTIARCH])
 
-  dnl Ensure that <stdint.h> defines the limit macros, since gnulib's
-  dnl <inttypes.h> relies on them.  This macro is only needed when a
-  dnl C++ compiler is in use; it has no effect for a C compiler.
-  dnl Also be careful to define __STDC_LIMIT_MACROS only when gnulib's
-  dnl <inttypes.h> is going to be created, and to avoid redefinition warnings
-  dnl if the __STDC_LIMIT_MACROS is already defined through the CPPFLAGS.
-  AC_DEFINE([GL_TRIGGER_STDC_LIMIT_MACROS], [1],
-    [Define to make the limit macros in <stdint.h> visible.])
-  AH_VERBATIM([__STDC_LIMIT_MACROS_ZZZ],
-[/* Ensure that <stdint.h> defines the limit macros, since gnulib's
-   <inttypes.h> relies on them.  */
-#if defined __cplusplus && !defined __STDC_LIMIT_MACROS && GL_TRIGGER_STDC_LIMIT_MACROS
-# define __STDC_LIMIT_MACROS 1
-#endif
-])
-
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use.
   gl_WARN_ON_USE_PREPARE([[#include <inttypes.h>
@@ -163,6 +147,7 @@ AC_DEFUN([gl_INTTYPES_H_DEFAULTS],
   HAVE_DECL_IMAXDIV=1;   AC_SUBST([HAVE_DECL_IMAXDIV])
   HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX])
   HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX])
+  REPLACE_STRTOIMAX=0;   AC_SUBST([REPLACE_STRTOIMAX])
   INT32_MAX_LT_INTMAX_MAX=1;  AC_SUBST([INT32_MAX_LT_INTMAX_MAX])
   INT64_MAX_EQ_LONG_MAX='defined _LP64';  AC_SUBST([INT64_MAX_EQ_LONG_MAX])
   PRI_MACROS_BROKEN=0;   AC_SUBST([PRI_MACROS_BROKEN])
similarity index 66%
rename from m4/inttypes_h_gl.m4
rename to m4/inttypes_h.m4
index 782d77e..5f05ac5 100644 (file)
@@ -1,5 +1,5 @@
-# inttypes_h.m4 serial 9
-dnl Copyright (C) 1997-2004, 2006, 2008-2010 Free Software Foundation, Inc.
+# inttypes_h.m4 serial 10
+dnl Copyright (C) 1997-2004, 2006, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -12,12 +12,15 @@ dnl From Paul Eggert.
 AC_DEFUN([gl_AC_HEADER_INTTYPES_H],
 [
   AC_CACHE_CHECK([for inttypes.h], [gl_cv_header_inttypes_h],
-  [AC_TRY_COMPILE(
-    [#include <sys/types.h>
-#include <inttypes.h>],
-    [uintmax_t i = (uintmax_t) -1; return !i;],
-    [gl_cv_header_inttypes_h=yes],
-    [gl_cv_header_inttypes_h=no])])
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[
+#include <sys/types.h>
+#include <inttypes.h>
+          ]],
+          [[uintmax_t i = (uintmax_t) -1; return !i;]])],
+       [gl_cv_header_inttypes_h=yes],
+       [gl_cv_header_inttypes_h=no])])
   if test $gl_cv_header_inttypes_h = yes; then
     AC_DEFINE_UNQUOTED([HAVE_INTTYPES_H_WITH_UINTMAX], [1],
       [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
index 750e1d3..b736497 100644 (file)
@@ -1,5 +1,5 @@
 # iswblank.m4 serial 4
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 4cced8a..73bef8b 100644 (file)
@@ -1,5 +1,5 @@
 # langinfo_h.m4 serial 7
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index d83fea1..1e605e3 100644 (file)
@@ -1,13 +1,14 @@
 # Enable large files on systems where this is not the default.
 
-# Copyright 1992-1996, 1998-2011 Free Software Foundation, Inc.
+# Copyright 1992-1996, 1998-2013 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# The following implementation works around a problem in autoconf <= 2.68;
-# AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5.
-m4_version_prereq([2.69], [] ,[
+# The following implementation works around a problem in autoconf <= 2.69;
+# AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+# or configures them incorrectly in some cases.
+m4_version_prereq([2.70], [] ,[
 
 # _AC_SYS_LARGEFILE_TEST_INCLUDES
 # -------------------------------
@@ -25,9 +26,9 @@ m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES],
 
 
 # _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE,
-#                              CACHE-VAR,
-#                              DESCRIPTION,
-#                              PROLOGUE, [FUNCTION-BODY])
+#                               CACHE-VAR,
+#                               DESCRIPTION,
+#                               PROLOGUE, [FUNCTION-BODY])
 # --------------------------------------------------------
 m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE],
 [AC_CACHE_CHECK([for $1 value needed for large files], [$3],
@@ -93,12 +94,53 @@ if test "$enable_largefile" != no; then
       [_AC_SYS_LARGEFILE_TEST_INCLUDES])
   fi
 
-  AH_VERBATIM([_DARWIN_USE_64_BIT_INODE],
-[/* Enable large inode numbers on Mac OS X.  */
-#ifndef _DARWIN_USE_64_BIT_INODE
-# define _DARWIN_USE_64_BIT_INODE 1
-#endif])
+  AC_DEFINE([_DARWIN_USE_64_BIT_INODE], [1],
+    [Enable large inode numbers on Mac OS X 10.5.])
 fi
 ])# AC_SYS_LARGEFILE
+])# m4_version_prereq 2.70
 
-])# m4_version_prereq 2.69
+# Enable large files on systems where this is implemented by Gnulib, not by the
+# system headers.
+# Set the variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE if Gnulib
+# overrides ensure that off_t or 'struct size.st_size' are 64-bit, respectively.
+AC_DEFUN([gl_LARGEFILE],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  case "$host_os" in
+    mingw*)
+      dnl Native Windows.
+      dnl mingw64 defines off_t to a 64-bit type already, if
+      dnl _FILE_OFFSET_BITS=64, which is ensured by AC_SYS_LARGEFILE.
+      AC_CACHE_CHECK([for 64-bit off_t], [gl_cv_type_off_t_64],
+        [AC_COMPILE_IFELSE(
+           [AC_LANG_PROGRAM(
+              [[#include <sys/types.h>
+                int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1];
+              ]],
+              [[]])],
+           [gl_cv_type_off_t_64=yes], [gl_cv_type_off_t_64=no])
+        ])
+      if test $gl_cv_type_off_t_64 = no; then
+        WINDOWS_64_BIT_OFF_T=1
+      else
+        WINDOWS_64_BIT_OFF_T=0
+      fi
+      dnl But all native Windows platforms (including mingw64) have a 32-bit
+      dnl st_size member in 'struct stat'.
+      WINDOWS_64_BIT_ST_SIZE=1
+      ;;
+    *)
+      dnl Nothing to do on gnulib's side.
+      dnl A 64-bit off_t is
+      dnl   - already the default on Mac OS X, FreeBSD, NetBSD, OpenBSD, IRIX,
+      dnl     OSF/1, Cygwin,
+      dnl   - enabled by _FILE_OFFSET_BITS=64 (ensured by AC_SYS_LARGEFILE) on
+      dnl     glibc, HP-UX, Solaris,
+      dnl   - enabled by _LARGE_FILES=1 (ensured by AC_SYS_LARGEFILE) on AIX,
+      dnl   - impossible to achieve on Minix 3.1.8.
+      WINDOWS_64_BIT_OFF_T=0
+      WINDOWS_64_BIT_ST_SIZE=0
+      ;;
+  esac
+])
similarity index 56%
rename from m4/lib-ld_gl.m4
rename to m4/lib-ld.m4
index ebb3052..c145e47 100644 (file)
@@ -1,50 +1,56 @@
-# lib-ld.m4 serial 4 (gettext-0.18)
-dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc.
+# lib-ld.m4 serial 6
+dnl Copyright (C) 1996-2003, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl Subroutines of libtool.m4,
-dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
-dnl with libtool.m4.
+dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
+dnl collision with libtool.m4.
 
-dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
+dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
 AC_DEFUN([AC_LIB_PROG_LD_GNU],
 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
 case `$LD -v 2>&1 </dev/null` in
 *GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes ;;
+  acl_cv_prog_gnu_ld=yes
+  ;;
 *)
-  acl_cv_prog_gnu_ld=no ;;
+  acl_cv_prog_gnu_ld=no
+  ;;
 esac])
 with_gnu_ld=$acl_cv_prog_gnu_ld
 ])
 
-dnl From libtool-1.4. Sets the variable LD.
+dnl From libtool-2.4. Sets the variable LD.
 AC_DEFUN([AC_LIB_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
-[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
+[AC_REQUIRE([AC_PROG_CC])dnl
 AC_REQUIRE([AC_CANONICAL_HOST])dnl
+
+AC_ARG_WITH([gnu-ld],
+    [AS_HELP_STRING([--with-gnu-ld],
+        [assume the C compiler uses GNU ld [default=no]])],
+    [test "$withval" = no || with_gnu_ld=yes],
+    [with_gnu_ld=no])dnl
+
 # Prepare PATH_SEPARATOR.
 # The user is always right.
 if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
 fi
+
 ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by GCC])
+  AC_MSG_CHECKING([for ld used by $CC])
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -54,11 +60,11 @@ if test "$GCC" = yes; then
   esac
   case $ac_prog in
     # Accept absolute paths.
-    [[\\/]* | [A-Za-z]:[\\/]*)]
-      [re_direlt='/[^/][^/]*/\.\./']
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+    [[\\/]]* | ?:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
+      while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
         ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
       done
       test -z "$LD" && LD="$ac_prog"
@@ -79,23 +85,26 @@ else
 fi
 AC_CACHE_VAL([acl_cv_path_LD],
 [if test -z "$LD"; then
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
   for ac_dir in $PATH; do
+    IFS="$acl_save_ifs"
     test -z "$ac_dir" && ac_dir=.
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
       acl_cv_path_LD="$ac_dir/$ac_prog"
       # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
+      # but apparently some variants of GNU ld only accept -v.
       # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
+      case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
       *GNU* | *'with BFD'*)
-        test "$with_gnu_ld" != no && break ;;
+        test "$with_gnu_ld" != no && break
+        ;;
       *)
-        test "$with_gnu_ld" != yes && break ;;
+        test "$with_gnu_ld" != yes && break
+        ;;
       esac
     fi
   done
-  IFS="$ac_save_ifs"
+  IFS="$acl_save_ifs"
 else
   acl_cv_path_LD="$LD" # Let the user override the test with a path.
 fi])
index e7c9ba9..073f040 100644 (file)
@@ -1,5 +1,5 @@
 # lib-link.m4 serial 26 (gettext-0.18.2)
-dnl Copyright (C) 2001-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
similarity index 99%
rename from m4/lib-prefix_gl.m4
rename to m4/lib-prefix.m4
index 1601cea..60908e8 100644 (file)
@@ -1,5 +1,5 @@
 # lib-prefix.m4 serial 7 (gettext-0.18)
-dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2005, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 4156400..3f3e7db 100644 (file)
@@ -1,5 +1,5 @@
 # libsigsegv.m4 serial 4
-dnl Copyright (C) 2002-2003, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 9831448..d105c72 100644 (file)
@@ -1,5 +1,5 @@
 # libunistring-base.m4 serial 5
-dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 6801ca9..2e93e58 100644 (file)
@@ -1,5 +1,5 @@
 # localcharset.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 3f4f954..ef199e3 100644 (file)
@@ -1,5 +1,5 @@
-# locale-fr.m4 serial 13
-dnl Copyright (C) 2003, 2005-2011 Free Software Foundation, Inc.
+# locale-fr.m4 serial 17
+dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -26,9 +26,9 @@ char buf[16];
 int main () {
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -37,7 +37,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -63,10 +63,12 @@ int main () {
      one byte long. This excludes the UTF-8 encoding.  */
   t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
   if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 changequote([,])dnl
@@ -80,7 +82,7 @@ changequote([,])dnl
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the native Win32 locale name.
+          # Test for the native Windows locale name.
           if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr=French_France.1252
           else
@@ -90,7 +92,7 @@ changequote([,])dnl
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
@@ -152,9 +154,9 @@ int main () {
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
 # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -163,7 +165,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 # endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -189,10 +191,12 @@ int main () {
       || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
     return 1;
 #endif
+#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
   /* Check whether the decimal separator is a comma.
      On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
      are nl_langinfo(RADIXCHAR) are both ".".  */
   if (localeconv () ->decimal_point[0] != ',') return 1;
+#endif
   return 0;
 }
 changequote([,])dnl
@@ -206,7 +210,7 @@ changequote([,])dnl
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_fr_utf8=French_France.65001
           else
@@ -216,7 +220,7 @@ changequote([,])dnl
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
index d44c2c8..132a3e7 100644 (file)
@@ -1,5 +1,5 @@
-# locale-ja.m4 serial 9
-dnl Copyright (C) 2003, 2005-2011 Free Software Foundation, Inc.
+# locale-ja.m4 serial 12
+dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -28,9 +28,9 @@ int main ()
   const char *p;
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -39,7 +39,7 @@ int main ()
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -84,13 +84,14 @@ changequote([,])dnl
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Note that on native Win32, the Japanese locale is Japanese_Japan.932,
-          # and CP932 is very different from EUC-JP, so we cannot use it here.
+          # Note that on native Windows, the Japanese locale is
+          # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
+          # cannot use it here.
           gt_cv_locale_ja=none
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the AIX locale name.
index 19ded1b..aeb5615 100644 (file)
@@ -1,5 +1,5 @@
-# locale-tr.m4 serial 7
-dnl Copyright (C) 2003, 2005-2011 Free Software Foundation, Inc.
+# locale-tr.m4 serial 10
+dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -31,9 +31,9 @@ int main () {
      program return 1 on BeOS.  */
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -42,7 +42,7 @@ int main () {
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -85,7 +85,7 @@ changequote([,])dnl
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=Turkish_Turkey.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_tr_utf8=Turkish_Turkey.65001
           else
@@ -95,7 +95,7 @@ changequote([,])dnl
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the usual locale name.
index 5e06398..4eed73f 100644 (file)
@@ -1,5 +1,5 @@
-# locale-zh.m4 serial 9
-dnl Copyright (C) 2003, 2005-2011 Free Software Foundation, Inc.
+# locale-zh.m4 serial 12
+dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -29,9 +29,9 @@ int main ()
   const char *p;
   /* Check whether the given locale name is recognized by the system.  */
 #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
-  /* On native Win32, setlocale(category, "") looks at the system settings,
+  /* On native Windows, setlocale(category, "") looks at the system settings,
      not at the environment variables.  Also, when an encoding suffix such
-     as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
      category of the locale to "C".  */
   if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
       || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
@@ -40,7 +40,7 @@ int main ()
   if (setlocale (LC_ALL, "") == NULL) return 1;
 #endif
   /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
-     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
      is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
      On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
      succeeds but then nl_langinfo(CODESET) is "646". In this situation,
@@ -85,7 +85,7 @@ changequote([,])dnl
         # "ja" as "Japanese" or "Japanese_Japan.932",
         # and similar.
         mingw*)
-          # Test for the hypothetical native Win32 locale name.
+          # Test for the hypothetical native Windows locale name.
           if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
             gt_cv_locale_zh_CN=Chinese_China.54936
           else
@@ -101,7 +101,7 @@ changequote([,])dnl
           ;;
         *)
           # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
-          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+          # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
           # configure script would override the LC_ALL setting. Likewise for
           # LC_CTYPE, which is also set at the beginning of the configure script.
           # Test for the locale name without encoding suffix.
index e77a303..8bd12e8 100644 (file)
@@ -1,5 +1,5 @@
-# locale_h.m4 serial 14
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+# locale_h.m4 serial 19
+dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -10,18 +10,29 @@ AC_DEFUN([gl_LOCALE_H],
   dnl once only, before all statements that occur in other macros.
   AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
 
-  dnl Persuade glibc <locale.h> to define locale_t.
+  dnl Persuade glibc <locale.h> to define locale_t and the int_p_*, int_n_*
+  dnl members of 'struct lconv'.
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
 
   dnl If <stddef.h> is replaced, then <locale.h> must also be replaced.
   AC_REQUIRE([gl_STDDEF_H])
 
+  dnl Solaris 11 2011-11 defines the int_p_*, int_n_* members of 'struct lconv'
+  dnl only if _LCONV_C99 is defined.
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  case "$host_os" in
+    solaris*)
+      AC_DEFINE([_LCONV_C99], [1], [Define to 1 on Solaris.])
+      ;;
+  esac
+
   AC_CACHE_CHECK([whether locale.h conforms to POSIX:2001],
     [gl_cv_header_locale_h_posix2001],
     [AC_COMPILE_IFELSE(
        [AC_LANG_PROGRAM(
           [[#include <locale.h>
-            int x = LC_MESSAGES;]],
+            int x = LC_MESSAGES;
+            int y = sizeof (((struct lconv *) 0)->decimal_point);]],
           [[]])],
        [gl_cv_header_locale_h_posix2001=yes],
        [gl_cv_header_locale_h_posix2001=no])])
@@ -31,7 +42,7 @@ AC_DEFUN([gl_LOCALE_H],
   if test $ac_cv_header_xlocale_h = yes; then
     HAVE_XLOCALE_H=1
     dnl Check whether use of locale_t requires inclusion of <xlocale.h>,
-    dnl e.g. on MacOS X 10.5. If <locale.h> does not define locale_t by
+    dnl e.g. on Mac OS X 10.5. If <locale.h> does not define locale_t by
     dnl itself, we assume that <xlocale.h> will do so.
     AC_CACHE_CHECK([whether locale.h defines locale_t],
       [gl_cv_header_locale_has_locale_t],
@@ -54,6 +65,26 @@ AC_DEFUN([gl_LOCALE_H],
   fi
   AC_SUBST([HAVE_XLOCALE_H])
 
+  dnl Check whether 'struct lconv' is complete.
+  dnl Bionic libc's 'struct lconv' is just a dummy.
+  dnl On OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x,
+  dnl mingw, MSVC 9, it lacks the int_p_* and int_n_* members.
+  AC_CACHE_CHECK([whether struct lconv is properly defined],
+    [gl_cv_sys_struct_lconv_ok],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <locale.h>
+            struct lconv l;
+            int x = sizeof (l.decimal_point);
+            int y = sizeof (l.int_p_cs_precedes);]],
+          [[]])],
+       [gl_cv_sys_struct_lconv_ok=yes],
+       [gl_cv_sys_struct_lconv_ok=no])
+    ])
+  if test $gl_cv_sys_struct_lconv_ok = no; then
+    REPLACE_STRUCT_LCONV=1
+  fi
+
   dnl <locale.h> is always overridden, because of GNULIB_POSIXCHECK.
   gl_NEXT_HEADERS([locale.h])
 
@@ -79,10 +110,13 @@ AC_DEFUN([gl_LOCALE_MODULE_INDICATOR],
 
 AC_DEFUN([gl_LOCALE_H_DEFAULTS],
 [
+  GNULIB_LOCALECONV=0; AC_SUBST([GNULIB_LOCALECONV])
   GNULIB_SETLOCALE=0;  AC_SUBST([GNULIB_SETLOCALE])
   GNULIB_DUPLOCALE=0;  AC_SUBST([GNULIB_DUPLOCALE])
   dnl Assume proper GNU behavior unless another module says otherwise.
-  HAVE_DUPLOCALE=1;    AC_SUBST([HAVE_DUPLOCALE])
-  REPLACE_SETLOCALE=0; AC_SUBST([REPLACE_SETLOCALE])
-  REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE])
+  HAVE_DUPLOCALE=1;       AC_SUBST([HAVE_DUPLOCALE])
+  REPLACE_LOCALECONV=0;   AC_SUBST([REPLACE_LOCALECONV])
+  REPLACE_SETLOCALE=0;    AC_SUBST([REPLACE_SETLOCALE])
+  REPLACE_DUPLOCALE=0;    AC_SUBST([REPLACE_DUPLOCALE])
+  REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV])
 ])
diff --git a/m4/localeconv.m4 b/m4/localeconv.m4
new file mode 100644 (file)
index 0000000..b8bb596
--- /dev/null
@@ -0,0 +1,22 @@
+# localeconv.m4 serial 1
+dnl Copyright (C) 2012-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_LOCALECONV],
+[
+  AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
+  AC_REQUIRE([gl_LOCALE_H])
+
+  if test $REPLACE_STRUCT_LCONV = 1; then
+    REPLACE_LOCALECONV=1
+  fi
+])
+
+# Prerequisites of lib/localeconv.c.
+AC_DEFUN([gl_PREREQ_LOCALECONV],
+[
+  AC_CHECK_MEMBERS([struct lconv.decimal_point], [], [],
+    [[#include <locale.h>]])
+])
similarity index 59%
rename from m4/longlong_gl.m4
rename to m4/longlong.m4
index cca3c1a..3af6ab5 100644 (file)
@@ -1,5 +1,5 @@
-# longlong.m4 serial 14
-dnl Copyright (C) 1999-2007, 2009-2010 Free Software Foundation, Inc.
+# longlong.m4 serial 17
+dnl Copyright (C) 1999-2007, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,8 +7,8 @@ dnl with or without modifications, as long as this notice is preserved.
 dnl From Paul Eggert.
 
 # Define HAVE_LONG_LONG_INT if 'long long int' works.
-# This fixes a bug in Autoconf 2.61, but can be removed once we
-# assume 2.62 everywhere.
+# This fixes a bug in Autoconf 2.61, and can be faster
+# than what's in Autoconf 2.62 through 2.68.
 
 # Note: If the type 'long long int' exists but is only 32 bits large
 # (as on some very old compilers), HAVE_LONG_LONG_INT will not be
@@ -16,44 +16,48 @@ dnl From Paul Eggert.
 
 AC_DEFUN([AC_TYPE_LONG_LONG_INT],
 [
+  AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
   AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int],
-    [AC_LINK_IFELSE(
-       [_AC_TYPE_LONG_LONG_SNIPPET],
-       [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
-        dnl If cross compiling, assume the bug isn't important, since
-        dnl nobody cross compiles for this platform as far as we know.
-        AC_RUN_IFELSE(
-          [AC_LANG_PROGRAM(
-             [[@%:@include <limits.h>
-               @%:@ifndef LLONG_MAX
-               @%:@ define HALF \
-                        (1LL << (sizeof (long long int) * CHAR_BIT - 2))
-               @%:@ define LLONG_MAX (HALF - 1 + HALF)
-               @%:@endif]],
-             [[long long int n = 1;
-               int i;
-               for (i = 0; ; i++)
-                 {
-                   long long int m = n << i;
-                   if (m >> i != n)
-                     return 1;
-                   if (LLONG_MAX / 2 < m)
-                     break;
-                 }
-               return 0;]])],
-          [ac_cv_type_long_long_int=yes],
-          [ac_cv_type_long_long_int=no],
-          [ac_cv_type_long_long_int=yes])],
-       [ac_cv_type_long_long_int=no])])
+     [ac_cv_type_long_long_int=yes
+      if test "x${ac_cv_prog_cc_c99-no}" = xno; then
+        ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int
+        if test $ac_cv_type_long_long_int = yes; then
+          dnl Catch a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
+          dnl If cross compiling, assume the bug is not important, since
+          dnl nobody cross compiles for this platform as far as we know.
+          AC_RUN_IFELSE(
+            [AC_LANG_PROGRAM(
+               [[@%:@include <limits.h>
+                 @%:@ifndef LLONG_MAX
+                 @%:@ define HALF \
+                          (1LL << (sizeof (long long int) * CHAR_BIT - 2))
+                 @%:@ define LLONG_MAX (HALF - 1 + HALF)
+                 @%:@endif]],
+               [[long long int n = 1;
+                 int i;
+                 for (i = 0; ; i++)
+                   {
+                     long long int m = n << i;
+                     if (m >> i != n)
+                       return 1;
+                     if (LLONG_MAX / 2 < m)
+                       break;
+                   }
+                 return 0;]])],
+            [],
+            [ac_cv_type_long_long_int=no],
+            [:])
+        fi
+      fi])
   if test $ac_cv_type_long_long_int = yes; then
     AC_DEFINE([HAVE_LONG_LONG_INT], [1],
-      [Define to 1 if the system has the type `long long int'.])
+      [Define to 1 if the system has the type 'long long int'.])
   fi
 ])
 
 # Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
-# This fixes a bug in Autoconf 2.61, but can be removed once we
-# assume 2.62 everywhere.
+# This fixes a bug in Autoconf 2.61, and can be faster
+# than what's in Autoconf 2.62 through 2.68.
 
 # Note: If the type 'unsigned long long int' exists but is only 32 bits
 # large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
@@ -64,13 +68,16 @@ AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
 [
   AC_CACHE_CHECK([for unsigned long long int],
     [ac_cv_type_unsigned_long_long_int],
-    [AC_LINK_IFELSE(
-       [_AC_TYPE_LONG_LONG_SNIPPET],
-       [ac_cv_type_unsigned_long_long_int=yes],
-       [ac_cv_type_unsigned_long_long_int=no])])
+    [ac_cv_type_unsigned_long_long_int=yes
+     if test "x${ac_cv_prog_cc_c99-no}" = xno; then
+       AC_LINK_IFELSE(
+         [_AC_TYPE_LONG_LONG_SNIPPET],
+         [],
+         [ac_cv_type_unsigned_long_long_int=no])
+     fi])
   if test $ac_cv_type_unsigned_long_long_int = yes; then
     AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1],
-      [Define to 1 if the system has the type `unsigned long long int'.])
+      [Define to 1 if the system has the type 'unsigned long long int'.])
   fi
 ])
 
index fe161d4..5f4db64 100644 (file)
@@ -1,6 +1,6 @@
-# serial 23
+# serial 26
 
-# Copyright (C) 1997-2001, 2003-2011 Free Software Foundation, Inc.
+# Copyright (C) 1997-2001, 2003-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,20 +16,18 @@ AC_DEFUN([gl_FUNC_LSTAT],
   AC_CHECK_FUNCS_ONCE([lstat])
   if test $ac_cv_func_lstat = yes; then
     AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
-    if test $gl_cv_func_lstat_dereferences_slashed_symlink = no; then
-      REPLACE_LSTAT=1
-    fi
+    case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
+      *no)
+        REPLACE_LSTAT=1
+        ;;
+    esac
   else
     HAVE_LSTAT=0
   fi
 ])
 
 # Prerequisites of lib/lstat.c.
-AC_DEFUN([gl_PREREQ_LSTAT],
-[
-  AC_REQUIRE([AC_C_INLINE])
-  :
-])
+AC_DEFUN([gl_PREREQ_LSTAT], [:])
 
 AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
 [
@@ -51,20 +49,25 @@ AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
             ]])],
          [gl_cv_func_lstat_dereferences_slashed_symlink=yes],
          [gl_cv_func_lstat_dereferences_slashed_symlink=no],
-         [# When cross-compiling, be pessimistic so we will end up using the
-          # replacement version of lstat that checks for trailing slashes and
-          # calls lstat a second time when necessary.
-          gl_cv_func_lstat_dereferences_slashed_symlink=no
+         [case "$host_os" in
+                    # Guess yes on glibc systems.
+            *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
+          esac
          ])
      else
        # If the 'ln -s' command failed, then we probably don't even
        # have an lstat function.
-       gl_cv_func_lstat_dereferences_slashed_symlink=no
+       gl_cv_func_lstat_dereferences_slashed_symlink="guessing no"
      fi
      rm -f conftest.sym conftest.file
     ])
-  test $gl_cv_func_lstat_dereferences_slashed_symlink = yes &&
-    AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1],
-      [Define to 1 if `lstat' dereferences a symlink specified
-       with a trailing slash.])
+  case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
+    *yes)
+      AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1],
+        [Define to 1 if 'lstat' dereferences a symlink specified
+         with a trailing slash.])
+      ;;
+  esac
 ])
index 87018ec..4b24a0b 100644 (file)
@@ -1,9 +1,47 @@
-# malloc.m4 serial 13
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+# malloc.m4 serial 14
+dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
+m4_version_prereq([2.70], [] ,[
+
+# This is taken from the following Autoconf patch:
+# http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7fbb553727ed7e0e689a17594b58559ecf3ea6e9
+AC_DEFUN([_AC_FUNC_MALLOC_IF],
+[
+  AC_REQUIRE([AC_HEADER_STDC])dnl
+  AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles
+  AC_CHECK_HEADERS([stdlib.h])
+  AC_CACHE_CHECK([for GNU libc compatible malloc],
+    [ac_cv_func_malloc_0_nonnull],
+    [AC_RUN_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#if defined STDC_HEADERS || defined HAVE_STDLIB_H
+            # include <stdlib.h>
+            #else
+            char *malloc ();
+            #endif
+          ]],
+          [[return ! malloc (0);]])
+       ],
+       [ac_cv_func_malloc_0_nonnull=yes],
+       [ac_cv_func_malloc_0_nonnull=no],
+       [case "$host_os" in
+          # Guess yes on platforms where we know the result.
+          *-gnu* | freebsd* | netbsd* | openbsd* \
+          | hpux* | solaris* | cygwin* | mingw*)
+            ac_cv_func_malloc_0_nonnull=yes ;;
+          # If we don't know, assume the worst.
+          *) ac_cv_func_malloc_0_nonnull=no ;;
+        esac
+       ])
+    ])
+  AS_IF([test $ac_cv_func_malloc_0_nonnull = yes], [$1], [$2])
+])# _AC_FUNC_MALLOC_IF
+
+])
+
 # gl_FUNC_MALLOC_GNU
 # ------------------
 # Test whether 'malloc (0)' is handled like in GNU libc, and replace malloc if
index aec43f5..791ce10 100644 (file)
@@ -1,5 +1,5 @@
 # malloca.m4 serial 1
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2011 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2013 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
index 67db064..45a30af 100644 (file)
@@ -1,5 +1,5 @@
-# manywarnings.m4 serial 1
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# manywarnings.m4 serial 5
+dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -30,19 +30,17 @@ AC_DEFUN([gl_MANYWARN_COMPLEMENT],
 
 # gl_MANYWARN_ALL_GCC(VARIABLE)
 # -----------------------------
-# Add all documented GCC (currently as per version 4.4) warning
-# parameters to variable VARIABLE.  Note that you need to test them
-# using gl_WARN_ADD if you want to make sure your gcc understands it.
+# Add all documented GCC warning parameters to variable VARIABLE.
+# Note that you need to test them using gl_WARN_ADD if you want to
+# make sure your gcc understands it.
 AC_DEFUN([gl_MANYWARN_ALL_GCC],
 [
-  dnl First, check if -Wno-missing-field-initializers is needed.
-  dnl -Wmissing-field-initializers is implied by -W, but that issues
-  dnl warnings with GCC version before 4.7, for the common idiom
-  dnl of initializing types on the stack to zero, using { 0, }
+  dnl First, check for some issues that only occur when combining multiple
+  dnl gcc warning categories.
   AC_REQUIRE([AC_PROG_CC])
   if test -n "$GCC"; then
 
-    dnl First, check -W -Werror -Wno-missing-field-initializers is supported
+    dnl Check if -W -Werror -Wno-missing-field-initializers is supported
     dnl with the current $CC $CFLAGS $CPPFLAGS.
     AC_MSG_CHECKING([whether -Wno-missing-field-initializers is supported])
     AC_CACHE_VAL([gl_cv_cc_nomfi_supported], [
@@ -77,82 +75,150 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
       ])
       AC_MSG_RESULT([$gl_cv_cc_nomfi_needed])
     fi
+
+    dnl Next, check if -Werror -Wuninitialized is useful with the
+    dnl user's choice of $CFLAGS; some versions of gcc warn that it
+    dnl has no effect if -O is not also used
+    AC_MSG_CHECKING([whether -Wuninitialized is supported])
+    AC_CACHE_VAL([gl_cv_cc_uninitialized_supported], [
+      gl_save_CFLAGS="$CFLAGS"
+      CFLAGS="$CFLAGS -Werror -Wuninitialized"
+      AC_COMPILE_IFELSE(
+        [AC_LANG_PROGRAM([[]], [[]])],
+        [gl_cv_cc_uninitialized_supported=yes],
+        [gl_cv_cc_uninitialized_supported=no])
+      CFLAGS="$gl_save_CFLAGS"])
+    AC_MSG_RESULT([$gl_cv_cc_uninitialized_supported])
+
   fi
 
+  # List all gcc warning categories.
   gl_manywarn_set=
   for gl_manywarn_item in \
-    -Wall \
     -W \
-    -Wformat-y2k \
+    -Wabi \
+    -Waddress \
+    -Wall \
+    -Warray-bounds \
+    -Wattributes \
+    -Wbad-function-cast \
+    -Wbuiltin-macro-redefined \
+    -Wcast-align \
+    -Wchar-subscripts \
+    -Wclobbered \
+    -Wcomment \
+    -Wcomments \
+    -Wcoverage-mismatch \
+    -Wcpp \
+    -Wdeprecated \
+    -Wdeprecated-declarations \
+    -Wdisabled-optimization \
+    -Wdiv-by-zero \
+    -Wdouble-promotion \
+    -Wempty-body \
+    -Wendif-labels \
+    -Wenum-compare \
+    -Wextra \
+    -Wformat-contains-nul \
+    -Wformat-extra-args \
     -Wformat-nonliteral \
     -Wformat-security \
+    -Wformat-y2k \
+    -Wformat-zero-length \
+    -Wformat=2 \
+    -Wfree-nonheap-object \
+    -Wignored-qualifiers \
+    -Wimplicit \
+    -Wimplicit-function-declaration \
+    -Wimplicit-int \
     -Winit-self \
-    -Wmissing-include-dirs \
-    -Wswitch-default \
-    -Wswitch-enum \
-    -Wunused \
-    -Wunknown-pragmas \
-    -Wstrict-aliasing \
-    -Wstrict-overflow \
-    -Wsystem-headers \
-    -Wfloat-equal \
-    -Wtraditional \
-    -Wtraditional-conversion \
-    -Wdeclaration-after-statement \
-    -Wundef \
-    -Wshadow \
-    -Wunsafe-loop-optimizations \
-    -Wpointer-arith \
-    -Wbad-function-cast \
-    -Wc++-compat \
-    -Wcast-qual \
-    -Wcast-align \
-    -Wwrite-strings \
-    -Wconversion \
-    -Wsign-conversion \
+    -Winline \
+    -Wint-to-pointer-cast \
+    -Winvalid-memory-model \
+    -Winvalid-pch \
+    -Wjump-misses-init \
     -Wlogical-op \
-    -Waggregate-return \
-    -Wstrict-prototypes \
-    -Wold-style-definition \
-    -Wmissing-prototypes \
+    -Wmain \
+    -Wmaybe-uninitialized \
+    -Wmissing-braces \
     -Wmissing-declarations \
-    -Wmissing-noreturn \
+    -Wmissing-field-initializers \
     -Wmissing-format-attribute \
-    -Wpacked \
-    -Wpadded \
-    -Wredundant-decls \
+    -Wmissing-include-dirs \
+    -Wmissing-noreturn \
+    -Wmissing-parameter-type \
+    -Wmissing-prototypes \
+    -Wmudflap \
+    -Wmultichar \
+    -Wnarrowing \
     -Wnested-externs \
-    -Wunreachable-code \
-    -Winline \
-    -Winvalid-pch \
-    -Wlong-long \
-    -Wvla \
-    -Wvolatile-register-var \
-    -Wdisabled-optimization \
-    -Wstack-protector \
+    -Wnonnull \
+    -Wnormalized=nfc \
+    -Wold-style-declaration \
+    -Wold-style-definition \
+    -Woverflow \
     -Woverlength-strings \
-    -Wbuiltin-macro-redefined \
-    -Wmudflap \
+    -Woverride-init \
+    -Wpacked \
     -Wpacked-bitfield-compat \
+    -Wparentheses \
+    -Wpointer-arith \
+    -Wpointer-sign \
+    -Wpointer-to-int-cast \
+    -Wpragmas \
+    -Wreturn-type \
+    -Wsequence-point \
+    -Wshadow \
+    -Wsizeof-pointer-memaccess \
+    -Wstack-protector \
+    -Wstrict-aliasing \
+    -Wstrict-overflow \
+    -Wstrict-prototypes \
+    -Wsuggest-attribute=const \
+    -Wsuggest-attribute=format \
+    -Wsuggest-attribute=noreturn \
+    -Wsuggest-attribute=pure \
+    -Wswitch \
+    -Wswitch-default \
     -Wsync-nand \
-    ; do
-    gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
-  done
-  # The following are not documented in the manual but are included in
-  # output from gcc --help=warnings.
-  for gl_manywarn_item in \
-    -Wattributes \
-    -Wcoverage-mismatch \
-    -Wmultichar \
+    -Wsystem-headers \
+    -Wtrampolines \
+    -Wtrigraphs \
+    -Wtype-limits \
+    -Wuninitialized \
+    -Wunknown-pragmas \
+    -Wunreachable-code \
+    -Wunsafe-loop-optimizations \
+    -Wunused \
+    -Wunused-but-set-parameter \
+    -Wunused-but-set-variable \
+    -Wunused-function \
+    -Wunused-label \
+    -Wunused-local-typedefs \
     -Wunused-macros \
+    -Wunused-parameter \
+    -Wunused-result \
+    -Wunused-value \
+    -Wunused-variable \
+    -Wvarargs \
+    -Wvariadic-macros \
+    -Wvector-operation-performance \
+    -Wvla \
+    -Wvolatile-register-var \
+    -Wwrite-strings \
+    \
     ; do
     gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
   done
 
-  # Disable the missing-field-initializers warning if needed
+  # Disable specific options as needed.
   if test "$gl_cv_cc_nomfi_needed" = yes; then
     gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers"
   fi
 
+  if test "$gl_cv_cc_uninitialized_supported" = no; then
+    gl_manywarn_set="$gl_manywarn_set -Wno-uninitialized"
+  fi
+
   $1=$gl_manywarn_set
 ])
index 763dd81..b18ecef 100644 (file)
@@ -1,5 +1,5 @@
-# mbchar.m4 serial 8
-dnl Copyright (C) 2005-2007, 2009-2011 Free Software Foundation, Inc.
+# mbchar.m4 serial 9
+dnl Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -10,5 +10,4 @@ dnl From Bruno Haible.
 AC_DEFUN([gl_MBCHAR],
 [
   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-  AC_REQUIRE([AC_C_INLINE])
 ])
index 8582b30..9b5fced 100644 (file)
@@ -1,5 +1,5 @@
-# mbiter.m4 serial 6
-dnl Copyright (C) 2005, 2008-2011 Free Software Foundation, Inc.
+# mbiter.m4 serial 7
+dnl Copyright (C) 2005, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -9,7 +9,6 @@ dnl From Bruno Haible.
 
 AC_DEFUN([gl_MBITER],
 [
-  AC_REQUIRE([AC_C_INLINE])
   AC_REQUIRE([AC_TYPE_MBSTATE_T])
   :
 ])
index aa2fdfe..4c9f388 100644 (file)
@@ -1,5 +1,5 @@
 # mbrtowc.m4 serial 25
-dnl Copyright (C) 2001-2002, 2004-2005, 2008-2011 Free Software Foundation,
+dnl Copyright (C) 2001-2002, 2004-2005, 2008-2013 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
index 27e06d7..2e6d092 100644 (file)
@@ -1,5 +1,5 @@
 # mbsinit.m4 serial 8
-dnl Copyright (C) 2008, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 1936050..b51b39f 100644 (file)
@@ -1,5 +1,5 @@
 # mbslen.m4 serial 2
-dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 065df92..c4934c2 100644 (file)
@@ -1,5 +1,5 @@
 # mbsrtowcs.m4 serial 13
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index f7c46b8..ed00117 100644 (file)
@@ -1,5 +1,5 @@
 # mbstate_t.m4 serial 13
-dnl Copyright (C) 2000-2002, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 7793a00..e479461 100644 (file)
@@ -1,5 +1,5 @@
 # mbtowc.m4 serial 2
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index f6dc3e7..2d8abe7 100644 (file)
@@ -1,5 +1,5 @@
 # memchr.m4 serial 12
-dnl Copyright (C) 2002-2004, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index ef3c689..ac6c7cd 100644 (file)
@@ -1,6 +1,6 @@
-#serial 22
+#serial 23
 
-# Copyright (C) 2001, 2003-2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -16,6 +16,7 @@
 AC_DEFUN([gl_FUNC_MKSTEMP],
 [
   AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 
   AC_CHECK_FUNCS_ONCE([mkstemp])
   if test $ac_cv_func_mkstemp = yes; then
@@ -55,12 +56,21 @@ AC_DEFUN([gl_FUNC_MKSTEMP],
               return result;]])],
           [gl_cv_func_working_mkstemp=yes],
           [gl_cv_func_working_mkstemp=no],
-          [gl_cv_func_working_mkstemp="guessing no"])
+          [case "$host_os" in
+                     # Guess yes on glibc systems.
+             *-gnu*) gl_cv_func_working_mkstemp="guessing yes" ;;
+                     # If we don't know, assume the worst.
+             *)      gl_cv_func_working_mkstemp="guessing no" ;;
+           esac
+          ])
         rm -rf conftest.mkstemp
       ])
-    if test "$gl_cv_func_working_mkstemp" != yes; then
-      REPLACE_MKSTEMP=1
-    fi
+    case "$gl_cv_func_working_mkstemp" in
+      *yes) ;;
+      *)
+        REPLACE_MKSTEMP=1
+        ;;
+    esac
   else
     HAVE_MKSTEMP=0
   fi
index 8ed6d5d..faefb77 100644 (file)
@@ -1,5 +1,5 @@
-# serial 21
-dnl Copyright (C) 2002-2003, 2005-2007, 2009-2011 Free Software Foundation,
+# serial 25
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -14,10 +14,10 @@ AC_DEFUN([gl_FUNC_MKTIME],
   dnl We don't use AC_FUNC_MKTIME any more, because it is no longer maintained
   dnl in Autoconf and because it invokes AC_LIBOBJ.
   AC_CHECK_HEADERS_ONCE([unistd.h])
-  AC_CHECK_FUNCS_ONCE([alarm])
+  AC_CHECK_DECLS_ONCE([alarm])
   AC_REQUIRE([gl_MULTIARCH])
   if test $APPLE_UNIVERSAL_BUILD = 1; then
-    # A universal build on Apple MacOS X platforms.
+    # A universal build on Apple Mac OS X platforms.
     # The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode.
     # But we need a configuration result that is valid in both modes.
     gl_cv_func_working_mktime=no
@@ -34,8 +34,8 @@ AC_DEFUN([gl_FUNC_MKTIME],
 # include <unistd.h>
 #endif
 
-#ifndef HAVE_ALARM
-# define alarm(X) /* empty */
+#if HAVE_DECL_ALARM
+# include <signal.h>
 #endif
 
 /* Work around redefinition to rpl_putenv by other config tests.  */
@@ -171,10 +171,13 @@ main ()
   int time_t_signed_magnitude = (time_t) ~ (time_t) 0 < (time_t) -1;
   int time_t_signed = ! ((time_t) 0 < (time_t) -1);
 
+#if HAVE_DECL_ALARM
   /* This test makes some buggy mktime implementations loop.
      Give up after 60 seconds; a mktime slower than that
      isn't worth using anyway.  */
+  signal (SIGALRM, SIG_DFL);
   alarm (60);
+#endif
 
   time_t_max = (! time_t_signed
                 ? (time_t) -1
@@ -192,20 +195,23 @@ main ()
       if (tz_strings[i])
         putenv (tz_strings[i]);
 
-      for (t = 0; t <= time_t_max - delta; t += delta)
+      for (t = 0; t <= time_t_max - delta && (result & 1) == 0; t += delta)
         if (! mktime_test (t))
           result |= 1;
-      if (! (mktime_test ((time_t) 1)
-             && mktime_test ((time_t) (60 * 60))
-             && mktime_test ((time_t) (60 * 60 * 24))))
+      if ((result & 2) == 0
+          && ! (mktime_test ((time_t) 1)
+                && mktime_test ((time_t) (60 * 60))
+                && mktime_test ((time_t) (60 * 60 * 24))))
         result |= 2;
 
-      for (j = 1; ; j <<= 1)
-        if (! bigtime_test (j))
-          result |= 4;
-        else if (INT_MAX / 2 < j)
-          break;
-      if (! bigtime_test (INT_MAX))
+      for (j = 1; (result & 4) == 0; j <<= 1)
+        {
+          if (! bigtime_test (j))
+            result |= 4;
+          if (INT_MAX / 2 < j)
+            break;
+        }
+      if ((result & 8) == 0 && ! bigtime_test (INT_MAX))
         result |= 8;
     }
   if (! irix_6_4_bug ())
@@ -244,7 +250,4 @@ AC_DEFUN([gl_FUNC_MKTIME_INTERNAL], [
 ])
 
 # Prerequisites of lib/mktime.c.
-AC_DEFUN([gl_PREREQ_MKTIME],
-[
-  AC_REQUIRE([AC_C_INLINE])
-])
+AC_DEFUN([gl_PREREQ_MKTIME], [:])
index 952536f..9b60ddf 100644 (file)
@@ -1,5 +1,5 @@
-# mmap-anon.m4 serial 9
-dnl Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+# mmap-anon.m4 serial 10
+dnl Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -9,7 +9,7 @@ dnl with or without modifications, as long as this notice is preserved.
 # - On Linux, AIX, OSF/1, Solaris, Cygwin, Interix, Haiku, both MAP_ANONYMOUS
 #   and MAP_ANON exist and have the same value.
 # - On HP-UX, only MAP_ANONYMOUS exists.
-# - On MacOS X, FreeBSD, NetBSD, OpenBSD, only MAP_ANON exists.
+# - On Mac OS X, FreeBSD, NetBSD, OpenBSD, only MAP_ANON exists.
 # - On IRIX, neither exists, and a file descriptor opened to /dev/zero must be
 #   used.
 
@@ -27,18 +27,18 @@ AC_DEFUN([gl_FUNC_MMAP_ANON],
   gl_have_mmap_anonymous=no
   if test $gl_have_mmap = yes; then
     AC_MSG_CHECKING([for MAP_ANONYMOUS])
-    AC_EGREP_CPP([I cant identify this map], [
+    AC_EGREP_CPP([I cannot identify this map], [
 #include <sys/mman.h>
 #ifdef MAP_ANONYMOUS
-    I cant identify this map
+    I cannot identify this map
 #endif
 ],
       [gl_have_mmap_anonymous=yes])
     if test $gl_have_mmap_anonymous != yes; then
-      AC_EGREP_CPP([I cant identify this map], [
+      AC_EGREP_CPP([I cannot identify this map], [
 #include <sys/mman.h>
 #ifdef MAP_ANON
-    I cant identify this map
+    I cannot identify this map
 #endif
 ],
         [AC_DEFINE([MAP_ANONYMOUS], [MAP_ANON],
index f9cf704..d5b66d4 100644 (file)
@@ -1,5 +1,5 @@
 # mode_t.m4 serial 2
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/msvc-inval.m4 b/m4/msvc-inval.m4
new file mode 100644 (file)
index 0000000..9a6a47a
--- /dev/null
@@ -0,0 +1,19 @@
+# msvc-inval.m4 serial 1
+dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_MSVC_INVAL],
+[
+  AC_CHECK_FUNCS_ONCE([_set_invalid_parameter_handler])
+  if test $ac_cv_func__set_invalid_parameter_handler = yes; then
+    HAVE_MSVC_INVALID_PARAMETER_HANDLER=1
+    AC_DEFINE([HAVE_MSVC_INVALID_PARAMETER_HANDLER], [1],
+      [Define to 1 on MSVC platforms that have the "invalid parameter handler"
+       concept.])
+  else
+    HAVE_MSVC_INVALID_PARAMETER_HANDLER=0
+  fi
+  AC_SUBST([HAVE_MSVC_INVALID_PARAMETER_HANDLER])
+])
diff --git a/m4/msvc-nothrow.m4 b/m4/msvc-nothrow.m4
new file mode 100644 (file)
index 0000000..a39618a
--- /dev/null
@@ -0,0 +1,10 @@
+# msvc-nothrow.m4 serial 1
+dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_MSVC_NOTHROW],
+[
+  AC_REQUIRE([gl_MSVC_INVAL])
+])
index 691d892..552ec7e 100644 (file)
@@ -1,12 +1,12 @@
-# multiarch.m4 serial 6
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# multiarch.m4 serial 7
+dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 # Determine whether the compiler is or may be producing universal binaries.
 #
-# On MacOS X 10.5 and later systems, the user can create libraries and
+# On Mac OS X 10.5 and later systems, the user can create libraries and
 # executables that work on multiple system types--known as "fat" or
 # "universal" binaries--by specifying multiple '-arch' options to the
 # compiler but only a single '-arch' option to the preprocessor.  Like
index dcf1b5f..25e2101 100644 (file)
@@ -1,5 +1,5 @@
 # nl_langinfo.m4 serial 5
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 36cbbe5..8f8a147 100644 (file)
--- a/m4/nls.m4
+++ b/m4/nls.m4
@@ -1,7 +1,6 @@
-# -*- buffer-read-only: t -*- vi: set ro:
-# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# nls.m4 serial 3 (gettext-0.15)
-dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
+# nls.m4 serial 5 (gettext-0.18)
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2013 Free Software Foundation,
+dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -19,15 +18,15 @@ dnl Authors:
 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
 dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
 
-AC_PREREQ(2.50)
+AC_PREREQ([2.50])
 
 AC_DEFUN([AM_NLS],
 [
   AC_MSG_CHECKING([whether NLS is requested])
   dnl Default is enabled NLS
-  AC_ARG_ENABLE(nls,
+  AC_ARG_ENABLE([nls],
     [  --disable-nls           do not use Native Language Support],
     USE_NLS=$enableval, USE_NLS=yes)
-  AC_MSG_RESULT($USE_NLS)
-  AC_SUBST(USE_NLS)
+  AC_MSG_RESULT([$USE_NLS])
+  AC_SUBST([USE_NLS])
 ])
index 0cc0d53..105b884 100644 (file)
@@ -1,5 +1,5 @@
-# nocrash.m4 serial 2
-dnl Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc.
+# nocrash.m4 serial 4
+dnl Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -18,7 +18,7 @@ dnl          int main() { nocrash_init(); ... }
 AC_DEFUN([GL_NOCRASH],[[
 #include <stdlib.h>
 #if defined __MACH__ && defined __APPLE__
-/* Avoid a crash on MacOS X.  */
+/* Avoid a crash on Mac OS X.  */
 #include <mach/mach.h>
 #include <mach/mach_error.h>
 #include <mach/thread_status.h>
@@ -79,6 +79,34 @@ nocrash_init (void)
     }
   }
 }
+#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* Avoid a crash on native Windows.  */
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#include <winerror.h>
+static LONG WINAPI
+exception_filter (EXCEPTION_POINTERS *ExceptionInfo)
+{
+  switch (ExceptionInfo->ExceptionRecord->ExceptionCode)
+    {
+    case EXCEPTION_ACCESS_VIOLATION:
+    case EXCEPTION_IN_PAGE_ERROR:
+    case EXCEPTION_STACK_OVERFLOW:
+    case EXCEPTION_GUARD_PAGE:
+    case EXCEPTION_PRIV_INSTRUCTION:
+    case EXCEPTION_ILLEGAL_INSTRUCTION:
+    case EXCEPTION_DATATYPE_MISALIGNMENT:
+    case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
+    case EXCEPTION_NONCONTINUABLE_EXCEPTION:
+      exit (1);
+    }
+  return EXCEPTION_CONTINUE_SEARCH;
+}
+static void
+nocrash_init (void)
+{
+  SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter);
+}
 #else
 /* Avoid a crash on POSIX systems.  */
 #include <signal.h>
diff --git a/m4/off_t.m4 b/m4/off_t.m4
new file mode 100644 (file)
index 0000000..d355d01
--- /dev/null
@@ -0,0 +1,18 @@
+# off_t.m4 serial 1
+dnl Copyright (C) 2012-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Check whether to override the 'off_t' type.
+dnl Set WINDOWS_64_BIT_OFF_T.
+
+AC_DEFUN([gl_TYPE_OFF_T],
+[
+  m4_ifdef([gl_LARGEFILE], [
+    AC_REQUIRE([gl_LARGEFILE])
+  ], [
+    WINDOWS_64_BIT_OFF_T=0
+  ])
+  AC_SUBST([WINDOWS_64_BIT_OFF_T])
+])
diff --git a/m4/onceonly.m4 b/m4/onceonly.m4
deleted file mode 100644 (file)
index 4a3cd84..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-# onceonly.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2008-2010 Free Software Foundation,
-dnl Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License.  As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl This file defines some "once only" variants of standard autoconf macros.
-dnl   AC_CHECK_HEADERS_ONCE          like  AC_CHECK_HEADERS
-dnl   AC_CHECK_FUNCS_ONCE            like  AC_CHECK_FUNCS
-dnl   AC_CHECK_DECLS_ONCE            like  AC_CHECK_DECLS
-dnl   AC_REQUIRE([AC_FUNC_STRCOLL])  like  AC_FUNC_STRCOLL
-dnl The advantage is that the check for each of the headers/functions/decls
-dnl will be put only once into the 'configure' file. It keeps the size of
-dnl the 'configure' file down, and avoids redundant output when 'configure'
-dnl is run.
-dnl The drawback is that the checks cannot be conditionalized. If you write
-dnl   if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi
-dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to
-dnl empty, and the check will be inserted before the body of the AC_DEFUNed
-dnl function.
-
-dnl The original code implemented AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE
-dnl in terms of AC_DEFUN and AC_REQUIRE. This implementation uses diversions to
-dnl named sections DEFAULTS and INIT_PREPARE in order to check all requested
-dnl headers at once, thus reducing the size of 'configure'. It is known to work
-dnl with autoconf 2.57..2.62 at least . The size reduction is ca. 9%.
-
-dnl Autoconf version 2.59 plus gnulib is required; this file is not needed
-dnl with Autoconf 2.60 or greater. But note that autoconf's implementation of
-dnl AC_CHECK_DECLS_ONCE expects a comma-separated list of symbols as first
-dnl argument!
-AC_PREREQ([2.59])
-
-# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of
-# AC_CHECK_HEADERS(HEADER1 HEADER2 ...).
-AC_DEFUN([AC_CHECK_HEADERS_ONCE], [
-  :
-  m4_foreach_w([gl_HEADER_NAME], [$1], [
-    AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
-                                                 [./-], [___])), [
-      m4_divert_text([INIT_PREPARE],
-        [gl_header_list="$gl_header_list gl_HEADER_NAME"])
-      gl_HEADERS_EXPANSION
-      AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_HEADER_NAME])),
-        [Define to 1 if you have the <]m4_defn([gl_HEADER_NAME])[> header file.])
-    ])
-    AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
-                                                   [./-], [___])))
-  ])
-])
-m4_define([gl_HEADERS_EXPANSION], [
-  m4_divert_text([DEFAULTS], [gl_header_list=])
-  AC_CHECK_HEADERS([$gl_header_list])
-  m4_define([gl_HEADERS_EXPANSION], [])
-])
-
-# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of
-# AC_CHECK_FUNCS(FUNC1 FUNC2 ...).
-AC_DEFUN([AC_CHECK_FUNCS_ONCE], [
-  :
-  m4_foreach_w([gl_FUNC_NAME], [$1], [
-    AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [
-      m4_divert_text([INIT_PREPARE],
-        [gl_func_list="$gl_func_list gl_FUNC_NAME"])
-      gl_FUNCS_EXPANSION
-      AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_FUNC_NAME])),
-        [Define to 1 if you have the `]m4_defn([gl_FUNC_NAME])[' function.])
-    ])
-    AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]))
-  ])
-])
-m4_define([gl_FUNCS_EXPANSION], [
-  m4_divert_text([DEFAULTS], [gl_func_list=])
-  AC_CHECK_FUNCS([$gl_func_list])
-  m4_define([gl_FUNCS_EXPANSION], [])
-])
-
-# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of
-# AC_CHECK_DECLS(DECL1, DECL2, ...).
-AC_DEFUN([AC_CHECK_DECLS_ONCE], [
-  :
-  m4_foreach_w([gl_DECL_NAME], [$1], [
-    AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [
-      AC_CHECK_DECLS(m4_defn([gl_DECL_NAME]))
-    ])
-    AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]))
-  ])
-])
index d819184..a6cb101 100644 (file)
@@ -1,5 +1,5 @@
-# open.m4 serial 13
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# open.m4 serial 14
+dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -86,7 +86,6 @@ changequote([,])dnl
 # Prerequisites of lib/open.c.
 AC_DEFUN([gl_PREREQ_OPEN],
 [
-  AC_REQUIRE([AC_C_INLINE])
   AC_REQUIRE([gl_PROMOTED_TYPE_MODE_T])
   :
 ])
diff --git a/m4/pathmax.m4 b/m4/pathmax.m4
new file mode 100644 (file)
index 0000000..e11bf57
--- /dev/null
@@ -0,0 +1,42 @@
+# pathmax.m4 serial 10
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation,
+dnl Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_PATHMAX],
+[
+  dnl Prerequisites of lib/pathmax.h.
+  AC_CHECK_HEADERS_ONCE([sys/param.h])
+])
+
+# Expands to a piece of C program that defines PATH_MAX in the same way as
+# "pathmax.h" will do.
+AC_DEFUN([gl_PATHMAX_SNIPPET], [[
+/* Arrange to define PATH_MAX, like "pathmax.h" does. */
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+#include <limits.h>
+#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN
+# include <sys/param.h>
+#endif
+#if !defined PATH_MAX && defined MAXPATHLEN
+# define PATH_MAX MAXPATHLEN
+#endif
+#ifdef __hpux
+# undef PATH_MAX
+# define PATH_MAX 1024
+#endif
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# undef PATH_MAX
+# define PATH_MAX 260
+#endif
+]])
+
+# Prerequisites of gl_PATHMAX_SNIPPET.
+AC_DEFUN([gl_PATHMAX_SNIPPET_PREREQ],
+[
+  AC_CHECK_HEADERS_ONCE([unistd.h sys/param.h])
+])
similarity index 93%
rename from m4/po_gl.m4
rename to m4/po.m4
index 960efe1..f395723 100644 (file)
+++ b/m4/po.m4
@@ -1,5 +1,5 @@
-# po.m4 serial 17 (gettext-0.18)
-dnl Copyright (C) 1995-2010 Free Software Foundation, Inc.
+# po.m4 serial 20 (gettext-0.18.2)
+dnl Copyright (C) 1995-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -17,19 +17,19 @@ dnl Authors:
 dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
 dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
 
-AC_PREREQ([2.50])
+AC_PREREQ([2.60])
 
 dnl Checks for all prerequisites of the po subdirectory.
 AC_DEFUN([AM_PO_SUBDIRS],
 [
   AC_REQUIRE([AC_PROG_MAKE_SET])dnl
   AC_REQUIRE([AC_PROG_INSTALL])dnl
-  AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
+  AC_REQUIRE([AC_PROG_MKDIR_P])dnl
   AC_REQUIRE([AM_NLS])dnl
 
   dnl Release version of the gettext macros. This is used to ensure that
   dnl the gettext macros and po/Makefile.in.in are in sync.
-  AC_SUBST([GETTEXT_MACRO_VERSION], [0.17])
+  AC_SUBST([GETTEXT_MACRO_VERSION], [0.18])
 
   dnl Perform the following tests also if --disable-nls has been given,
   dnl because they are needed for "make dist" to work.
@@ -102,7 +102,7 @@ changequote([,])dnl
       case "$ac_file" in */Makefile.in)
         # Adjust a relative srcdir.
         ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+        ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
         ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
         # In autoconf-2.13 it is called $ac_given_srcdir.
         # In autoconf-2.50 it is called $srcdir.
@@ -118,7 +118,8 @@ changequote([,])dnl
         if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
           rm -f "$ac_dir/POTFILES"
           test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[  ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+          gt_tab=`printf '\t'`
+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
           POMAKEFILEDEPS="POTFILES.in"
           # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
           # on $ac_dir but don't depend on user-specified configuration
@@ -129,12 +130,12 @@ changequote([,])dnl
               test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
             fi
             ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-            # Hide the ALL_LINGUAS assigment from automake < 1.5.
+            # Hide the ALL_LINGUAS assignment from automake < 1.5.
             eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
             POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
           else
             # The set of available languages was given in configure.in.
-            # Hide the ALL_LINGUAS assigment from automake < 1.5.
+            # Hide the ALL_LINGUAS assignment from automake < 1.5.
             eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
           fi
           # Compute POFILES
@@ -226,7 +227,7 @@ AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
 changequote(,)dnl
   # Adjust a relative srcdir.
   ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-  ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+  ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
   ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
   # In autoconf-2.13 it is called $ac_given_srcdir.
   # In autoconf-2.50 it is called $srcdir.
@@ -254,6 +255,7 @@ EOT
   fi
 
   # A sed script that extracts the value of VARIABLE from a Makefile.
+  tab=`printf '\t'`
   sed_x_variable='
 # Test if the hold space is empty.
 x
@@ -261,9 +263,9 @@ s/P/P/
 x
 ta
 # Yes it was empty. Look if we have the expected variable definition.
-/^[     ]*VARIABLE[     ]*=/{
+/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
   # Seen the first line of the variable definition.
-  s/^[  ]*VARIABLE[     ]*=//
+  s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
   ba
 }
 bd
@@ -315,7 +317,7 @@ changequote([,])dnl
     sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
     ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
   fi
-  # Hide the ALL_LINGUAS assigment from automake < 1.5.
+  # Hide the ALL_LINGUAS assignment from automake < 1.5.
   eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
   # Compute POFILES
   # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
@@ -405,14 +407,15 @@ changequote([,])dnl
   fi
 
   sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+  tab=`printf '\t'`
   if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
     # Add dependencies that cannot be formulated as a simple suffix rule.
     for lang in $ALL_LINGUAS; do
       frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
       cat >> "$ac_file.tmp" <<EOF
 $frobbedlang.msg: $lang.po
-       @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
-       \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
 EOF
     done
   fi
@@ -422,8 +425,8 @@ EOF
       frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
       cat >> "$ac_file.tmp" <<EOF
 $frobbedlang/\$(DOMAIN).resources.dll: $lang.po
-       @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
-       \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
 EOF
     done
   fi
index 1538d23..ef44f78 100644 (file)
@@ -1,5 +1,5 @@
-# printf.m4 serial 43
-dnl Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+# printf.m4 serial 50
+dnl Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -63,7 +63,7 @@ changequote(,)dnl
                                  # Guess yes on FreeBSD >= 5.
            freebsd[1-4]*)        gl_cv_func_printf_sizes_c99="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";;
-                                 # Guess yes on MacOS X >= 10.3.
+                                 # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_printf_sizes_c99="guessing no";;
            darwin*)              gl_cv_func_printf_sizes_c99="guessing yes";;
                                  # Guess yes on OpenBSD >= 3.9.
@@ -178,28 +178,28 @@ static double zero = 0.0;
 int main ()
 {
   int result = 0;
-  if (sprintf (buf, "%f", 1.0 / 0.0) < 0
+  if (sprintf (buf, "%f", 1.0 / zero) < 0
       || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
     result |= 1;
-  if (sprintf (buf, "%f", -1.0 / 0.0) < 0
+  if (sprintf (buf, "%f", -1.0 / zero) < 0
       || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
     result |= 1;
   if (sprintf (buf, "%f", zero / zero) < 0
       || !strisnan (buf, 0, strlen (buf)))
     result |= 2;
-  if (sprintf (buf, "%e", 1.0 / 0.0) < 0
+  if (sprintf (buf, "%e", 1.0 / zero) < 0
       || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
     result |= 4;
-  if (sprintf (buf, "%e", -1.0 / 0.0) < 0
+  if (sprintf (buf, "%e", -1.0 / zero) < 0
       || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
     result |= 4;
   if (sprintf (buf, "%e", zero / zero) < 0
       || !strisnan (buf, 0, strlen (buf)))
     result |= 8;
-  if (sprintf (buf, "%g", 1.0 / 0.0) < 0
+  if (sprintf (buf, "%g", 1.0 / zero) < 0
       || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
     result |= 16;
-  if (sprintf (buf, "%g", -1.0 / 0.0) < 0
+  if (sprintf (buf, "%g", -1.0 / zero) < 0
       || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
     result |= 16;
   if (sprintf (buf, "%g", zero / zero) < 0
@@ -222,7 +222,7 @@ changequote(,)dnl
                                  # Guess yes on FreeBSD >= 6.
            freebsd[1-5]*)        gl_cv_func_printf_infinite="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";;
-                                 # Guess yes on MacOS X >= 10.3.
+                                 # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_printf_infinite="guessing no";;
            darwin*)              gl_cv_func_printf_infinite="guessing yes";;
                                  # Guess yes on HP-UX >= 11.
@@ -251,6 +251,7 @@ AC_DEFUN([gl_PRINTF_INFINITE_LONG_DOUBLE],
   AC_REQUIRE([gl_PRINTF_LONG_DOUBLE])
   AC_REQUIRE([AC_PROG_CC])
   AC_REQUIRE([gl_BIGENDIAN])
+  AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   dnl The user can set or unset the variable gl_printf_safe to indicate
   dnl that he wishes a safe handling of non-IEEE-754 'long double' values.
@@ -294,34 +295,34 @@ int main ()
 {
   int result = 0;
   nocrash_init();
-  if (sprintf (buf, "%Lf", 1.0L / 0.0L) < 0
+  if (sprintf (buf, "%Lf", 1.0L / zeroL) < 0
       || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
     result |= 1;
-  if (sprintf (buf, "%Lf", -1.0L / 0.0L) < 0
+  if (sprintf (buf, "%Lf", -1.0L / zeroL) < 0
       || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
     result |= 1;
   if (sprintf (buf, "%Lf", zeroL / zeroL) < 0
       || !strisnan (buf, 0, strlen (buf)))
     result |= 1;
-  if (sprintf (buf, "%Le", 1.0L / 0.0L) < 0
+  if (sprintf (buf, "%Le", 1.0L / zeroL) < 0
       || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
     result |= 1;
-  if (sprintf (buf, "%Le", -1.0L / 0.0L) < 0
+  if (sprintf (buf, "%Le", -1.0L / zeroL) < 0
       || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
     result |= 1;
   if (sprintf (buf, "%Le", zeroL / zeroL) < 0
       || !strisnan (buf, 0, strlen (buf)))
     result |= 1;
-  if (sprintf (buf, "%Lg", 1.0L / 0.0L) < 0
+  if (sprintf (buf, "%Lg", 1.0L / zeroL) < 0
       || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
     result |= 1;
-  if (sprintf (buf, "%Lg", -1.0L / 0.0L) < 0
+  if (sprintf (buf, "%Lg", -1.0L / zeroL) < 0
       || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
     result |= 1;
   if (sprintf (buf, "%Lg", zeroL / zeroL) < 0
       || !strisnan (buf, 0, strlen (buf)))
     result |= 1;
-#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_))
+#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
 /* Representation of an 80-bit 'long double' as an initializer for a sequence
    of 'unsigned int' words.  */
 # ifdef WORDS_BIGENDIAN
@@ -478,6 +479,7 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_A],
 #include <stdio.h>
 #include <string.h>
 static char buf[100];
+static double zero = 0.0;
 int main ()
 {
   int result = 0;
@@ -502,17 +504,17 @@ int main ()
     result |= 4;
   /* This catches a FreeBSD 6.1 bug.  See
      <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
-  if (sprintf (buf, "%010a %d", 1.0 / 0.0, 33, 44, 55) < 0
+  if (sprintf (buf, "%010a %d", 1.0 / zero, 33, 44, 55) < 0
       || buf[0] == '0')
     result |= 8;
-  /* This catches a MacOS X 10.3.9 (Darwin 7.9) bug.  */
+  /* This catches a Mac OS X 10.3.9 (Darwin 7.9) bug.  */
   if (sprintf (buf, "%.1a", 1.999) < 0
       || (strcmp (buf, "0x1.0p+1") != 0
           && strcmp (buf, "0x2.0p+0") != 0
           && strcmp (buf, "0x4.0p-1") != 0
           && strcmp (buf, "0x8.0p-2") != 0))
     result |= 16;
-  /* This catches the same MacOS X 10.3.9 (Darwin 7.9) bug and also a
+  /* This catches the same Mac OS X 10.3.9 (Darwin 7.9) bug and also a
      glibc 2.4 bug <http://sourceware.org/bugzilla/show_bug.cgi?id=2908>.  */
   if (sprintf (buf, "%.1La", 1.999L) < 0
       || (strcmp (buf, "0x1.0p+1") != 0
@@ -562,13 +564,14 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_F],
 #include <stdio.h>
 #include <string.h>
 static char buf[100];
+static double zero = 0.0;
 int main ()
 {
   int result = 0;
   if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0
       || strcmp (buf, "1234567.000000 33") != 0)
     result |= 1;
-  if (sprintf (buf, "%F", 1.0 / 0.0) < 0
+  if (sprintf (buf, "%F", 1.0 / zero) < 0
       || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0))
     result |= 2;
   /* This catches a Cygwin 1.5.x bug.  */
@@ -587,7 +590,7 @@ changequote(,)dnl
                                  # Guess yes on FreeBSD >= 6.
            freebsd[1-5]*)        gl_cv_func_printf_directive_f="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";;
-                                 # Guess yes on MacOS X >= 10.3.
+                                 # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_printf_directive_f="guessing no";;
            darwin*)              gl_cv_func_printf_directive_f="guessing yes";;
                                  # Guess yes on Solaris >= 2.10.
@@ -615,12 +618,27 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_N],
       AC_RUN_IFELSE(
         [AC_LANG_SOURCE([[
 #include <stdio.h>
+#include <stdlib.h>
 #include <string.h>
+#ifdef _MSC_VER
+/* See page about "Parameter Validation" on msdn.microsoft.com.  */
+static void cdecl
+invalid_parameter_handler (const wchar_t *expression,
+                           const wchar_t *function,
+                           const wchar_t *file, unsigned int line,
+                           uintptr_t dummy)
+{
+  exit (1);
+}
+#endif
 static char fmtstring[10];
 static char buf[100];
 int main ()
 {
   int count = -1;
+#ifdef _MSC_VER
+  _set_invalid_parameter_handler (invalid_parameter_handler);
+#endif
   /* Copy the format string.  Some systems (glibc with _FORTIFY_SOURCE=2)
      support %n in format strings in read-only memory but not in writable
      memory.  */
@@ -636,7 +654,8 @@ int main ()
         [
 changequote(,)dnl
          case "$host_os" in
-           *)     gl_cv_func_printf_directive_n="guessing yes";;
+           mingw*) gl_cv_func_printf_directive_n="guessing no";;
+           *)      gl_cv_func_printf_directive_n="guessing yes";;
          esac
 changequote([,])dnl
         ])
@@ -862,9 +881,10 @@ AC_DEFUN([gl_PRINTF_FLAG_ZERO],
 #include <stdio.h>
 #include <string.h>
 static char buf[100];
+static double zero = 0.0;
 int main ()
 {
-  if (sprintf (buf, "%010f", 1.0 / 0.0, 33, 44, 55) < 0
+  if (sprintf (buf, "%010f", 1.0 / zero, 33, 44, 55) < 0
       || (strcmp (buf, "       inf") != 0
           && strcmp (buf, "  infinity") != 0))
     return 1;
@@ -932,7 +952,7 @@ int main ()
         [
 changequote(,)dnl
          case "$host_os" in
-           # Guess no only on Solaris, native Win32, and BeOS systems.
+           # Guess no only on Solaris, native Windows, and BeOS systems.
            solaris*)     gl_cv_func_printf_precision="guessing no" ;;
            mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;;
            beos*)        gl_cv_func_printf_precision="guessing no" ;;
@@ -1008,8 +1028,9 @@ int main()
 changequote([,])dnl
           ])])
           if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
-            (./conftest
+            (./conftest 2>&AS_MESSAGE_LOG_FD
              result=$?
+             _AS_ECHO_LOG([\$? = $result])
              if test $result != 0 && test $result != 77; then result=1; fi
              exit $result
             ) >/dev/null 2>/dev/null
@@ -1023,7 +1044,7 @@ changequote([,])dnl
           fi
           rm -fr conftest*
         else
-          dnl A universal build on Apple MacOS X platforms.
+          dnl A universal build on Apple Mac OS X platforms.
           dnl The result would be 'no' in 32-bit mode and 'yes' in 64-bit mode.
           dnl But we need a configuration result that is valid in both modes.
           gl_cv_func_printf_enomem="guessing no"
@@ -1076,6 +1097,7 @@ AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99],
 [
   AC_REQUIRE([AC_PROG_CC])
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_REQUIRE([gl_SNPRINTF_PRESENCE])
   AC_CACHE_CHECK([whether snprintf truncates the result as in C99],
     [gl_cv_func_snprintf_truncation_c99],
     [
@@ -1083,11 +1105,25 @@ AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99],
         [AC_LANG_SOURCE([[
 #include <stdio.h>
 #include <string.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+static int my_snprintf (char *buf, int size, const char *format, ...)
+{
+  va_list args;
+  int ret;
+  va_start (args, format);
+  ret = vsnprintf (buf, size, format, args);
+  va_end (args);
+  return ret;
+}
+#endif
 static char buf[100];
 int main ()
 {
   strcpy (buf, "ABCDEF");
-  snprintf (buf, 3, "%d %d", 4567, 89);
+  my_snprintf (buf, 3, "%d %d", 4567, 89);
   if (memcmp (buf, "45\0DEF", 6) != 0)
     return 1;
   return 0;
@@ -1102,7 +1138,7 @@ changequote(,)dnl
                                  # Guess yes on FreeBSD >= 5.
            freebsd[1-4]*)        gl_cv_func_snprintf_truncation_c99="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
-                                 # Guess yes on MacOS X >= 10.3.
+                                 # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_snprintf_truncation_c99="guessing no";;
            darwin*)              gl_cv_func_snprintf_truncation_c99="guessing yes";;
                                  # Guess yes on OpenBSD >= 3.9.
@@ -1157,6 +1193,7 @@ AC_DEFUN_ONCE([gl_SNPRINTF_RETVAL_C99],
 [
   AC_REQUIRE([AC_PROG_CC])
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_REQUIRE([gl_SNPRINTF_PRESENCE])
   AC_CACHE_CHECK([whether snprintf returns a byte count as in C99],
     [gl_cv_func_snprintf_retval_c99],
     [
@@ -1164,15 +1201,29 @@ AC_DEFUN_ONCE([gl_SNPRINTF_RETVAL_C99],
         [AC_LANG_SOURCE([[
 #include <stdio.h>
 #include <string.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+static int my_snprintf (char *buf, int size, const char *format, ...)
+{
+  va_list args;
+  int ret;
+  va_start (args, format);
+  ret = vsnprintf (buf, size, format, args);
+  va_end (args);
+  return ret;
+}
+#endif
 static char buf[100];
 int main ()
 {
   strcpy (buf, "ABCDEF");
-  if (snprintf (buf, 3, "%d %d", 4567, 89) != 7)
+  if (my_snprintf (buf, 3, "%d %d", 4567, 89) != 7)
     return 1;
-  if (snprintf (buf, 0, "%d %d", 4567, 89) != 7)
+  if (my_snprintf (buf, 0, "%d %d", 4567, 89) != 7)
     return 2;
-  if (snprintf (NULL, 0, "%d %d", 4567, 89) != 7)
+  if (my_snprintf (NULL, 0, "%d %d", 4567, 89) != 7)
     return 3;
   return 0;
 }]])],
@@ -1186,7 +1237,7 @@ changequote(,)dnl
                                  # Guess yes on FreeBSD >= 5.
            freebsd[1-4]*)        gl_cv_func_snprintf_retval_c99="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";;
-                                 # Guess yes on MacOS X >= 10.3.
+                                 # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_snprintf_retval_c99="guessing no";;
            darwin*)              gl_cv_func_snprintf_retval_c99="guessing yes";;
                                  # Guess yes on OpenBSD >= 3.9.
@@ -1221,6 +1272,7 @@ AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N],
 [
   AC_REQUIRE([AC_PROG_CC])
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_REQUIRE([gl_SNPRINTF_PRESENCE])
   AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive],
     [gl_cv_func_snprintf_directive_n],
     [
@@ -1228,6 +1280,20 @@ AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N],
         [AC_LANG_SOURCE([[
 #include <stdio.h>
 #include <string.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+static int my_snprintf (char *buf, int size, const char *format, ...)
+{
+  va_list args;
+  int ret;
+  va_start (args, format);
+  ret = vsnprintf (buf, size, format, args);
+  va_end (args);
+  return ret;
+}
+#endif
 static char fmtstring[10];
 static char buf[100];
 int main ()
@@ -1237,7 +1303,7 @@ int main ()
      support %n in format strings in read-only memory but not in writable
      memory.  */
   strcpy (fmtstring, "%d %n");
-  snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55);
+  my_snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55);
   if (count != 6)
     return 1;
   return 0;
@@ -1252,7 +1318,7 @@ changequote(,)dnl
                                  # Guess yes on FreeBSD >= 5.
            freebsd[1-4]*)        gl_cv_func_snprintf_directive_n="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";;
-                                 # Guess yes on MacOS X >= 10.3.
+                                 # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_snprintf_directive_n="guessing no";;
            darwin*)              gl_cv_func_snprintf_directive_n="guessing yes";;
                                  # Guess yes on Solaris >= 2.6.
@@ -1289,16 +1355,31 @@ dnl Result is gl_cv_func_snprintf_size1.
 AC_DEFUN([gl_SNPRINTF_SIZE1],
 [
   AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([gl_SNPRINTF_PRESENCE])
   AC_CACHE_CHECK([whether snprintf respects a size of 1],
     [gl_cv_func_snprintf_size1],
     [
       AC_RUN_IFELSE(
         [AC_LANG_SOURCE([[
 #include <stdio.h>
+#if HAVE_SNPRINTF
+# define my_snprintf snprintf
+#else
+# include <stdarg.h>
+static int my_snprintf (char *buf, int size, const char *format, ...)
+{
+  va_list args;
+  int ret;
+  va_start (args, format);
+  ret = vsnprintf (buf, size, format, args);
+  va_end (args);
+  return ret;
+}
+#endif
 int main()
 {
   static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' };
-  snprintf (buf, 1, "%d", 12345);
+  my_snprintf (buf, 1, "%d", 12345);
   return buf[1] != 'E';
 }]])],
         [gl_cv_func_snprintf_size1=yes],
@@ -1379,7 +1460,7 @@ changequote(,)dnl
                                  # Guess yes on FreeBSD >= 5.
            freebsd[1-4]*)        gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
-                                 # Guess yes on MacOS X >= 10.3.
+                                 # Guess yes on Mac OS X >= 10.3.
            darwin[1-6].*)        gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
            darwin*)              gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
                                  # Guess yes on Cygwin.
@@ -1459,13 +1540,13 @@ dnl                                  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
 dnl   glibc 2.5                      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
 dnl   glibc 2.3.6                    .  .  .  .  #  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
 dnl   FreeBSD 5.4, 6.1               .  .  .  .  #  .  .  .  .  .  .  #  .  #  .  .  .  .  .  .
-dnl   MacOS X 10.5.8                 .  .  .  #  #  .  .  .  .  .  .  #  .  .  .  .  .  .  .  .
-dnl   MacOS X 10.3.9                 .  .  .  .  #  .  .  .  .  .  .  #  .  #  .  .  .  .  .  .
+dnl   Mac OS X 10.5.8                .  .  .  #  #  .  .  .  .  .  .  #  .  .  .  .  .  .  .  .
+dnl   Mac OS X 10.3.9                .  .  .  .  #  .  .  .  .  .  .  #  .  #  .  .  .  .  .  .
 dnl   OpenBSD 3.9, 4.0               .  .  #  #  #  #  .  #  .  #  .  #  .  #  .  .  .  .  .  .
 dnl   Cygwin 1.7.0 (2009)            .  .  .  #  .  .  .  ?  .  .  .  .  .  ?  .  .  .  .  .  .
 dnl   Cygwin 1.5.25 (2008)           .  .  .  #  #  .  .  #  .  .  .  .  .  #  .  .  .  .  .  .
 dnl   Cygwin 1.5.19 (2006)           #  .  .  #  #  #  .  #  .  #  .  #  #  #  .  .  .  .  .  .
-dnl   Solaris 11 2010-11             .  .  #  #  #  .  .  #  .  .  .  #  .  .  .  .  .  .  .  .
+dnl   Solaris 11 2011-11             .  .  #  #  #  .  .  #  .  .  .  #  .  .  .  .  .  .  .  .
 dnl   Solaris 10                     .  .  #  #  #  .  .  #  .  .  .  #  #  .  .  .  .  .  .  .
 dnl   Solaris 2.6 ... 9              #  .  #  #  #  #  .  #  .  .  .  #  #  .  .  .  #  .  .  .
 dnl   Solaris 2.5.1                  #  .  #  #  #  #  .  #  .  .  .  #  .  .  #  #  #  #  #  #
@@ -1484,5 +1565,6 @@ dnl   NetBSD 3.0                     .  .  .  .  #  #  .  ?  #  #  ?  #  .  #  .
 dnl   Haiku                          .  .  .  #  #  #  .  #  .  .  .  .  .  ?  .  .  ?  .  .  .
 dnl   BeOS                           #  #  .  #  #  #  .  ?  #  .  ?  .  #  ?  .  .  ?  .  .  .
 dnl   old mingw / msvcrt             #  #  #  #  #  #  .  .  #  #  .  #  #  ?  .  #  #  #  .  .
+dnl   MSVC 9                         #  #  #  #  #  #  #  .  #  #  .  #  #  ?  #  #  #  #  .  .
 dnl   mingw 2009-2011                .  #  .  #  .  .  .  .  #  #  .  .  .  ?  .  .  .  .  .  .
 dnl   mingw-w64 2011                 #  #  #  #  #  #  .  .  #  #  .  #  #  ?  .  #  #  #  .  .
index 6b44328..7b39123 100644 (file)
@@ -1,7 +1,5 @@
-# -*- buffer-read-only: t -*- vi: set ro:
-# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# progtest.m4 serial 4 (gettext-0.14.2)
-dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
+# progtest.m4 serial 7 (gettext-0.18.2)
+dnl Copyright (C) 1996-2003, 2005, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -18,7 +16,7 @@ dnl They are *not* in the public domain.
 dnl Authors:
 dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
 
-AC_PREREQ(2.50)
+AC_PREREQ([2.50])
 
 # Search path for a program which passes the given test.
 
@@ -29,15 +27,14 @@ AC_DEFUN([AM_PATH_PROG_WITH_TEST],
 # Prepare PATH_SEPARATOR.
 # The user is always right.
 if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+  # contains only /bin. Note that ksh looks also at the FPATH variable,
+  # so we have to set that as well for the test.
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+           || PATH_SEPARATOR=';'
+       }
 fi
 
 # Find out how to test for executable files. Don't use a zero-byte file,
@@ -57,7 +54,7 @@ rm -f conf$$.file
 # Extract the first word of "$2", so it can be a program name with args.
 set dummy $2; ac_word=[$]2
 AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL(ac_cv_path_$1,
+AC_CACHE_VAL([ac_cv_path_$1],
 [case "[$]$1" in
   [[\\/]]* | ?:[[\\/]]*)
     ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
@@ -86,9 +83,9 @@ ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
 esac])dnl
 $1="$ac_cv_path_$1"
 if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
-  AC_MSG_RESULT([$]$1)
+  AC_MSG_RESULT([$][$1])
 else
-  AC_MSG_RESULT(no)
+  AC_MSG_RESULT([no])
 fi
-AC_SUBST($1)dnl
+AC_SUBST([$1])dnl
 ])
index 1497b4a..c33b5b5 100644 (file)
@@ -1,5 +1,5 @@
-# putenv.m4 serial 18
-dnl Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# putenv.m4 serial 20
+dnl Copyright (C) 2002-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -12,6 +12,7 @@ dnl The putenv in libc on at least SunOS 4.1.4 does *not* do that.
 AC_DEFUN([gl_FUNC_PUTENV],
 [
   AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   AC_CACHE_CHECK([for putenv compatible with GNU and SVID],
    [gl_cv_func_svid_putenv],
    [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],[[
@@ -32,9 +33,24 @@ AC_DEFUN([gl_FUNC_PUTENV],
              gl_cv_func_svid_putenv=yes,
              gl_cv_func_svid_putenv=no,
              dnl When crosscompiling, assume putenv is broken.
-             gl_cv_func_svid_putenv=no)
+             [case "$host_os" in
+                        # Guess yes on glibc systems.
+                *-gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
+                        # If we don't know, assume the worst.
+                *)      gl_cv_func_svid_putenv="guessing no" ;;
+              esac
+             ])
    ])
-  if test $gl_cv_func_svid_putenv = no; then
-    REPLACE_PUTENV=1
-  fi
+  case "$gl_cv_func_svid_putenv" in
+    *yes) ;;
+    *)
+      REPLACE_PUTENV=1
+      ;;
+  esac
+])
+
+# Prerequisites of lib/putenv.c.
+AC_DEFUN([gl_PREREQ_PUTENV],
+[
+  AC_CHECK_DECLS([_putenv])
 ])
index 1996120..ac49236 100644 (file)
@@ -1,5 +1,5 @@
 # quote.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
index 990712b..bc0ef0c 100644 (file)
@@ -1,5 +1,5 @@
 # quotearg.m4 serial 9
-dnl Copyright (C) 2002, 2004-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/raise.m4 b/m4/raise.m4
new file mode 100644 (file)
index 0000000..7df3317
--- /dev/null
@@ -0,0 +1,34 @@
+# raise.m4 serial 3
+dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_RAISE],
+[
+  AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([gl_MSVC_INVAL])
+  AC_CHECK_FUNCS([raise])
+  if test $ac_cv_func_raise = no; then
+    HAVE_RAISE=0
+  else
+    if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+      REPLACE_RAISE=1
+    fi
+    m4_ifdef([gl_SIGNALBLOCKING], [
+      gl_SIGNALBLOCKING
+      if test $HAVE_POSIX_SIGNALBLOCKING = 0; then
+        m4_ifdef([gl_SIGNAL_SIGPIPE], [
+          gl_SIGNAL_SIGPIPE
+          if test $gl_cv_header_signal_h_SIGPIPE != yes; then
+            REPLACE_RAISE=1
+          fi
+        ], [:])
+      fi
+    ])
+  fi
+])
+
+# Prerequisites of lib/raise.c.
+AC_DEFUN([gl_PREREQ_RAISE], [:])
diff --git a/m4/readlink.m4 b/m4/readlink.m4
new file mode 100644 (file)
index 0000000..96e5042
--- /dev/null
@@ -0,0 +1,71 @@
+# readlink.m4 serial 12
+dnl Copyright (C) 2003, 2007, 2009-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_READLINK],
+[
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CHECK_FUNCS_ONCE([readlink])
+  if test $ac_cv_func_readlink = no; then
+    HAVE_READLINK=0
+  else
+    AC_CACHE_CHECK([whether readlink signature is correct],
+      [gl_cv_decl_readlink_works],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM(
+           [[#include <unistd.h>
+      /* Cause compilation failure if original declaration has wrong type.  */
+      ssize_t readlink (const char *, char *, size_t);]])],
+         [gl_cv_decl_readlink_works=yes], [gl_cv_decl_readlink_works=no])])
+    dnl Solaris 9 ignores trailing slash.
+    dnl FreeBSD 7.2 dereferences only one level of links with trailing slash.
+    AC_CACHE_CHECK([whether readlink handles trailing slash correctly],
+      [gl_cv_func_readlink_works],
+      [# We have readlink, so assume ln -s works.
+       ln -s conftest.no-such conftest.link
+       ln -s conftest.link conftest.lnk2
+       AC_RUN_IFELSE(
+         [AC_LANG_PROGRAM(
+           [[#include <unistd.h>
+]], [[char buf[20];
+      return readlink ("conftest.lnk2/", buf, sizeof buf) != -1;]])],
+         [gl_cv_func_readlink_works=yes], [gl_cv_func_readlink_works=no],
+         [case "$host_os" in
+                    # Guess yes on glibc systems.
+            *-gnu*) gl_cv_func_readlink_works="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_readlink_works="guessing no" ;;
+          esac
+         ])
+      rm -f conftest.link conftest.lnk2])
+    case "$gl_cv_func_readlink_works" in
+      *yes)
+        if test "$gl_cv_decl_readlink_works" != yes; then
+          REPLACE_READLINK=1
+        fi
+        ;;
+      *)
+        AC_DEFINE([READLINK_TRAILING_SLASH_BUG], [1], [Define to 1 if readlink
+          fails to recognize a trailing slash.])
+        REPLACE_READLINK=1
+        ;;
+    esac
+  fi
+])
+
+# Like gl_FUNC_READLINK, except prepare for separate compilation
+# (no REPLACE_READLINK, no AC_LIBOBJ).
+AC_DEFUN([gl_FUNC_READLINK_SEPARATE],
+[
+  AC_CHECK_FUNCS_ONCE([readlink])
+  gl_PREREQ_READLINK
+])
+
+# Prerequisites of lib/readlink.c.
+AC_DEFUN([gl_PREREQ_READLINK],
+[
+  :
+])
index e48fab0..3334c10 100644 (file)
@@ -1,6 +1,6 @@
-# serial 59
+# serial 64
 
-# Copyright (C) 1996-2001, 2003-2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2001, 2003-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -27,15 +27,21 @@ AC_DEFUN([gl_REGEX],
     # following run test, then default to *not* using the included regex.c.
     # If cross compiling, assume the test would fail and use the included
     # regex.c.
+    AC_CHECK_DECLS_ONCE([alarm])
     AC_CACHE_CHECK([for working re_compile_pattern],
                    [gl_cv_func_re_compile_pattern_working],
       [AC_RUN_IFELSE(
         [AC_LANG_PROGRAM(
-          [AC_INCLUDES_DEFAULT[
-           #include <locale.h>
-           #include <limits.h>
-           #include <regex.h>
-           ]],
+          [[#include <regex.h>
+
+            #include <locale.h>
+            #include <limits.h>
+            #include <string.h>
+            #if HAVE_DECL_ALARM
+            # include <unistd.h>
+            # include <signal.h>
+            #endif
+          ]],
           [[int result = 0;
             static struct re_pattern_buffer regex;
             unsigned char folded_chars[UCHAR_MAX + 1];
@@ -43,26 +49,54 @@ AC_DEFUN([gl_REGEX],
             const char *s;
             struct re_registers regs;
 
-            /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html
-               This test needs valgrind to catch the bug on Debian
-               GNU/Linux 3.1 x86, but it might catch the bug better
-               on other platforms and it shouldn't hurt to try the
-               test here.  */
+#if HAVE_DECL_ALARM
+            /* Some builds of glibc go into an infinite loop on this test.  */
+            signal (SIGALRM, SIG_DFL);
+            alarm (2);
+#endif
             if (setlocale (LC_ALL, "en_US.UTF-8"))
               {
-                static char const pat[] = "insert into";
-                static char const data[] =
-                  "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK";
-                re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE
-                               | RE_ICASE);
-                memset (&regex, 0, sizeof regex);
-                s = re_compile_pattern (pat, sizeof pat - 1, &regex);
-                if (s)
-                  result |= 1;
-                else if (re_search (&regex, data, sizeof data - 1,
-                                    0, sizeof data - 1, &regs)
-                         != -1)
-                  result |= 1;
+                {
+                  /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html
+                     This test needs valgrind to catch the bug on Debian
+                     GNU/Linux 3.1 x86, but it might catch the bug better
+                     on other platforms and it shouldn't hurt to try the
+                     test here.  */
+                  static char const pat[] = "insert into";
+                  static char const data[] =
+                    "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK";
+                  re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE
+                                 | RE_ICASE);
+                  memset (&regex, 0, sizeof regex);
+                  s = re_compile_pattern (pat, sizeof pat - 1, &regex);
+                  if (s)
+                    result |= 1;
+                  else if (re_search (&regex, data, sizeof data - 1,
+                                      0, sizeof data - 1, &regs)
+                           != -1)
+                    result |= 1;
+                }
+
+                {
+                  /* This test is from glibc bug 15078.
+                     The test case is from Andreas Schwab in
+                     <http://www.sourceware.org/ml/libc-alpha/2013-01/msg00967.html>.
+                     */
+                  static char const pat[] = "[^x]x";
+                  static char const data[] =
+                    "\xe1\x80\x80\xe1\x80\xbb\xe1\x80\xbd\xe1\x80\x94\xe1\x80"
+                    "\xba\xe1\x80\xaf\xe1\x80\x95\xe1\x80\xbax";
+                  re_set_syntax (0);
+                  memset (&regex, 0, sizeof regex);
+                  s = re_compile_pattern (pat, sizeof pat - 1, &regex);
+                  if (s)
+                    result |= 1;
+                  else if (re_search (&regex, data, sizeof data - 1,
+                                      0, sizeof data - 1, 0)
+                           != 21)
+                    result |= 1;
+                }
+
                 if (! setlocale (LC_ALL, "C"))
                   return 1;
               }
@@ -175,6 +209,9 @@ AC_DEFUN([gl_REGEX],
   esac
 
   if test $ac_use_included_regex = yes; then
+    AC_DEFINE([_REGEX_INCLUDE_LIMITS_H], [1],
+      [Define if you want <regex.h> to include <limits.h>, so that it
+       consistently overrides <limits.h>'s RE_DUP_MAX.])
     AC_DEFINE([_REGEX_LARGE_OFFSETS], [1],
       [Define if you want regoff_t to be at least as wide POSIX requires.])
     AC_DEFINE([re_syntax_options], [rpl_re_syntax_options],
@@ -217,7 +254,8 @@ AC_DEFUN([gl_PREREQ_REGEX],
   AC_REQUIRE([AC_C_INLINE])
   AC_REQUIRE([AC_C_RESTRICT])
   AC_REQUIRE([AC_TYPE_MBSTATE_T])
+  AC_REQUIRE([gl_EEMALLOC])
   AC_CHECK_HEADERS([libintl.h])
   AC_CHECK_FUNCS_ONCE([isblank iswctype wcscoll])
-  AC_CHECK_DECLS([isblank], [], [], [#include <ctype.h>])
+  AC_CHECK_DECLS([isblank], [], [], [[#include <ctype.h>]])
 ])
diff --git a/m4/secure_getenv.m4 b/m4/secure_getenv.m4
new file mode 100644 (file)
index 0000000..5da5298
--- /dev/null
@@ -0,0 +1,25 @@
+# Look up an environment variable more securely.
+dnl Copyright 2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_SECURE_GETENV],
+[
+  dnl Persuade glibc <stdlib.h> to declare secure_getenv().
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  AC_CHECK_FUNCS_ONCE([secure_getenv])
+  if test $ac_cv_func_secure_getenv = no; then
+    HAVE_SECURE_GETENV=0
+  fi
+])
+
+# Prerequisites of lib/secure_getenv.c.
+AC_DEFUN([gl_PREREQ_SECURE_GETENV], [
+  AC_CHECK_FUNCS([__secure_getenv])
+  if test $ac_cv_func___secure_getenv = no; then
+    AC_CHECK_FUNCS([issetugid])
+  fi
+])
index 8927a6c..cb5351a 100644 (file)
@@ -1,5 +1,5 @@
-# setenv.m4 serial 24
-dnl Copyright (C) 2001-2004, 2006-2011 Free Software Foundation, Inc.
+# setenv.m4 serial 26
+dnl Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,6 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_FUNC_SETENV],
 [
   AC_REQUIRE([gl_FUNC_SETENV_SEPARATE])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   if test $ac_cv_func_setenv = no; then
     HAVE_SETENV=0
   else
@@ -33,10 +34,19 @@ AC_DEFUN([gl_FUNC_SETENV],
        return result;
       ]])],
       [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no],
-      [gl_cv_func_setenv_works="guessing no"])])
-    if test "$gl_cv_func_setenv_works" != yes; then
-      REPLACE_SETENV=1
-    fi
+      [case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_setenv_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_setenv_works="guessing no" ;;
+       esac
+      ])])
+    case "$gl_cv_func_setenv_works" in
+      *yes) ;;
+      *)
+        REPLACE_SETENV=1
+        ;;
+    esac
   fi
 ])
 
@@ -56,6 +66,7 @@ AC_DEFUN([gl_FUNC_SETENV_SEPARATE],
 AC_DEFUN([gl_FUNC_UNSETENV],
 [
   AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   AC_CHECK_DECLS_ONCE([unsetenv])
   if test $ac_cv_have_decl_unsetenv = no; then
     HAVE_DECL_UNSETENV=0
@@ -77,11 +88,7 @@ extern
 #ifdef __cplusplus
 "C"
 #endif
-#if defined(__STDC__) || defined(__cplusplus)
 int unsetenv (const char *name);
-#else
-int unsetenv();
-#endif
             ]],
             [[]])],
          [gt_cv_func_unsetenv_ret='int'],
@@ -119,10 +126,19 @@ int unsetenv();
        if (getenv ("a")) return 6;
       ]])],
       [gl_cv_func_unsetenv_works=yes], [gl_cv_func_unsetenv_works=no],
-      [gl_cv_func_unsetenv_works="guessing no"])])
-    if test "$gl_cv_func_unsetenv_works" != yes; then
-      REPLACE_UNSETENV=1
-    fi
+      [case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_unsetenv_works="guessing no" ;;
+       esac
+      ])])
+    case "$gl_cv_func_unsetenv_works" in
+      *yes) ;;
+      *)
+        REPLACE_UNSETENV=1
+        ;;
+    esac
   fi
 ])
 
index d64780d..1133e65 100644 (file)
@@ -1,5 +1,5 @@
 # setlocale.m4 serial 4
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index b365e26..116b068 100644 (file)
@@ -1,5 +1,5 @@
-# sigaction.m4 serial 6
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# sigaction.m4 serial 7
+dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -37,7 +37,4 @@ AC_DEFUN([gl_PREREQ_SIGACTION],
 ])
 
 # Prerequisites of lib/sig-handler.h.
-AC_DEFUN([gl_PREREQ_SIG_HANDLER_H],
-[
-  AC_REQUIRE([AC_C_INLINE])
-])
+AC_DEFUN([gl_PREREQ_SIG_HANDLER_H], [:])
index b9536fb..3de9f27 100644 (file)
@@ -1,5 +1,5 @@
-# signal_h.m4 serial 16
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# signal_h.m4 serial 18
+dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -17,6 +17,9 @@ AC_DEFUN([gl_SIGNAL_H],
 #include <signal.h>
     ]])
 
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
   AC_REQUIRE([AC_TYPE_UID_T])
 
   dnl Persuade glibc <signal.h> to define sighandler_t.
@@ -59,12 +62,14 @@ AC_DEFUN([gl_SIGNAL_MODULE_INDICATOR],
 AC_DEFUN([gl_SIGNAL_H_DEFAULTS],
 [
   GNULIB_PTHREAD_SIGMASK=0;    AC_SUBST([GNULIB_PTHREAD_SIGMASK])
+  GNULIB_RAISE=0;              AC_SUBST([GNULIB_RAISE])
   GNULIB_SIGNAL_H_SIGPIPE=0;   AC_SUBST([GNULIB_SIGNAL_H_SIGPIPE])
   GNULIB_SIGPROCMASK=0;        AC_SUBST([GNULIB_SIGPROCMASK])
   GNULIB_SIGACTION=0;          AC_SUBST([GNULIB_SIGACTION])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_POSIX_SIGNALBLOCKING=1; AC_SUBST([HAVE_POSIX_SIGNALBLOCKING])
   HAVE_PTHREAD_SIGMASK=1;      AC_SUBST([HAVE_PTHREAD_SIGMASK])
+  HAVE_RAISE=1;                AC_SUBST([HAVE_RAISE])
   HAVE_SIGSET_T=1;             AC_SUBST([HAVE_SIGSET_T])
   HAVE_SIGINFO_T=1;            AC_SUBST([HAVE_SIGINFO_T])
   HAVE_SIGACTION=1;            AC_SUBST([HAVE_SIGACTION])
@@ -74,4 +79,5 @@ AC_DEFUN([gl_SIGNAL_H_DEFAULTS],
                                AC_SUBST([HAVE_TYPE_VOLATILE_SIG_ATOMIC_T])
   HAVE_SIGHANDLER_T=1;         AC_SUBST([HAVE_SIGHANDLER_T])
   REPLACE_PTHREAD_SIGMASK=0;   AC_SUBST([REPLACE_PTHREAD_SIGMASK])
+  REPLACE_RAISE=0;             AC_SUBST([REPLACE_RAISE])
 ])
index 15b7425..a00e704 100644 (file)
@@ -1,5 +1,5 @@
-# signalblocking.m4 serial 12
-dnl Copyright (C) 2001-2002, 2006-2011 Free Software Foundation, Inc.
+# signalblocking.m4 serial 14
+dnl Copyright (C) 2001-2002, 2006-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index e807098..4b247ab 100644 (file)
@@ -1,5 +1,5 @@
 # size_max.m4 serial 10
-dnl Copyright (C) 2003, 2005-2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2006, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 37f19a9..a27baa6 100644 (file)
@@ -1,5 +1,5 @@
-# sleep.m4 serial 5
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# sleep.m4 serial 7
+dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,12 +7,13 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_FUNC_SLEEP],
 [
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   dnl We expect to see the declaration of sleep() in a header file.
   dnl Older versions of mingw have a sleep() function that is an alias to
   dnl _sleep() in MSVCRT. It has a different signature than POSIX sleep():
   dnl it takes the number of milliseconds as argument and returns void.
   dnl mingw does not declare this function.
-  AC_CHECK_DECLS([sleep], , , [#include <unistd.h>])
+  AC_CHECK_DECLS([sleep], , , [[#include <unistd.h>]])
   AC_CHECK_FUNCS_ONCE([sleep])
   if test $ac_cv_have_decl_sleep != yes; then
     HAVE_SLEEP=0
@@ -44,9 +45,18 @@ handle_alarm (int sig)
     return 0;
     ]])],
       [gl_cv_func_sleep_works=yes], [gl_cv_func_sleep_works=no],
-      [gl_cv_func_sleep_works="guessing no"])])
-    if test "$gl_cv_func_sleep_works" != yes; then
-      REPLACE_SLEEP=1
-    fi
+      [case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_sleep_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_sleep_works="guessing no" ;;
+       esac
+      ])])
+    case "$gl_cv_func_sleep_works" in
+      *yes) ;;
+      *)
+        REPLACE_SLEEP=1
+        ;;
+    esac
   fi
 ])
index 6f71623..3698e84 100644 (file)
@@ -1,5 +1,5 @@
 # snprintf.m4 serial 6
-dnl Copyright (C) 2002-2004, 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2007-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index d712752..6338134 100644 (file)
@@ -1,5 +1,5 @@
 # ssize_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2001-2003, 2006, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 75ddbee..d777f74 100644 (file)
@@ -1,6 +1,6 @@
 # Checks for stat-related time functions.
 
-# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2011 Free Software
+# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2013 Free Software
 # Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
@@ -19,7 +19,6 @@ dnl From Paul Eggert.
 
 AC_DEFUN([gl_STAT_TIME],
 [
-  AC_REQUIRE([AC_C_INLINE])
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   AC_CHECK_HEADERS_ONCE([sys/time.h])
 
@@ -70,7 +69,6 @@ AC_DEFUN([gl_STAT_TIME],
 #
 AC_DEFUN([gl_STAT_BIRTHTIME],
 [
-  AC_REQUIRE([AC_C_INLINE])
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   AC_CHECK_HEADERS_ONCE([sys/time.h])
   AC_CHECK_MEMBERS([struct stat.st_birthtimespec.tv_nsec], [],
index c63f59f..2456297 100644 (file)
@@ -1,6 +1,6 @@
-# serial 8
+# serial 11
 
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -23,8 +23,9 @@ AC_DEFUN([gl_FUNC_STAT],
             mingw*) gl_cv_func_stat_dir_slash="guessing no";;
             *) gl_cv_func_stat_dir_slash="guessing yes";;
           esac])])
-  dnl AIX 7.1, Solaris 9 mistakenly succeed on stat("file/")
-  dnl FreeBSD 7.2 mistakenly succeeds on stat("link-to-file/")
+  dnl AIX 7.1, Solaris 9, mingw64 mistakenly succeed on stat("file/").
+  dnl (For mingw, this is due to a broken stat() override in libmingwex.a.)
+  dnl FreeBSD 7.2 mistakenly succeeds on stat("link-to-file/").
   AC_CACHE_CHECK([whether stat handles trailing slashes on files],
       [gl_cv_func_stat_file_slash],
       [touch conftest.tmp
@@ -46,7 +47,13 @@ AC_DEFUN([gl_FUNC_STAT],
       return result;
            ]])],
          [gl_cv_func_stat_file_slash=yes], [gl_cv_func_stat_file_slash=no],
-         [gl_cv_func_stat_file_slash="guessing no"])
+         [case "$host_os" in
+                    # Guess yes on glibc systems.
+            *-gnu*) gl_cv_func_stat_file_slash="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_stat_file_slash="guessing no" ;;
+          esac
+         ])
        rm -f conftest.tmp conftest.lnk])
   case $gl_cv_func_stat_dir_slash in
     *no) REPLACE_STAT=1
@@ -61,8 +68,4 @@ AC_DEFUN([gl_FUNC_STAT],
 ])
 
 # Prerequisites of lib/stat.c.
-AC_DEFUN([gl_PREREQ_STAT],
-[
-  AC_REQUIRE([AC_C_INLINE])
-  :
-])
+AC_DEFUN([gl_PREREQ_STAT], [:])
index 5705de9..c087f61 100644 (file)
@@ -1,5 +1,5 @@
 # stdarg.m4 serial 6
-dnl Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 1ebf3e6..80d5559 100644 (file)
@@ -1,6 +1,6 @@
 # Check for stdbool.h that conforms to C99.
 
-dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 1ae2344..5da8ab1 100644 (file)
@@ -1,6 +1,6 @@
 dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues.
 # stddef_h.m4 serial 4
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index c75e957..27cdcdb 100644 (file)
@@ -1,5 +1,5 @@
-# stdint.m4 serial 41
-dnl Copyright (C) 2001-2011 Free Software Foundation, Inc.
+# stdint.m4 serial 43
+dnl Copyright (C) 2001-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -69,8 +69,6 @@ AC_DEFUN_ONCE([gl_STDINT_H],
       [gl_cv_header_working_stdint_h=no
        AC_COMPILE_IFELSE([
          AC_LANG_PROGRAM([[
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
-#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
 #include <stdint.h>
 /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>.  */
@@ -219,8 +217,6 @@ struct s {
           dnl This detects a bug on HP-UX 11.23/ia64.
           AC_RUN_IFELSE([
             AC_LANG_PROGRAM([[
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
-#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
 #include <stdint.h>
 ]
@@ -466,6 +462,14 @@ AC_DEFUN([gl_STDINT_TYPE_PROPERTIES],
   fi
   gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t],
     [gl_STDINT_INCLUDES])
+
+  dnl If wint_t is smaller than 'int', it cannot satisfy the ISO C 99
+  dnl requirement that wint_t is "unchanged by default argument promotions".
+  dnl In this case gnulib's <wchar.h> and <wctype.h> override wint_t.
+  dnl Set the variable BITSIZEOF_WINT_T accordingly.
+  if test $BITSIZEOF_WINT_T -lt 32; then
+    BITSIZEOF_WINT_T=32
+  fi
 ])
 
 dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
similarity index 66%
rename from m4/stdint_h_gl.m4
rename to m4/stdint_h.m4
index b8e3c6c..511ab4e 100644 (file)
@@ -1,5 +1,5 @@
-# stdint_h.m4 serial 8
-dnl Copyright (C) 1997-2004, 2006, 2008-2010 Free Software Foundation, Inc.
+# stdint_h.m4 serial 9
+dnl Copyright (C) 1997-2004, 2006, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -12,12 +12,13 @@ dnl From Paul Eggert.
 AC_DEFUN([gl_AC_HEADER_STDINT_H],
 [
   AC_CACHE_CHECK([for stdint.h], [gl_cv_header_stdint_h],
-  [AC_TRY_COMPILE(
-    [#include <sys/types.h>
-#include <stdint.h>],
-    [uintmax_t i = (uintmax_t) -1; return !i;],
-    [gl_cv_header_stdint_h=yes],
-    [gl_cv_header_stdint_h=no])])
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <sys/types.h>
+            #include <stdint.h>]],
+          [[uintmax_t i = (uintmax_t) -1; return !i;]])],
+       [gl_cv_header_stdint_h=yes],
+       [gl_cv_header_stdint_h=no])])
   if test $gl_cv_header_stdint_h = yes; then
     AC_DEFINE_UNQUOTED([HAVE_STDINT_H_WITH_UINTMAX], [1],
       [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
index a8326f3..ebade06 100644 (file)
@@ -1,5 +1,5 @@
-# stdio_h.m4 serial 37
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# stdio_h.m4 serial 43
+dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,18 +7,18 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_STDIO_H],
 [
   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
-  AC_REQUIRE([AC_C_INLINE])
   gl_NEXT_HEADERS([stdio.h])
 
   dnl No need to create extra modules for these functions. Everyone who uses
   dnl <stdio.h> likely needs them.
   GNULIB_FSCANF=1
+  gl_MODULE_INDICATOR([fscanf])
   GNULIB_SCANF=1
+  gl_MODULE_INDICATOR([scanf])
   GNULIB_FGETC=1
   GNULIB_GETC=1
   GNULIB_GETCHAR=1
   GNULIB_FGETS=1
-  GNULIB_GETS=1
   GNULIB_FREAD=1
   dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c"
   dnl "expected source file, required through AC_LIBSOURCES, not found". It is
@@ -72,10 +72,10 @@ AC_DEFUN([gl_STDIO_H],
 
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use, and which is not
-  dnl guaranteed by C89.
+  dnl guaranteed by both C89 and C11.
   gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
-    ]], [dprintf fpurge fseeko ftello getdelim getline popen renameat
-    snprintf tmpfile vdprintf vsnprintf])
+    ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen
+    renameat snprintf tmpfile vdprintf vsnprintf])
 ])
 
 AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
@@ -91,6 +91,7 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
 [
   GNULIB_DPRINTF=0;              AC_SUBST([GNULIB_DPRINTF])
   GNULIB_FCLOSE=0;               AC_SUBST([GNULIB_FCLOSE])
+  GNULIB_FDOPEN=0;               AC_SUBST([GNULIB_FDOPEN])
   GNULIB_FFLUSH=0;               AC_SUBST([GNULIB_FFLUSH])
   GNULIB_FGETC=0;                AC_SUBST([GNULIB_FGETC])
   GNULIB_FGETS=0;                AC_SUBST([GNULIB_FGETS])
@@ -112,9 +113,9 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
   GNULIB_GETCHAR=0;              AC_SUBST([GNULIB_GETCHAR])
   GNULIB_GETDELIM=0;             AC_SUBST([GNULIB_GETDELIM])
   GNULIB_GETLINE=0;              AC_SUBST([GNULIB_GETLINE])
-  GNULIB_GETS=0;                 AC_SUBST([GNULIB_GETS])
   GNULIB_OBSTACK_PRINTF=0;       AC_SUBST([GNULIB_OBSTACK_PRINTF])
   GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
+  GNULIB_PCLOSE=0;               AC_SUBST([GNULIB_PCLOSE])
   GNULIB_PERROR=0;               AC_SUBST([GNULIB_PERROR])
   GNULIB_POPEN=0;                AC_SUBST([GNULIB_POPEN])
   GNULIB_PRINTF=0;               AC_SUBST([GNULIB_PRINTF])
@@ -153,11 +154,14 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
   HAVE_DPRINTF=1;                AC_SUBST([HAVE_DPRINTF])
   HAVE_FSEEKO=1;                 AC_SUBST([HAVE_FSEEKO])
   HAVE_FTELLO=1;                 AC_SUBST([HAVE_FTELLO])
+  HAVE_PCLOSE=1;                 AC_SUBST([HAVE_PCLOSE])
+  HAVE_POPEN=1;                  AC_SUBST([HAVE_POPEN])
   HAVE_RENAMEAT=1;               AC_SUBST([HAVE_RENAMEAT])
   HAVE_VASPRINTF=1;              AC_SUBST([HAVE_VASPRINTF])
   HAVE_VDPRINTF=1;               AC_SUBST([HAVE_VDPRINTF])
   REPLACE_DPRINTF=0;             AC_SUBST([REPLACE_DPRINTF])
   REPLACE_FCLOSE=0;              AC_SUBST([REPLACE_FCLOSE])
+  REPLACE_FDOPEN=0;              AC_SUBST([REPLACE_FDOPEN])
   REPLACE_FFLUSH=0;              AC_SUBST([REPLACE_FFLUSH])
   REPLACE_FOPEN=0;               AC_SUBST([REPLACE_FOPEN])
   REPLACE_FPRINTF=0;             AC_SUBST([REPLACE_FPRINTF])
index 25fdada..2027ab3 100644 (file)
@@ -1,5 +1,5 @@
-# stdlib_h.m4 serial 37
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# stdlib_h.m4 serial 42
+dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -19,10 +19,11 @@ AC_DEFUN([gl_STDLIB_H],
 #if HAVE_RANDOM_H
 # include <random.h>
 #endif
-    ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt mkdtemp
-    mkostemp mkostemps mkstemp mkstemps ptsname random_r initstat_r srandom_r
-    setstate_r realpath rpmatch setenv strtod strtoll strtoull unlockpt
-    unsetenv])
+    ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt
+    initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps
+    posix_openpt ptsname ptsname_r random random_r realpath rpmatch
+    secure_getenv setenv setstate setstate_r srandom srandom_r
+    strtod strtoll strtoull unlockpt unsetenv])
 ])
 
 AC_DEFUN([gl_STDLIB_MODULE_INDICATOR],
@@ -50,12 +51,16 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
   GNULIB_MKOSTEMPS=0;     AC_SUBST([GNULIB_MKOSTEMPS])
   GNULIB_MKSTEMP=0;       AC_SUBST([GNULIB_MKSTEMP])
   GNULIB_MKSTEMPS=0;      AC_SUBST([GNULIB_MKSTEMPS])
+  GNULIB_POSIX_OPENPT=0;  AC_SUBST([GNULIB_POSIX_OPENPT])
   GNULIB_PTSNAME=0;       AC_SUBST([GNULIB_PTSNAME])
+  GNULIB_PTSNAME_R=0;     AC_SUBST([GNULIB_PTSNAME_R])
   GNULIB_PUTENV=0;        AC_SUBST([GNULIB_PUTENV])
+  GNULIB_RANDOM=0;        AC_SUBST([GNULIB_RANDOM])
   GNULIB_RANDOM_R=0;      AC_SUBST([GNULIB_RANDOM_R])
   GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
   GNULIB_REALPATH=0;      AC_SUBST([GNULIB_REALPATH])
   GNULIB_RPMATCH=0;       AC_SUBST([GNULIB_RPMATCH])
+  GNULIB_SECURE_GETENV=0; AC_SUBST([GNULIB_SECURE_GETENV])
   GNULIB_SETENV=0;        AC_SUBST([GNULIB_SETENV])
   GNULIB_STRTOD=0;        AC_SUBST([GNULIB_STRTOD])
   GNULIB_STRTOLL=0;       AC_SUBST([GNULIB_STRTOLL])
@@ -76,11 +81,15 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
   HAVE_MKOSTEMPS=1;          AC_SUBST([HAVE_MKOSTEMPS])
   HAVE_MKSTEMP=1;            AC_SUBST([HAVE_MKSTEMP])
   HAVE_MKSTEMPS=1;           AC_SUBST([HAVE_MKSTEMPS])
+  HAVE_POSIX_OPENPT=1;       AC_SUBST([HAVE_POSIX_OPENPT])
   HAVE_PTSNAME=1;            AC_SUBST([HAVE_PTSNAME])
+  HAVE_PTSNAME_R=1;          AC_SUBST([HAVE_PTSNAME_R])
+  HAVE_RANDOM=1;             AC_SUBST([HAVE_RANDOM])
   HAVE_RANDOM_H=1;           AC_SUBST([HAVE_RANDOM_H])
   HAVE_RANDOM_R=1;           AC_SUBST([HAVE_RANDOM_R])
   HAVE_REALPATH=1;           AC_SUBST([HAVE_REALPATH])
   HAVE_RPMATCH=1;            AC_SUBST([HAVE_RPMATCH])
+  HAVE_SECURE_GETENV=1;      AC_SUBST([HAVE_SECURE_GETENV])
   HAVE_SETENV=1;             AC_SUBST([HAVE_SETENV])
   HAVE_DECL_SETENV=1;        AC_SUBST([HAVE_DECL_SETENV])
   HAVE_STRTOD=1;             AC_SUBST([HAVE_STRTOD])
@@ -95,7 +104,10 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
   REPLACE_MALLOC=0;          AC_SUBST([REPLACE_MALLOC])
   REPLACE_MBTOWC=0;          AC_SUBST([REPLACE_MBTOWC])
   REPLACE_MKSTEMP=0;         AC_SUBST([REPLACE_MKSTEMP])
+  REPLACE_PTSNAME=0;         AC_SUBST([REPLACE_PTSNAME])
+  REPLACE_PTSNAME_R=0;       AC_SUBST([REPLACE_PTSNAME_R])
   REPLACE_PUTENV=0;          AC_SUBST([REPLACE_PUTENV])
+  REPLACE_RANDOM_R=0;        AC_SUBST([REPLACE_RANDOM_R])
   REPLACE_REALLOC=0;         AC_SUBST([REPLACE_REALLOC])
   REPLACE_REALPATH=0;        AC_SUBST([REPLACE_REALPATH])
   REPLACE_SETENV=0;          AC_SUBST([REPLACE_SETENV])
index c676176..22bf57c 100644 (file)
@@ -1,5 +1,5 @@
 # strcase.m4 serial 11
-dnl Copyright (C) 2002, 2005-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index ca05be6..3989844 100644 (file)
@@ -1,5 +1,5 @@
-# strerror.m4 serial 16
-dnl Copyright (C) 2002, 2007-2011 Free Software Foundation, Inc.
+# strerror.m4 serial 17
+dnl Copyright (C) 2002, 2007-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -9,6 +9,7 @@ AC_DEFUN([gl_FUNC_STRERROR],
   AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
   AC_REQUIRE([gl_HEADER_ERRNO_H])
   AC_REQUIRE([gl_FUNC_STRERROR_0])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [
     AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS])
   ])
@@ -22,14 +23,22 @@ AC_DEFUN([gl_FUNC_STRERROR],
            [[if (!*strerror (-2)) return 1;]])],
         [gl_cv_func_working_strerror=yes],
         [gl_cv_func_working_strerror=no],
-        [dnl Be pessimistic on cross-compiles for now.
-         gl_cv_func_working_strerror="guessing no"])
+        [case "$host_os" in
+                   # Guess yes on glibc systems.
+           *-gnu*) gl_cv_func_working_strerror="guessing yes" ;;
+                   # If we don't know, assume the worst.
+           *)      gl_cv_func_working_strerror="guessing no" ;;
+         esac
+        ])
     ])
-    if test "$gl_cv_func_working_strerror" != yes; then
-      dnl The system's strerror() fails to return a string for out-of-range
-      dnl integers. Replace it.
-      REPLACE_STRERROR=1
-    fi
+    case "$gl_cv_func_working_strerror" in
+      *yes) ;;
+      *)
+        dnl The system's strerror() fails to return a string for out-of-range
+        dnl integers. Replace it.
+        REPLACE_STRERROR=1
+        ;;
+    esac
     m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [
       dnl If the system's strerror_r or __xpg_strerror_r clobbers strerror's
       dnl buffer, we must replace strerror.
@@ -48,6 +57,7 @@ dnl Detect if strerror(0) passes (that is, does not set errno, and does not
 dnl return a string that matches strerror(-1)).
 AC_DEFUN([gl_FUNC_STRERROR_0],
 [
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   REPLACE_STRERROR_0=0
   AC_CACHE_CHECK([whether strerror(0) succeeds],
    [gl_cv_func_strerror_0_works],
@@ -67,12 +77,20 @@ AC_DEFUN([gl_FUNC_STRERROR_0],
            return result;]])],
       [gl_cv_func_strerror_0_works=yes],
       [gl_cv_func_strerror_0_works=no],
-      [dnl Be pessimistic on cross-compiles for now.
-       gl_cv_func_strerror_0_works="guessing no"])
+      [case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_strerror_0_works="guessing no" ;;
+       esac
+      ])
   ])
-  if test "$gl_cv_func_strerror_0_works" != yes; then
-    REPLACE_STRERROR_0=1
-    AC_DEFINE([REPLACE_STRERROR_0], [1], [Define to 1 if strerror(0)
-      does not return a message implying success.])
-  fi
+  case "$gl_cv_func_strerror_0_works" in
+    *yes) ;;
+    *)
+      REPLACE_STRERROR_0=1
+      AC_DEFINE([REPLACE_STRERROR_0], [1], [Define to 1 if strerror(0)
+        does not return a message implying success.])
+      ;;
+  esac
 ])
diff --git a/m4/strerror_r.m4 b/m4/strerror_r.m4
deleted file mode 100644 (file)
index 0c5cc69..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-# strerror_r.m4 serial 13
-dnl Copyright (C) 2002, 2007-2011 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_STRERROR_R],
-[
-  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
-  AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS])
-
-  dnl Persuade Solaris <string.h> to declare strerror_r().
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-
-  dnl Some systems don't declare strerror_r() if _THREAD_SAFE and _REENTRANT
-  dnl are not defined.
-  AC_CHECK_DECLS_ONCE([strerror_r])
-  if test $ac_cv_have_decl_strerror_r = no; then
-    HAVE_DECL_STRERROR_R=0
-  fi
-
-  if test $ac_cv_func_strerror_r = yes; then
-    if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
-      if test $gl_cv_func_strerror_r_posix_signature = yes; then
-        case "$gl_cv_func_strerror_r_works" in
-          dnl The system's strerror_r has bugs.  Replace it.
-          *no) REPLACE_STRERROR_R=1 ;;
-        esac
-      else
-        dnl The system's strerror_r() has a wrong signature. Replace it.
-        REPLACE_STRERROR_R=1
-      fi
-    else
-      dnl The system's strerror_r() cannot know about the new errno values we
-      dnl add to <errno.h>, or any fix for strerror(0). Replace it.
-      REPLACE_STRERROR_R=1
-    fi
-  fi
-])
-
-# Prerequisites of lib/strerror_r.c.
-AC_DEFUN([gl_PREREQ_STRERROR_R], [
-  dnl glibc >= 2.3.4 and cygwin 1.7.9 have a function __xpg_strerror_r.
-  AC_CHECK_FUNCS_ONCE([__xpg_strerror_r])
-  AC_CHECK_FUNCS_ONCE([catgets])
-])
-
-# Detect if strerror_r works, but without affecting whether a replacement
-# strerror_r will be used.
-AC_DEFUN([gl_FUNC_STRERROR_R_WORKS],
-[
-  AC_REQUIRE([gl_HEADER_ERRNO_H])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_REQUIRE([gl_FUNC_STRERROR_0])
-
-  AC_CHECK_FUNCS_ONCE([strerror_r])
-  if test $ac_cv_func_strerror_r = yes; then
-    if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
-      dnl The POSIX prototype is:  int strerror_r (int, char *, size_t);
-      dnl glibc, Cygwin:           char *strerror_r (int, char *, size_t);
-      dnl AIX 5.1, OSF/1 5.1:      int strerror_r (int, char *, int);
-      AC_CACHE_CHECK([for strerror_r with POSIX signature],
-        [gl_cv_func_strerror_r_posix_signature],
-        [AC_COMPILE_IFELSE(
-           [AC_LANG_PROGRAM(
-              [[#include <string.h>
-                int strerror_r (int, char *, size_t);
-              ]],
-              [])],
-           [gl_cv_func_strerror_r_posix_signature=yes],
-           [gl_cv_func_strerror_r_posix_signature=no])
-        ])
-      if test $gl_cv_func_strerror_r_posix_signature = yes; then
-        dnl AIX 6.1 strerror_r fails by returning -1, not an error number.
-        dnl HP-UX 11.31 strerror_r always fails when the buffer length argument
-        dnl is less than 80.
-        dnl FreeBSD 8.s strerror_r claims failure on 0
-        dnl MacOS X 10.5 strerror_r treats 0 like -1
-        dnl Solaris 10 strerror_r corrupts errno on failure
-        AC_CACHE_CHECK([whether strerror_r works],
-          [gl_cv_func_strerror_r_works],
-          [AC_RUN_IFELSE(
-             [AC_LANG_PROGRAM(
-                [[#include <errno.h>
-                  #include <string.h>
-                ]],
-                [[int result = 0;
-                  char buf[79];
-                  if (strerror_r (EACCES, buf, 0) < 0)
-                    result |= 1;
-                  errno = 0;
-                  if (strerror_r (EACCES, buf, sizeof buf) != 0)
-                    result |= 2;
-                  strcpy (buf, "Unknown");
-                  if (strerror_r (0, buf, sizeof buf) != 0)
-                    result |= 4;
-                  if (errno)
-                    result |= 8;
-                  if (strstr (buf, "nknown") || strstr (buf, "ndefined"))
-                    result |= 0x10;
-                  errno = 0;
-                  *buf = 0;
-                  if (strerror_r (-3, buf, sizeof buf) < 0)
-                    result |= 0x20;
-                  if (errno)
-                    result |= 0x40;
-                  if (!*buf)
-                    result |= 0x80;
-                  return result;
-                ]])],
-             [gl_cv_func_strerror_r_works=yes],
-             [gl_cv_func_strerror_r_works=no],
-             [
-changequote(,)dnl
-              case "$host_os" in
-                       # Guess no on AIX.
-                aix*)  gl_cv_func_strerror_r_works="guessing no";;
-                       # Guess no on HP-UX.
-                hpux*) gl_cv_func_strerror_r_works="guessing no";;
-                       # Guess no on BSD variants.
-                *bsd*)  gl_cv_func_strerror_r_works="guessing no";;
-                       # Guess yes otherwise.
-                *)     gl_cv_func_strerror_r_works="guessing yes";;
-              esac
-changequote([,])dnl
-             ])
-          ])
-      else
-        dnl The system's strerror() has a wrong signature.
-        dnl glibc >= 2.3.4 and cygwin 1.7.9 have a function __xpg_strerror_r.
-        AC_CHECK_FUNCS_ONCE([__xpg_strerror_r])
-        dnl In glibc < 2.14, __xpg_strerror_r does not populate buf on failure.
-        dnl In cygwin < 1.7.10, __xpg_strerror_r clobbers strerror's buffer.
-        if test $ac_cv_func___xpg_strerror_r = yes; then
-          AC_CACHE_CHECK([whether __xpg_strerror_r works],
-            [gl_cv_func_strerror_r_works],
-            [AC_RUN_IFELSE(
-               [AC_LANG_PROGRAM(
-                  [[#include <errno.h>
-                    #include <string.h>
-                    extern
-                    #ifdef __cplusplus
-                    "C"
-                    #endif
-                    int __xpg_strerror_r(int, char *, size_t);
-                  ]],
-                  [[int result = 0;
-                    char buf[256] = "^";
-                    char copy[256];
-                    char *str = strerror (-1);
-                    strcpy (copy, str);
-                    if (__xpg_strerror_r (-2, buf, 1) == 0)
-                      result |= 1;
-                    if (*buf)
-                      result |= 2;
-                    __xpg_strerror_r (-2, buf, 256);
-                    if (strcmp (str, copy))
-                      result |= 4;
-                    return result;
-                  ]])],
-               [gl_cv_func_strerror_r_works=yes],
-               [gl_cv_func_strerror_r_works=no],
-               [dnl Guess no on all platforms that have __xpg_strerror_r,
-                dnl at least until fixed glibc and cygwin are more common.
-                gl_cv_func_strerror_r_works="guessing no"
-               ])
-            ])
-        fi
-      fi
-    fi
-  fi
-])
index dd30ccf..b31f495 100644 (file)
@@ -1,6 +1,6 @@
 # serial 33
 
-# Copyright (C) 1996-1997, 1999-2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-1997, 1999-2007, 2009-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 4f9f511..cc5fbbb 100644 (file)
@@ -1,6 +1,6 @@
 # Configure a GNU-like replacement for <string.h>.
 
-# Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# Copyright (C) 2007-2013 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
index 12ca5eb..76ef242 100644 (file)
@@ -1,7 +1,7 @@
 # Configure a replacement for <strings.h>.
-# serial 5
+# serial 6
 
-# Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -16,7 +16,14 @@ AC_DEFUN([gl_HEADER_STRINGS_H],
 AC_DEFUN([gl_HEADER_STRINGS_H_BODY],
 [
   AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS])
+
   gl_CHECK_NEXT_HEADERS([strings.h])
+  if test $ac_cv_header_strings_h = yes; then
+    HAVE_STRINGS_H=1
+  else
+    HAVE_STRINGS_H=0
+  fi
+  AC_SUBST([HAVE_STRINGS_H])
 
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use.
index e1ac20b..a1f8274 100644 (file)
@@ -1,5 +1,5 @@
-# strndup.m4 serial 20
-dnl Copyright (C) 2002-2003, 2005-2011 Free Software Foundation, Inc.
+# strndup.m4 serial 21
+dnl Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -24,7 +24,7 @@ AC_DEFUN([gl_FUNC_STRNDUP],
       [AC_RUN_IFELSE([
          AC_LANG_PROGRAM([[#include <string.h>
                            #include <stdlib.h>]], [[
-#ifndef HAVE_DECL_STRNDUP
+#if !HAVE_DECL_STRNDUP
   extern
   #ifdef __cplusplus
   "C"
index 672acfd..eae82b7 100644 (file)
@@ -1,5 +1,5 @@
 # strnlen.m4 serial 13
-dnl Copyright (C) 2002-2003, 2005-2007, 2009-2011 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
index 6ffefca..86d5cc1 100644 (file)
@@ -1,5 +1,5 @@
 # strptime.m4 serial 7
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 57ef754..ad386da 100644 (file)
@@ -1,5 +1,5 @@
 # strtoull.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 1ddf682..6a6aeb5 100644 (file)
@@ -1,5 +1,5 @@
 # strtoumax.m4 serial 11
-dnl Copyright (C) 2002-2004, 2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2006, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 680c14f..82ede2a 100644 (file)
@@ -1,7 +1,7 @@
-# serial 5
+# serial 6
 # See if we need to provide symlink replacement.
 
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -11,6 +11,7 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_FUNC_SYMLINK],
 [
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   AC_CHECK_FUNCS_ONCE([symlink])
   dnl The best we can do on mingw is provide a dummy that always fails, so
   dnl that compilation can proceed with fewer ifdefs.  On FreeBSD 7.2, AIX 7.1,
@@ -34,10 +35,19 @@ AC_DEFUN([gl_FUNC_SYMLINK],
              return result;
            ]])],
          [gl_cv_func_symlink_works=yes], [gl_cv_func_symlink_works=no],
-         [gl_cv_func_symlink_works="guessing no"])
+         [case "$host_os" in
+                    # Guess yes on glibc systems.
+            *-gnu*) gl_cv_func_symlink_works="guessing yes" ;;
+                    # If we don't know, assume the worst.
+            *)      gl_cv_func_symlink_works="guessing no" ;;
+          esac
+         ])
       rm -f conftest.f conftest.link conftest.lnk2])
-    if test "$gl_cv_func_symlink_works" != yes; then
-      REPLACE_SYMLINK=1
-    fi
+    case "$gl_cv_func_symlink_works" in
+      *yes) ;;
+      *)
+        REPLACE_SYMLINK=1
+        ;;
+    esac
   fi
 ])
index 7da91a4..9486377 100644 (file)
@@ -1,5 +1,5 @@
-# sys_socket_h.m4 serial 22
-dnl Copyright (C) 2005-2011 Free Software Foundation, Inc.
+# sys_socket_h.m4 serial 23
+dnl Copyright (C) 2005-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -10,7 +10,6 @@ AC_DEFUN([gl_HEADER_SYS_SOCKET],
 [
   AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS])
   AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([AC_C_INLINE])
 
   dnl On OSF/1, the functions recv(), send(), recvfrom(), sendto() have
   dnl old-style declarations (with return type 'int' instead of 'ssize_t')
index fc41912..6dd3d99 100644 (file)
@@ -1,5 +1,5 @@
-# sys_stat_h.m4 serial 24   -*- Autoconf -*-
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+# sys_stat_h.m4 serial 28   -*- Autoconf -*-
+dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -11,14 +11,27 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H],
 [
   AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
 
-  dnl For the mkdir substitute.
-  AC_REQUIRE([AC_C_INLINE])
-
   dnl Check for broken stat macros.
   AC_REQUIRE([AC_HEADER_STAT])
 
   gl_CHECK_NEXT_HEADERS([sys/stat.h])
 
+  dnl Ensure the type mode_t gets defined.
+  AC_REQUIRE([AC_TYPE_MODE_T])
+
+  dnl Whether to override 'struct stat'.
+  m4_ifdef([gl_LARGEFILE], [
+    AC_REQUIRE([gl_LARGEFILE])
+  ], [
+    WINDOWS_64_BIT_ST_SIZE=0
+  ])
+  AC_SUBST([WINDOWS_64_BIT_ST_SIZE])
+  if test $WINDOWS_64_BIT_ST_SIZE = 1; then
+    AC_DEFINE([_GL_WINDOWS_64_BIT_ST_SIZE], [1],
+      [Define to 1 if Gnulib overrides 'struct stat' on Windows so that
+       struct stat.st_size becomes 64-bit.])
+  fi
+
   dnl Define types that are supposed to be defined in <sys/types.h> or
   dnl <sys/stat.h>.
   AC_CHECK_TYPE([nlink_t], [],
@@ -30,7 +43,7 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H],
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use.
   gl_WARN_ON_USE_PREPARE([[#include <sys/stat.h>
-    ]], [fchmodat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat
+    ]], [fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat
     mknod mknodat stat utimensat])
 ]) # gl_HEADER_SYS_STAT_H
 
@@ -47,6 +60,7 @@ AC_DEFUN([gl_SYS_STAT_H_DEFAULTS],
 [
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR
   GNULIB_FCHMODAT=0;    AC_SUBST([GNULIB_FCHMODAT])
+  GNULIB_FSTAT=0;       AC_SUBST([GNULIB_FSTAT])
   GNULIB_FSTATAT=0;     AC_SUBST([GNULIB_FSTATAT])
   GNULIB_FUTIMENS=0;    AC_SUBST([GNULIB_FUTIMENS])
   GNULIB_LCHMOD=0;      AC_SUBST([GNULIB_LCHMOD])
index 3a3adc8..0ac71ac 100644 (file)
@@ -1,7 +1,7 @@
 # Configure a replacement for <sys/time.h>.
-# serial 6
+# serial 8
 
-# Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -27,6 +27,9 @@ AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY],
     HAVE_SYS_TIME_H=0
   fi
 
+  dnl On native Windows with MSVC, 'struct timeval' is defined in <winsock2.h>
+  dnl only. So include that header in the list.
+  gl_PREREQ_SYS_H_WINSOCK2
   AC_CACHE_CHECK([for struct timeval], [gl_cv_sys_struct_timeval],
     [AC_COMPILE_IFELSE(
        [AC_LANG_PROGRAM(
@@ -34,12 +37,46 @@ AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY],
              #include <sys/time.h>
             #endif
             #include <time.h>
+            #if HAVE_WINSOCK2_H
+            # include <winsock2.h>
+            #endif
           ]],
           [[static struct timeval x; x.tv_sec = x.tv_usec;]])],
        [gl_cv_sys_struct_timeval=yes],
-       [gl_cv_sys_struct_timeval=no])])
+       [gl_cv_sys_struct_timeval=no])
+    ])
   if test $gl_cv_sys_struct_timeval != yes; then
     HAVE_STRUCT_TIMEVAL=0
+  else
+    dnl On native Windows with a 64-bit 'time_t', 'struct timeval' is defined
+    dnl (in <sys/time.h> and <winsock2.h> for mingw64, in <winsock2.h> only
+    dnl for MSVC) with a tv_sec field of type 'long' (32-bit!), which is
+    dnl smaller than the 'time_t' type mandated by POSIX.
+    dnl On OpenBSD 5.1 amd64, tv_sec is 64 bits and time_t 32 bits, but
+    dnl that is good enough.
+    AC_CACHE_CHECK([for wide-enough struct timeval.tv_sec member],
+      [gl_cv_sys_struct_timeval_tv_sec],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[#if HAVE_SYS_TIME_H
+               #include <sys/time.h>
+              #endif
+              #include <time.h>
+              #if HAVE_WINSOCK2_H
+              # include <winsock2.h>
+              #endif
+            ]],
+            [[static struct timeval x;
+              typedef int verify_tv_sec_type[
+                sizeof (time_t) <= sizeof x.tv_sec ? 1 : -1
+              ];
+            ]])],
+         [gl_cv_sys_struct_timeval_tv_sec=yes],
+         [gl_cv_sys_struct_timeval_tv_sec=no])
+      ])
+    if test $gl_cv_sys_struct_timeval_tv_sec != yes; then
+      REPLACE_STRUCT_TIMEVAL=1
+    fi
   fi
 
   dnl Check for declarations of anything we want to poison if the
@@ -69,4 +106,5 @@ AC_DEFUN([gl_HEADER_SYS_TIME_H_DEFAULTS],
   HAVE_STRUCT_TIMEVAL=1;     AC_SUBST([HAVE_STRUCT_TIMEVAL])
   HAVE_SYS_TIME_H=1;         AC_SUBST([HAVE_SYS_TIME_H])
   REPLACE_GETTIMEOFDAY=0;    AC_SUBST([REPLACE_GETTIMEOFDAY])
+  REPLACE_STRUCT_TIMEVAL=0;  AC_SUBST([REPLACE_STRUCT_TIMEVAL])
 ])
diff --git a/m4/sys_types_h.m4 b/m4/sys_types_h.m4
new file mode 100644 (file)
index 0000000..d15c1b3
--- /dev/null
@@ -0,0 +1,24 @@
+# sys_types_h.m4 serial 5
+dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN_ONCE([gl_SYS_TYPES_H],
+[
+  AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS])
+  gl_NEXT_HEADERS([sys/types.h])
+
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
+  dnl Ensure the type mode_t gets defined.
+  AC_REQUIRE([AC_TYPE_MODE_T])
+
+  dnl Whether to override the 'off_t' type.
+  AC_REQUIRE([gl_TYPE_OFF_T])
+])
+
+AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS],
+[
+])
index e3b147c..a6c59d6 100644 (file)
@@ -1,5 +1,5 @@
-# sys_wait_h.m4 serial 5
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# sys_wait_h.m4 serial 6
+dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -11,6 +11,9 @@ AC_DEFUN([gl_SYS_WAIT_H],
   dnl <sys/wait.h> is always overridden, because of GNULIB_POSIXCHECK.
   gl_CHECK_NEXT_HEADERS([sys/wait.h])
 
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use.
   gl_WARN_ON_USE_PREPARE([[#include <sys/wait.h>]],
index 5b726a6..a6e42dc 100644 (file)
@@ -1,6 +1,6 @@
 #serial 5
 
-# Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
index 615da1c..3b83900 100644 (file)
@@ -1,8 +1,8 @@
 # Configure a more-standard replacement for <time.h>.
 
-# Copyright (C) 2000-2001, 2003-2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
 
-# serial 4
+# serial 7
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -25,7 +25,7 @@ AC_DEFUN([gl_HEADER_TIME_H_BODY],
   AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC])
 ])
 
-dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
+dnl Check whether 'struct timespec' is declared
 dnl in time.h, sys/time.h, or pthread.h.
 
 AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
index d646edc..c388a83 100644 (file)
@@ -1,6 +1,6 @@
 dnl Reentrant time functions: localtime_r, gmtime_r.
 
-dnl Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2006-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@ AC_DEFUN([gl_TIME_R],
 
   dnl Some systems don't declare localtime_r() and gmtime_r() if _REENTRANT is
   dnl not defined.
-  AC_CHECK_DECLS_ONCE([localtime_r])
+  AC_CHECK_DECLS([localtime_r], [], [], [[#include <time.h>]])
   if test $ac_cv_have_decl_localtime_r = no; then
     HAVE_DECL_LOCALTIME_R=0
   fi
index 4a1c7ad..399404b 100644 (file)
@@ -1,6 +1,6 @@
-#serial 14
+#serial 15
 
-# Copyright (C) 2000-2001, 2003-2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -8,8 +8,4 @@
 
 dnl From Jim Meyering
 
-AC_DEFUN([gl_TIMESPEC],
-[
-  dnl Prerequisites of lib/timespec.h.
-  AC_REQUIRE([AC_C_INLINE])
-])
+AC_DEFUN([gl_TIMESPEC], [:])
index d65ddc0..55e7ea3 100644 (file)
@@ -1,5 +1,5 @@
 # tm_gmtoff.m4 serial 3
-dnl Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index fb6fe07..32dcfa5 100644 (file)
@@ -1,5 +1,5 @@
-# unistd_h.m4 serial 56
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+# unistd_h.m4 serial 66
+dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -11,7 +11,6 @@ AC_DEFUN([gl_UNISTD_H],
   dnl Use AC_REQUIRE here, so that the default behavior below is expanded
   dnl once only, before all statements that occur in other macros.
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-  AC_REQUIRE([AC_C_INLINE])
 
   gl_CHECK_NEXT_HEADERS([unistd.h])
   if test $ac_cv_header_unistd_h = yes; then
@@ -21,9 +20,18 @@ AC_DEFUN([gl_UNISTD_H],
   fi
   AC_SUBST([HAVE_UNISTD_H])
 
+  dnl Ensure the type pid_t gets defined.
+  AC_REQUIRE([AC_TYPE_PID_T])
+
+  dnl Determine WINDOWS_64_BIT_OFF_T.
+  AC_REQUIRE([gl_TYPE_OFF_T])
+
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use.
-  gl_WARN_ON_USE_PREPARE([[#include <unistd.h>
+  gl_WARN_ON_USE_PREPARE([[
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
 /* Some systems declare various items in the wrong headers.  */
 #if !(defined __GLIBC__ && !defined __UCLIBC__)
 # include <fcntl.h>
@@ -33,12 +41,13 @@ AC_DEFUN([gl_UNISTD_H],
 #  include <io.h>
 # endif
 #endif
-    ]], [chown dup2 dup3 environ euidaccess faccessat fchdir fchownat
-    fsync ftruncate getcwd getdomainname getdtablesize getgroups
-    gethostname getlogin getlogin_r getpagesize getusershell setusershell
-    endusershell group_member lchown link linkat lseek pipe pipe2 pread pwrite
-    readlink readlinkat rmdir sleep symlink symlinkat ttyname_r unlink unlinkat
-    usleep])
+    ]], [chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat
+    fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups
+    gethostname getlogin getlogin_r getpagesize
+    getusershell setusershell endusershell
+    group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite
+    readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r
+    unlink unlinkat usleep])
 ])
 
 AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
@@ -52,8 +61,10 @@ AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
 
 AC_DEFUN([gl_UNISTD_H_DEFAULTS],
 [
+  GNULIB_CHDIR=0;                AC_SUBST([GNULIB_CHDIR])
   GNULIB_CHOWN=0;                AC_SUBST([GNULIB_CHOWN])
   GNULIB_CLOSE=0;                AC_SUBST([GNULIB_CLOSE])
+  GNULIB_DUP=0;                  AC_SUBST([GNULIB_DUP])
   GNULIB_DUP2=0;                 AC_SUBST([GNULIB_DUP2])
   GNULIB_DUP3=0;                 AC_SUBST([GNULIB_DUP3])
   GNULIB_ENVIRON=0;              AC_SUBST([GNULIB_ENVIRON])
@@ -61,6 +72,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   GNULIB_FACCESSAT=0;            AC_SUBST([GNULIB_FACCESSAT])
   GNULIB_FCHDIR=0;               AC_SUBST([GNULIB_FCHDIR])
   GNULIB_FCHOWNAT=0;             AC_SUBST([GNULIB_FCHOWNAT])
+  GNULIB_FDATASYNC=0;            AC_SUBST([GNULIB_FDATASYNC])
   GNULIB_FSYNC=0;                AC_SUBST([GNULIB_FSYNC])
   GNULIB_FTRUNCATE=0;            AC_SUBST([GNULIB_FTRUNCATE])
   GNULIB_GETCWD=0;               AC_SUBST([GNULIB_GETCWD])
@@ -73,6 +85,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   GNULIB_GETPAGESIZE=0;          AC_SUBST([GNULIB_GETPAGESIZE])
   GNULIB_GETUSERSHELL=0;         AC_SUBST([GNULIB_GETUSERSHELL])
   GNULIB_GROUP_MEMBER=0;         AC_SUBST([GNULIB_GROUP_MEMBER])
+  GNULIB_ISATTY=0;               AC_SUBST([GNULIB_ISATTY])
   GNULIB_LCHOWN=0;               AC_SUBST([GNULIB_LCHOWN])
   GNULIB_LINK=0;                 AC_SUBST([GNULIB_LINK])
   GNULIB_LINKAT=0;               AC_SUBST([GNULIB_LINKAT])
@@ -85,11 +98,11 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   GNULIB_READLINK=0;             AC_SUBST([GNULIB_READLINK])
   GNULIB_READLINKAT=0;           AC_SUBST([GNULIB_READLINKAT])
   GNULIB_RMDIR=0;                AC_SUBST([GNULIB_RMDIR])
+  GNULIB_SETHOSTNAME=0;          AC_SUBST([GNULIB_SETHOSTNAME])
   GNULIB_SLEEP=0;                AC_SUBST([GNULIB_SLEEP])
   GNULIB_SYMLINK=0;              AC_SUBST([GNULIB_SYMLINK])
   GNULIB_SYMLINKAT=0;            AC_SUBST([GNULIB_SYMLINKAT])
   GNULIB_TTYNAME_R=0;            AC_SUBST([GNULIB_TTYNAME_R])
-  GNULIB_UNISTD_H_GETOPT=0;      AC_SUBST([GNULIB_UNISTD_H_GETOPT])
   GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING])
   GNULIB_UNISTD_H_SIGPIPE=0;     AC_SUBST([GNULIB_UNISTD_H_SIGPIPE])
   GNULIB_UNLINK=0;               AC_SUBST([GNULIB_UNLINK])
@@ -104,6 +117,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   HAVE_FACCESSAT=1;       AC_SUBST([HAVE_FACCESSAT])
   HAVE_FCHDIR=1;          AC_SUBST([HAVE_FCHDIR])
   HAVE_FCHOWNAT=1;        AC_SUBST([HAVE_FCHOWNAT])
+  HAVE_FDATASYNC=1;       AC_SUBST([HAVE_FDATASYNC])
   HAVE_FSYNC=1;           AC_SUBST([HAVE_FSYNC])
   HAVE_FTRUNCATE=1;       AC_SUBST([HAVE_FTRUNCATE])
   HAVE_GETDTABLESIZE=1;   AC_SUBST([HAVE_GETDTABLESIZE])
@@ -121,6 +135,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   HAVE_PWRITE=1;          AC_SUBST([HAVE_PWRITE])
   HAVE_READLINK=1;        AC_SUBST([HAVE_READLINK])
   HAVE_READLINKAT=1;      AC_SUBST([HAVE_READLINKAT])
+  HAVE_SETHOSTNAME=1;     AC_SUBST([HAVE_SETHOSTNAME])
   HAVE_SLEEP=1;           AC_SUBST([HAVE_SLEEP])
   HAVE_SYMLINK=1;         AC_SUBST([HAVE_SYMLINK])
   HAVE_SYMLINKAT=1;       AC_SUBST([HAVE_SYMLINKAT])
@@ -128,10 +143,12 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   HAVE_USLEEP=1;          AC_SUBST([HAVE_USLEEP])
   HAVE_DECL_ENVIRON=1;    AC_SUBST([HAVE_DECL_ENVIRON])
   HAVE_DECL_FCHDIR=1;     AC_SUBST([HAVE_DECL_FCHDIR])
+  HAVE_DECL_FDATASYNC=1;  AC_SUBST([HAVE_DECL_FDATASYNC])
   HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME])
   HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R])
   HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE])
   HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL])
+  HAVE_DECL_SETHOSTNAME=1; AC_SUBST([HAVE_DECL_SETHOSTNAME])
   HAVE_DECL_TTYNAME_R=1;  AC_SUBST([HAVE_DECL_TTYNAME_R])
   HAVE_OS_H=0;            AC_SUBST([HAVE_OS_H])
   HAVE_SYS_PARAM_H=0;     AC_SUBST([HAVE_SYS_PARAM_H])
@@ -140,11 +157,13 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   REPLACE_DUP=0;          AC_SUBST([REPLACE_DUP])
   REPLACE_DUP2=0;         AC_SUBST([REPLACE_DUP2])
   REPLACE_FCHOWNAT=0;     AC_SUBST([REPLACE_FCHOWNAT])
+  REPLACE_FTRUNCATE=0;    AC_SUBST([REPLACE_FTRUNCATE])
   REPLACE_GETCWD=0;       AC_SUBST([REPLACE_GETCWD])
   REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME])
   REPLACE_GETLOGIN_R=0;   AC_SUBST([REPLACE_GETLOGIN_R])
   REPLACE_GETGROUPS=0;    AC_SUBST([REPLACE_GETGROUPS])
   REPLACE_GETPAGESIZE=0;  AC_SUBST([REPLACE_GETPAGESIZE])
+  REPLACE_ISATTY=0;       AC_SUBST([REPLACE_ISATTY])
   REPLACE_LCHOWN=0;       AC_SUBST([REPLACE_LCHOWN])
   REPLACE_LINK=0;         AC_SUBST([REPLACE_LINK])
   REPLACE_LINKAT=0;       AC_SUBST([REPLACE_LINKAT])
index be4323c..f146206 100644 (file)
@@ -1,6 +1,6 @@
 # unlocked-io.m4 serial 15
 
-# Copyright (C) 1998-2006, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 1998-2006, 2009-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 3e96a16..e430672 100644 (file)
@@ -1,5 +1,5 @@
-# usleep.m4 serial 2
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# usleep.m4 serial 3
+dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -12,6 +12,7 @@ AC_DEFUN([gl_FUNC_USLEEP],
   dnl usleep was required in POSIX 2001, but dropped as obsolete in
   dnl POSIX 2008; therefore, it is not always exposed in headers.
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   AC_CHECK_FUNCS_ONCE([usleep])
   AC_CHECK_TYPE([useconds_t], [],
     [AC_DEFINE([useconds_t], [unsigned int], [Define to an unsigned 32-bit
@@ -27,9 +28,18 @@ AC_DEFUN([gl_FUNC_USLEEP],
 #include <unistd.h>
 ]], [[return !!usleep (1000000);]])],
         [gl_cv_func_usleep_works=yes], [gl_cv_func_usleep_works=no],
-        [gl_cv_func_usleep_works="guessing no"])])
-    if test "$gl_cv_func_usleep_works" != yes; then
-      REPLACE_USLEEP=1
-    fi
+        [case "$host_os" in
+                   # Guess yes on glibc systems.
+           *-gnu*) gl_cv_func_usleep_works="guessing yes" ;;
+                   # If we don't know, assume the worst.
+           *)      gl_cv_func_usleep_works="guessing no" ;;
+         esac
+        ])])
+    case "$gl_cv_func_usleep_works" in
+      *yes) ;;
+      *)
+        REPLACE_USLEEP=1
+        ;;
+    esac
   fi
 ])
index 4ea168a..3d7b567 100644 (file)
@@ -1,31 +1,21 @@
 # Check for variable-length arrays.
 
-#serial 2
+# serial 4
 
 # From Paul Eggert
 
-# Copyright (C) 2001, 2009-2011 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (C) 2001, 2009-2013 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 AC_DEFUN([AC_C_VARARRAYS],
 [
   AC_CACHE_CHECK([for variable-length arrays],
     ac_cv_c_vararrays,
-    [AC_TRY_COMPILE(
-       [],
-       [static int x; char a[++x]; a[sizeof a - 1] = 0; return a[0];],
+    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+         [],
+         [[static int x; char a[++x]; a[sizeof a - 1] = 0; return a[0];]])],
        ac_cv_c_vararrays=yes,
        ac_cv_c_vararrays=no)])
   if test $ac_cv_c_vararrays = yes; then
index 32ea985..d730e43 100644 (file)
@@ -1,5 +1,5 @@
-# vasnprintf.m4 serial 32
-dnl Copyright (C) 2002-2004, 2006-2011 Free Software Foundation, Inc.
+# vasnprintf.m4 serial 36
+dnl Copyright (C) 2002-2004, 2006-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -29,7 +29,7 @@ AC_DEFUN([gl_REPLACE_VASNPRINTF],
   gl_PREREQ_ASNPRINTF
 ])
 
-# Prequisites of lib/printf-args.h, lib/printf-args.c.
+# Prerequisites of lib/printf-args.h, lib/printf-args.c.
 AC_DEFUN([gl_PREREQ_PRINTF_ARGS],
 [
   AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
@@ -37,7 +37,7 @@ AC_DEFUN([gl_PREREQ_PRINTF_ARGS],
   AC_REQUIRE([gt_TYPE_WINT_T])
 ])
 
-# Prequisites of lib/printf-parse.h, lib/printf-parse.c.
+# Prerequisites of lib/printf-parse.h, lib/printf-parse.c.
 AC_DEFUN([gl_PREREQ_PRINTF_PARSE],
 [
   AC_REQUIRE([gl_FEATURES_H])
@@ -55,7 +55,6 @@ AC_DEFUN([gl_PREREQ_PRINTF_PARSE],
 # Prerequisites of lib/vasnprintf.c.
 AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF],
 [
-  AC_REQUIRE([AC_C_INLINE])
   AC_REQUIRE([AC_FUNC_ALLOCA])
   AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
   AC_REQUIRE([gt_TYPE_WCHAR_T])
@@ -63,7 +62,10 @@ AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF],
   AC_CHECK_FUNCS([snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb])
   dnl Use the _snprintf function only if it is declared (because on NetBSD it
   dnl is defined as a weak alias of snprintf; we prefer to use the latter).
-  AC_CHECK_DECLS([_snprintf], , , [#include <stdio.h>])
+  AC_CHECK_DECLS([_snprintf], , , [[#include <stdio.h>]])
+  dnl Knowing DBL_EXPBIT0_WORD and DBL_EXPBIT0_BIT enables an optimization
+  dnl in the code for NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE.
+  AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION])
   dnl We can avoid a lot of code by assuming that snprintf's return value
   dnl conforms to ISO C99. So check that.
   AC_REQUIRE([gl_SNPRINTF_RETVAL_C99])
diff --git a/m4/vasprintf.m4 b/m4/vasprintf.m4
new file mode 100644 (file)
index 0000000..c214ff1
--- /dev/null
@@ -0,0 +1,46 @@
+# vasprintf.m4 serial 6
+dnl Copyright (C) 2002-2003, 2006-2007, 2009-2013 Free Software Foundation,
+dnl Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_VASPRINTF],
+[
+  AC_CHECK_FUNCS([vasprintf])
+  if test $ac_cv_func_vasprintf = no; then
+    gl_REPLACE_VASPRINTF
+  fi
+])
+
+AC_DEFUN([gl_REPLACE_VASPRINTF],
+[
+  AC_LIBOBJ([vasprintf])
+  AC_LIBOBJ([asprintf])
+  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+  if test $ac_cv_func_vasprintf = yes; then
+    REPLACE_VASPRINTF=1
+  else
+    HAVE_VASPRINTF=0
+  fi
+  gl_PREREQ_VASPRINTF_H
+  gl_PREREQ_VASPRINTF
+  gl_PREREQ_ASPRINTF
+])
+
+# Prerequisites of the vasprintf portion of lib/stdio.h.
+AC_DEFUN([gl_PREREQ_VASPRINTF_H],
+[
+  dnl Persuade glibc <stdio.h> to declare asprintf() and vasprintf().
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+])
+
+# Prerequisites of lib/vasprintf.c.
+AC_DEFUN([gl_PREREQ_VASPRINTF],
+[
+])
+
+# Prerequisites of lib/asprintf.c.
+AC_DEFUN([gl_PREREQ_ASPRINTF],
+[
+])
index 5032bf8..5dbef8e 100644 (file)
@@ -1,5 +1,5 @@
 # version-etc.m4 serial 1
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
index f09deef..e43beeb 100644 (file)
@@ -1,5 +1,5 @@
-# warn-on-use.m4 serial 4
-dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
+# warn-on-use.m4 serial 5
+dnl Copyright (C) 2010-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -18,8 +18,8 @@ dnl with or without modifications, as long as this notice is preserved.
 # some systems declare functions in the wrong header, then INCLUDES
 # should do likewise.
 #
-# If you assume C89, then it is generally safe to assume declarations
-# for functions declared in that standard (such as gets) without
+# It is generally safe to assume declarations for functions declared
+# in the intersection of C89 and C11 (such as printf) without
 # needing gl_WARN_ON_USE_PREPARE.
 AC_DEFUN([gl_WARN_ON_USE_PREPARE],
 [
index a4a750a..4b2ac38 100644 (file)
@@ -1,5 +1,5 @@
-# warnings.m4 serial 5
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# warnings.m4 serial 7
+dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -14,24 +14,48 @@ m4_ifdef([AS_VAR_APPEND],
 [m4_define([gl_AS_VAR_APPEND],
 [AS_VAR_SET([$1], [AS_VAR_GET([$1])$2])])])
 
-# gl_WARN_ADD(PARAMETER, [VARIABLE = WARN_CFLAGS])
-# ------------------------------------------------
-# Adds parameter to WARN_CFLAGS if the compiler supports it.  For example,
-# gl_WARN_ADD([-Wparentheses]).
-AC_DEFUN([gl_WARN_ADD],
-dnl FIXME: gl_Warn must be used unquoted until we can assume
-dnl autoconf 2.64 or newer.
-[AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_$1])dnl
-AC_CACHE_CHECK([whether compiler handles $1], m4_defn([gl_Warn]), [
-  gl_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="${CPPFLAGS} $1"
-  AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])],
+
+# gl_COMPILER_OPTION_IF(OPTION, [IF-SUPPORTED], [IF-NOT-SUPPORTED],
+#                       [PROGRAM = AC_LANG_PROGRAM()])
+# -----------------------------------------------------------------
+# Check if the compiler supports OPTION when compiling PROGRAM.
+#
+# FIXME: gl_Warn must be used unquoted until we can assume Autoconf
+# 2.64 or newer.
+AC_DEFUN([gl_COMPILER_OPTION_IF],
+[AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_[]_AC_LANG_ABBREV[]_$1])dnl
+AS_VAR_PUSHDEF([gl_Flags], [_AC_LANG_PREFIX[]FLAGS])dnl
+AC_CACHE_CHECK([whether _AC_LANG compiler handles $1], m4_defn([gl_Warn]), [
+  gl_save_compiler_FLAGS="$gl_Flags"
+  gl_AS_VAR_APPEND(m4_defn([gl_Flags]), [" $1"])
+  AC_COMPILE_IFELSE([m4_default([$4], [AC_LANG_PROGRAM([])])],
                     [AS_VAR_SET(gl_Warn, [yes])],
                     [AS_VAR_SET(gl_Warn, [no])])
-  CPPFLAGS="$gl_save_CPPFLAGS"
+  gl_Flags="$gl_save_compiler_FLAGS"
 ])
-AS_VAR_IF(gl_Warn, [yes],
-  [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]), [" $1"])])
+AS_VAR_IF(gl_Warn, [yes], [$2], [$3])
+AS_VAR_POPDEF([gl_Flags])dnl
 AS_VAR_POPDEF([gl_Warn])dnl
-m4_ifval([$2], [AS_LITERAL_IF([$2], [AC_SUBST([$2])], [])])dnl
 ])
+
+
+# gl_WARN_ADD(OPTION, [VARIABLE = WARN_CFLAGS],
+#             [PROGRAM = AC_LANG_PROGRAM()])
+# ---------------------------------------------
+# Adds parameter to WARN_CFLAGS if the compiler supports it when
+# compiling PROGRAM.  For example, gl_WARN_ADD([-Wparentheses]).
+#
+# If VARIABLE is a variable name, AC_SUBST it.
+AC_DEFUN([gl_WARN_ADD],
+[gl_COMPILER_OPTION_IF([$1],
+  [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]), [" $1"])],
+  [],
+  [$3])
+m4_ifval([$2],
+         [AS_LITERAL_IF([$2], [AC_SUBST([$2])])],
+         [AC_SUBST([WARN_CFLAGS])])dnl
+])
+
+# Local Variables:
+# mode: autoconf
+# End:
index 977491f..bedb15a 100644 (file)
@@ -1,6 +1,6 @@
 dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
 
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index d2c03c4..e1e1e69 100644 (file)
@@ -1,5 +1,5 @@
 # wchar_t.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2002-2003, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index be5e815..f56b5ba 100644 (file)
@@ -1,5 +1,5 @@
 # wcrtomb.m4 serial 11
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 8175d00..edc0d79 100644 (file)
@@ -1,5 +1,5 @@
-# wctob.m4 serial 9
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# wctob.m4 serial 10
+dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -104,7 +104,7 @@ int main ()
     if test $REPLACE_WCTOB = 0; then
 
       dnl IRIX 6.5 has the wctob() function but does not declare it.
-      AC_CHECK_DECLS([wctob], [], [], [
+      AC_CHECK_DECLS([wctob], [], [], [[
 /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
    <wchar.h>.
    BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
@@ -113,7 +113,7 @@ int main ()
 #include <stdio.h>
 #include <time.h>
 #include <wchar.h>
-])
+]])
       if test $ac_cv_have_decl_wctob != yes; then
         HAVE_DECL_WCTOB=0
       fi
index ee16a7e..7deba92 100644 (file)
@@ -1,5 +1,5 @@
 # wctomb.m4 serial 2
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index f7c46df..82ada0e 100644 (file)
@@ -1,8 +1,8 @@
-# wctype_h.m4 serial 16
+# wctype_h.m4 serial 18
 
 dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it.
 
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -22,8 +22,6 @@ AC_DEFUN([gl_WCTYPE_H],
   fi
   AC_SUBST([HAVE_ISWCNTRL])
 
-  AC_REQUIRE([AC_C_INLINE])
-
   AC_REQUIRE([gt_TYPE_WINT_T])
   if test $gt_cv_c_wint_t = yes; then
     HAVE_WINT_T=1
@@ -57,7 +55,8 @@ AC_DEFUN([gl_WCTYPE_H],
                           #if __GNU_LIBRARY__ == 1
                           Linux libc5 i18n is broken.
                           #endif]], [])],
-              [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no])
+              [gl_cv_func_iswcntrl_works="guessing yes"],
+              [gl_cv_func_iswcntrl_works="guessing no"])
             ])
         ])
     fi
@@ -67,11 +66,10 @@ AC_DEFUN([gl_WCTYPE_H],
   fi
   AC_SUBST([HAVE_WCTYPE_H])
 
-  if test "$gl_cv_func_iswcntrl_works" = no; then
-    REPLACE_ISWCNTRL=1
-  else
-    REPLACE_ISWCNTRL=0
-  fi
+  case "$gl_cv_func_iswcntrl_works" in
+    *yes) REPLACE_ISWCNTRL=0 ;;
+    *)    REPLACE_ISWCNTRL=1 ;;
+  esac
   AC_SUBST([REPLACE_ISWCNTRL])
 
   if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then
index 8a97e38..740f81e 100644 (file)
@@ -1,5 +1,5 @@
-# wcwidth.m4 serial 20
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+# wcwidth.m4 serial 23
+dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -18,7 +18,7 @@ AC_DEFUN([gl_FUNC_WCWIDTH],
   AC_CHECK_HEADERS_ONCE([wchar.h])
   AC_CHECK_FUNCS_ONCE([wcwidth])
 
-  AC_CHECK_DECLS([wcwidth], [], [], [
+  AC_CHECK_DECLS([wcwidth], [], [], [[
 /* AIX 3.2.5 declares wcwidth in <string.h>. */
 #include <string.h>
 /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
@@ -29,14 +29,15 @@ AC_DEFUN([gl_FUNC_WCWIDTH],
 #include <stdio.h>
 #include <time.h>
 #include <wchar.h>
-])
+]])
   if test $ac_cv_have_decl_wcwidth != yes; then
     HAVE_DECL_WCWIDTH=0
   fi
 
   if test $ac_cv_func_wcwidth = yes; then
     HAVE_WCWIDTH=1
-    dnl On MacOS X 10.3, wcwidth(0x0301) (COMBINING ACUTE ACCENT) returns 1.
+    dnl On Mac OS X 10.3, wcwidth(0x0301) (COMBINING ACUTE ACCENT) returns 1.
+    dnl On OpenBSD 5.0, wcwidth(0x05B0) (HEBREW POINT SHEVA) returns 1.
     dnl On OSF/1 5.1, wcwidth(0x200B) (ZERO WIDTH SPACE) returns 1.
     dnl This leads to bugs in 'ls' (coreutils).
     AC_CACHE_CHECK([whether wcwidth works reasonably in UTF-8 locales],
@@ -69,8 +70,10 @@ int main ()
     {
       if (wcwidth (0x0301) > 0)
         result |= 1;
-      if (wcwidth (0x200B) > 0)
+      if (wcwidth (0x05B0) > 0)
         result |= 2;
+      if (wcwidth (0x200B) > 0)
+        result |= 4;
     }
   return result;
 }]])],
index da1ce3d..d7cd3db 100644 (file)
@@ -1,5 +1,5 @@
 # wint_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index 2fca850..64ca701 100644 (file)
@@ -1,22 +1,7 @@
-# xalloc.m4 serial 17
-dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc.
+# xalloc.m4 serial 18
+dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
-AC_DEFUN([gl_XALLOC],
-[
-  gl_PREREQ_XALLOC
-  gl_PREREQ_XMALLOC
-])
-
-# Prerequisites of lib/xalloc.h.
-AC_DEFUN([gl_PREREQ_XALLOC], [
-  AC_REQUIRE([gl_INLINE])
-  :
-])
-
-# Prerequisites of lib/xmalloc.c.
-AC_DEFUN([gl_PREREQ_XMALLOC], [
-  :
-])
+AC_DEFUN([gl_XALLOC], [:])
index 8c693bc..8ea9f2c 100644 (file)
@@ -1,5 +1,5 @@
-# xsize.m4 serial 4
-dnl Copyright (C) 2003-2004, 2008-2011 Free Software Foundation, Inc.
+# xsize.m4 serial 5
+dnl Copyright (C) 2003-2004, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -8,6 +8,5 @@ AC_DEFUN([gl_XSIZE],
 [
   dnl Prerequisites of lib/xsize.h.
   AC_REQUIRE([gl_SIZE_MAX])
-  AC_REQUIRE([AC_C_INLINE])
   AC_CHECK_HEADERS([stdint.h])
 ])
index 1400b0f..4a9330b 100644 (file)
@@ -1,5 +1,5 @@
 # xstrndup.m4 serial 2
-dnl Copyright (C) 2003, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
index e87f8c0..d52ee11 100644 (file)
@@ -1,5 +1,5 @@
 #serial 11
-dnl Copyright (C) 2002-2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2007, 2009-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/xvasprintf.m4 b/m4/xvasprintf.m4
new file mode 100644 (file)
index 0000000..772dcc8
--- /dev/null
@@ -0,0 +1,8 @@
+# xvasprintf.m4 serial 2
+dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Prerequisites of lib/xvasprintf.c.
+AC_DEFUN([gl_XVASPRINTF], [:])
index d364934..2b454a1 100644 (file)
--- a/maint.mk
+++ b/maint.mk
@@ -2,7 +2,7 @@
 # This Makefile fragment tries to be general-purpose enough to be
 # used by many projects via the gnulib maintainer-makefile module.
 
-## Copyright (C) 2001-2011 Free Software Foundation, Inc.
+## Copyright (C) 2001-2013 Free Software Foundation, Inc.
 ##
 ## This program is free software: you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
 # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
 ME := maint.mk
 
-# Override this in cfg.mk if you use a non-standard build-aux directory.
-build_aux ?= $(srcdir)/build-aux
+# Diagnostic for continued use of deprecated variable.
+# Remove in 2013
+ifneq ($(build_aux),)
+ $(error "$(ME): \
+set $$(_build-aux) relative to $$(srcdir) instead of $$(build_aux)")
+endif
+
+# Helper variables.
+_empty =
+_sp = $(_empty) $(_empty)
+
+# _equal,S1,S2
+# ------------
+# If S1 == S2, return S1, otherwise the empty string.
+_equal = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1)))
+
+# member-check,VARIABLE,VALID-VALUES
+# ----------------------------------
+# Check that $(VARIABLE) is in the space-separated list of VALID-VALUES, and
+# return it.  Die otherwise.
+member-check =                                                         \
+  $(strip                                                              \
+    $(if $($(1)),                                                      \
+      $(if $(findstring $(_sp),$($(1))),                               \
+          $(error invalid $(1): '$($(1))', expected $(2)),             \
+          $(or $(findstring $(_sp)$($(1))$(_sp),$(_sp)$(2)$(_sp)),     \
+            $(error invalid $(1): '$($(1))', expected $(2)))),         \
+      $(error $(1) undefined)))
 
 # Do not save the original name or timestamp in the .tar.gz file.
 # Use --rsyncable if available.
@@ -34,7 +60,7 @@ GZIP_ENV = '--no-name --best $(gzip_rsyncable)'
 GIT = git
 VC = $(GIT)
 
-VC_LIST = $(build_aux)/vc-list-files -C $(srcdir)
+VC_LIST = $(srcdir)/$(_build-aux)/vc-list-files -C $(srcdir)
 
 # You can override this variable in cfg.mk to set your own regexp
 # matching files to ignore.
@@ -48,16 +74,16 @@ _dot_escaped_srcdir = $(subst .,\.,$(srcdir))
 # Post-process $(VC_LIST) output, prepending $(srcdir)/, but only
 # when $(srcdir) is not ".".
 ifeq ($(srcdir),.)
-_prepend_srcdir_prefix =
+  _prepend_srcdir_prefix =
 else
-_prepend_srcdir_prefix = | sed 's|^|$(srcdir)/|'
+  _prepend_srcdir_prefix = | sed 's|^|$(srcdir)/|'
 endif
 
 # In order to be able to consistently filter "."-relative names,
 # (i.e., with no $(srcdir) prefix), this definition is careful to
 # remove any $(srcdir) prefix, and to restore what it removes.
 _sc_excl = \
-  $(if $(exclude_file_name_regexp--$@),$(exclude_file_name_regexp--$@),^$$)
+  $(or $(exclude_file_name_regexp--$@),^$$)
 VC_LIST_EXCEPT = \
   $(VC_LIST) | sed 's|^$(_dot_escaped_srcdir)/||' \
        | if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; \
@@ -74,32 +100,41 @@ VERSION_REGEXP = $(subst .,\.,$(VERSION))
 PREV_VERSION_REGEXP = $(subst .,\.,$(PREV_VERSION))
 
 ifeq ($(VC),$(GIT))
-this-vc-tag = v$(VERSION)
-this-vc-tag-regexp = v$(VERSION_REGEXP)
+  this-vc-tag = v$(VERSION)
+  this-vc-tag-regexp = v$(VERSION_REGEXP)
 else
-tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]')
-tag-this-version = $(subst .,_,$(VERSION))
-this-vc-tag = $(tag-package)-$(tag-this-version)
-this-vc-tag-regexp = $(this-vc-tag)
+  tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]')
+  tag-this-version = $(subst .,_,$(VERSION))
+  this-vc-tag = $(tag-package)-$(tag-this-version)
+  this-vc-tag-regexp = $(this-vc-tag)
 endif
 my_distdir = $(PACKAGE)-$(VERSION)
 
 # Old releases are stored here.
 release_archive_dir ?= ../release
 
+# If RELEASE_TYPE is undefined, but RELEASE is, use its second word.
+# But overwrite VERSION.
+ifdef RELEASE
+  VERSION := $(word 1, $(RELEASE))
+  RELEASE_TYPE ?= $(word 2, $(RELEASE))
+endif
+
+# Validate and return $(RELEASE_TYPE), or die.
+RELEASE_TYPES = alpha beta stable
+release-type = $(call member-check,RELEASE_TYPE,$(RELEASE_TYPES))
+
 # Override gnu_rel_host and url_dir_list in cfg.mk if these are not right.
 # Use alpha.gnu.org for alpha and beta releases.
 # Use ftp.gnu.org for stable releases.
 gnu_ftp_host-alpha = alpha.gnu.org
 gnu_ftp_host-beta = alpha.gnu.org
 gnu_ftp_host-stable = ftp.gnu.org
-gnu_rel_host ?= $(gnu_ftp_host-$(RELEASE_TYPE))
+gnu_rel_host ?= $(gnu_ftp_host-$(release-type))
 
-ifeq ($(gnu_rel_host),ftp.gnu.org)
-url_dir_list ?= http://ftpmirror.gnu.org/$(PACKAGE)
-else
-url_dir_list ?= ftp://$(gnu_rel_host)/gnu/$(PACKAGE)
-endif
+url_dir_list ?= $(if $(call _equal,$(gnu_rel_host),ftp.gnu.org),       \
+                     http://ftpmirror.gnu.org/$(PACKAGE),              \
+                     ftp://$(gnu_rel_host)/gnu/$(PACKAGE))
 
 # Override this in cfg.mk if you are using a different format in your
 # NEWS file.
@@ -120,17 +155,17 @@ export LC_ALL = C
 ## Sanity checks.  ##
 ## --------------- ##
 
-_cfg_mk := $(shell test -f $(srcdir)/cfg.mk && echo '$(srcdir)/cfg.mk')
+_cfg_mk := $(wildcard $(srcdir)/cfg.mk)
 
-# Collect the names of rules starting with `sc_'.
+# Collect the names of rules starting with 'sc_'.
 syntax-check-rules := $(sort $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' \
                        $(srcdir)/$(ME) $(_cfg_mk)))
 .PHONY: $(syntax-check-rules)
 
 ifeq ($(shell $(VC_LIST) >/dev/null 2>&1; echo $$?),0)
-local-checks-available += $(syntax-check-rules)
+  local-checks-available += $(syntax-check-rules)
 else
-local-checks-available += no-vc-detected
+  local-checks-available += no-vc-detected
 no-vc-detected:
        @echo "No version control files detected; skipping syntax check"
 endif
@@ -174,11 +209,20 @@ syntax-check: $(local-check)
 #     Regular expression (ERE) denoting either a forbidden construct
 #     or a required construct.  Those arguments are exclusive.
 #
+#  exclude
+#
+#     Regular expression (ERE) denoting lines to ignore that matched
+#     a prohibit construct.  For example, this can be used to exclude
+#     comments that mention why the nearby code uses an alternative
+#     construct instead of the simpler prohibited construct.
+#
 #  in_vc_files | in_files
 #
-#     grep-E-style regexp denoting the files to check.  If no files
-#     are specified the default are all the files that are under
-#     version control.
+#     grep-E-style regexp selecting the files to check.  For in_vc_files,
+#     the regexp is used to select matching files from the list of all
+#     version-controlled files; for in_files, it's from the names printed
+#     by "find $(srcdir)".  When neither is specified, use all files that
+#     are under version control.
 #
 #  containing | non_containing
 #
@@ -208,6 +252,17 @@ syntax-check: $(local-check)
 # when filtering by name via in_files, we explicitly filter out matching
 # names here as well.
 
+# Initialize each, so that envvar settings cannot interfere.
+export require =
+export prohibit =
+export exclude =
+export in_vc_files =
+export in_files =
+export containing =
+export non_containing =
+export halt =
+export with_grep_options =
+
 # By default, _sc_search_regexp does not ignore case.
 export ignore_case =
 _ignore_case = $$(test -n "$$ignore_case" && printf %s -i || :)
@@ -217,15 +272,6 @@ define _sc_say_and_exit
    { printf '%s\n' "$(ME): $$msg" 1>&2; exit 1; };
 endef
 
-# _sc_search_regexp used to be named _prohibit_regexp.  However,
-# upgrading to the new definition and leaving the old name undefined
-# would usually convert each custom rule using $(_prohibit_regexp)
-# (usually defined in cfg.mk) into a no-op.  This definition ensures
-# that people know right away if they're still using the old name.
-# FIXME: remove in 2012.
-_prohibit_regexp = \
-  $(error '*** you need to s/_prohibit_regexp/_sc_search_regexp/, and adapt')
-
 define _sc_search_regexp
    dummy=; : so we do not need a semicolon before each use;            \
                                                                        \
@@ -236,6 +282,9 @@ define _sc_search_regexp
    test -z "$$prohibit" && test -z "$$require"                         \
      && { msg='Should specify either prohibit or require'              \
           $(_sc_say_and_exit) } || :;                                  \
+   test -z "$$prohibit" && test -n "$$exclude"                         \
+     && { msg='Use of exclude requires a prohibit pattern'             \
+          $(_sc_say_and_exit) } || :;                                  \
    test -n "$$in_vc_files" && test -n "$$in_files"                     \
      && { msg='Cannot specify both in_vc_files and in_files'           \
           $(_sc_say_and_exit) } || :;                                  \
@@ -245,7 +294,7 @@ define _sc_search_regexp
    : Filter by file name;                                              \
    if test -n "$$in_files"; then                                       \
      files=$$(find $(srcdir) | grep -E "$$in_files"                    \
-              | grep -Ev '$(exclude_file_name_regexp--$@)');           \
+              | grep -Ev '$(_sc_excl)');                               \
    else                                                                        \
      files=$$($(VC_LIST_EXCEPT));                                      \
      if test -n "$$in_vc_files"; then                                  \
@@ -263,6 +312,7 @@ define _sc_search_regexp
    if test -n "$$files"; then                                          \
      if test -n "$$prohibit"; then                                     \
        grep $$with_grep_options $(_ignore_case) -nE "$$prohibit" $$files \
+         | grep -vE "$${exclude:-^$$}"                                 \
          && { msg="$$halt" $(_sc_say_and_exit) } || :;                 \
      else                                                              \
        grep $$with_grep_options $(_ignore_case) -LE "$$require" $$files \
@@ -274,24 +324,24 @@ define _sc_search_regexp
 endef
 
 sc_avoid_if_before_free:
-       @$(build_aux)/useless-if-before-free                            \
+       @$(srcdir)/$(_build-aux)/useless-if-before-free                 \
                $(useless_free_options)                                 \
            $$($(VC_LIST_EXCEPT) | grep -v useless-if-before-free) &&   \
          { echo '$(ME): found useless "if" before "free" above' 1>&2;  \
            exit 1; } || :
 
 sc_cast_of_argument_to_free:
-       @prohibit='\<free *\( *\(' halt='don'\''t cast free argument'   \
+       @prohibit='\<free *\( *\(' halt="don't cast free argument"      \
          $(_sc_search_regexp)
 
 sc_cast_of_x_alloc_return_value:
        @prohibit='\*\) *x(m|c|re)alloc\>'                              \
-       halt='don'\''t cast x*alloc return value'                       \
+       halt="don't cast x*alloc return value"                          \
          $(_sc_search_regexp)
 
 sc_cast_of_alloca_return_value:
        @prohibit='\*\) *alloca\>'                                      \
-       halt='don'\''t cast alloca return value'                        \
+       halt="don't cast alloca return value"                           \
          $(_sc_search_regexp)
 
 sc_space_tab:
@@ -299,7 +349,7 @@ sc_space_tab:
        halt='found SPACE-TAB sequence; remove the SPACE'               \
          $(_sc_search_regexp)
 
-# Don't use *scanf or the old ato* functions in `real' code.
+# Don't use *scanf or the old ato* functions in "real" code.
 # They provide no error checking mechanism.
 # Instead, use strto* functions.
 sc_prohibit_atoi_atof:
@@ -308,12 +358,20 @@ sc_prohibit_atoi_atof:
          $(_sc_search_regexp)
 
 # Use STREQ rather than comparing strcmp == 0, or != 0.
+sp_ = strcmp *\(.+\)
 sc_prohibit_strcmp:
-       @grep -nE '! *str''cmp *\(|\<str''cmp *\(.+\) *[!=]='   \
-           $$($(VC_LIST_EXCEPT))                                       \
-         | grep -vE ':# *define STRN?EQ\(' &&                          \
-         { echo '$(ME): replace str''cmp calls above with STREQ/STRNEQ' \
-               1>&2; exit 1; } || :
+       @prohibit='! *strcmp *\(|\<$(sp_) *[!=]=|[!=]= *$(sp_)'         \
+       exclude='# *define STRN?EQ\('                                   \
+       halt='replace strcmp calls above with STREQ/STRNEQ'             \
+         $(_sc_search_regexp)
+
+# Really.  You don't want to use this function.
+# It may fail to NUL-terminate the destination,
+# and always NUL-pads out to the specified length.
+sc_prohibit_strncpy:
+       @prohibit='\<strncpy *\('                                       \
+       halt='do not use strncpy, period'                               \
+         $(_sc_search_regexp)
 
 # Pass EXIT_*, not number, to usage, exit, and error (when exiting)
 # Convert all uses automatically, via these two commands:
@@ -326,20 +384,21 @@ sc_prohibit_strcmp:
 #  | xargs --no-run-if-empty \
 #      perl -pi -e 's/(^|[^.])\b(exit ?)\(0\)/$1$2(EXIT_SUCCESS)/'
 sc_prohibit_magic_number_exit:
-       @prohibit='(^|[^.])\<(usage|exit) ?\([0-9]|\<error ?\([1-9][0-9]*,'     \
-       halt='use EXIT_* values rather than magic number'                       \
+       @prohibit='(^|[^.])\<(usage|exit|error) ?\(-?[0-9]+[,)]'        \
+       exclude='exit \(77\)|error ?\(((0|77),|[^,]*)'                  \
+       halt='use EXIT_* values rather than magic number'               \
          $(_sc_search_regexp)
 
 # Using EXIT_SUCCESS as the first argument to error is misleading,
-# since when that parameter is 0, error does not exit.  Use `0' instead.
+# since when that parameter is 0, error does not exit.  Use '0' instead.
 sc_error_exit_success:
        @prohibit='error *\(EXIT_SUCCESS,'                              \
        in_vc_files='\.[chly]$$'                                        \
        halt='found error (EXIT_SUCCESS'                                \
         $(_sc_search_regexp)
 
-# `FATAL:' should be fully upper-cased in error messages
-# `WARNING:' should be fully upper-cased, or fully lower-cased
+# "FATAL:" should be fully upper-cased in error messages
+# "WARNING:" should be fully upper-cased, or fully lower-cased
 sc_error_message_warn_fatal:
        @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT))              \
            | grep -E '"Warning|"Fatal|"fatal' &&                       \
@@ -438,7 +497,8 @@ sc_prohibit_quotearg_without_use:
 
 # Don't include quote.h unless you use one of its functions.
 sc_prohibit_quote_without_use:
-       @h='quote.h' re='\<quote(_n)? *\(' $(_sc_header_without_use)
+       @h='quote.h' re='\<quote((_n)? *\(|_quoting_options\>)' \
+         $(_sc_header_without_use)
 
 # Don't include this header unless you use one of its functions.
 sc_prohibit_long_options_without_use:
@@ -507,7 +567,7 @@ sc_prohibit_same_without_use:
 
 sc_prohibit_hash_pjw_without_use:
        @h='hash-pjw.h' \
-       re='\<hash_pjw *\(' \
+       re='\<hash_pjw\>' \
          $(_sc_header_without_use)
 
 sc_prohibit_safe_read_without_use:
@@ -521,7 +581,7 @@ sc_prohibit_argmatch_without_use:
 
 sc_prohibit_canonicalize_without_use:
        @h='canonicalize.h' \
-       re='CAN_(EXISTING|ALL_BUT_LAST|MISSING)|canonicalize_(mode_t|filename_mode)' \
+       re='CAN_(EXISTING|ALL_BUT_LAST|MISSING)|canonicalize_(mode_t|filename_mode|file_name)' \
          $(_sc_header_without_use)
 
 sc_prohibit_root_dev_ino_without_use:
@@ -541,8 +601,6 @@ sc_prohibit_c_ctype_without_use:
        @h='c-ctype.h' re='\<c_($(ctype_re)) *\(' \
          $(_sc_header_without_use)
 
-_empty =
-_sp = $(_empty) $(_empty)
 # The following list was generated by running:
 # man signal.h|col -b|perl -ne '/bsd_signal.*;/.../sigwaitinfo.*;/ and print' \
 #   | perl -lne '/^\s+(?:int|void).*?(\w+).*/ and print $1' | fmt
@@ -618,7 +676,17 @@ _stddef_syms_re = NULL|offsetof|ptrdiff_t|size_t|wchar_t
 # Prohibit the inclusion of stddef.h without an actual use.
 sc_prohibit_stddef_without_use:
        @h='stddef.h'                                                   \
-       re='\<($(_stddef_syms_re)) *\('                                 \
+       re='\<($(_stddef_syms_re))\>'                                   \
+         $(_sc_header_without_use)
+
+_de1 = dirfd|(close|(fd)?open|read|rewind|seek|tell)dir(64)?(_r)?
+_de2 = (versionsort|struct dirent|getdirentries|alphasort|scandir(at)?)(64)?
+_de3 = MAXNAMLEN|DIR|ino_t|d_ino|d_fileno|d_namlen
+_dirent_syms_re = $(_de1)|$(_de2)|$(_de3)
+# Prohibit the inclusion of dirent.h without an actual use.
+sc_prohibit_dirent_without_use:
+       @h='dirent.h'                                                   \
+       re='\<($(_dirent_syms_re))\>'                                   \
          $(_sc_header_without_use)
 
 # Prohibit the inclusion of verify.h without an actual use.
@@ -685,6 +753,7 @@ sc_require_test_exit_idiom:
 sc_trailing_blank:
        @prohibit='[     ]$$'                                           \
        halt='found trailing blank(s)'                                  \
+       exclude='^Binary file .* matches$$'                             \
          $(_sc_search_regexp)
 
 # Match lines like the following, but where there is only one space
@@ -703,12 +772,10 @@ _gl_translatable_diag_func_re ?= error
 # Look for diagnostics that aren't marked for translation.
 # This won't find any for which error's format string is on a separate line.
 sc_unmarked_diagnostics:
-       @grep -nE                                                       \
-           '\<$(_gl_translatable_diag_func_re) *\([^"]*"[^"]*[a-z]{3}' \
-               $$($(VC_LIST_EXCEPT))                                   \
-         | grep -Ev '(_|ngettext ?)\(' &&                              \
-         { echo '$(ME): found unmarked diagnostic(s)' 1>&2;            \
-           exit 1; } || :
+       @prohibit='\<$(_gl_translatable_diag_func_re) *\([^"]*"[^"]*[a-z]{3}' \
+       exclude='(_|ngettext ?)\('                                      \
+       halt='found unmarked diagnostic(s)'                             \
+         $(_sc_search_regexp)
 
 # Avoid useless parentheses like those in this example:
 # #if defined (SYMBOL) || defined (SYM2)
@@ -741,6 +808,11 @@ sc_prohibit_always_true_header_tests:
        '  with the corresponding gnulib module, they are always true') \
          $(_sc_search_regexp)
 
+sc_prohibit_defined_have_decl_tests:
+       @prohibit='#[    ]*if(n?def|.*\<defined)\>[      (]+HAVE_DECL_' \
+       halt='HAVE_DECL macros are always defined'                      \
+         $(_sc_search_regexp)
+
 # ==================================================================
 gl_other_headers_ ?= \
   intprops.h   \
@@ -749,10 +821,12 @@ gl_other_headers_ ?= \
 
 # Perl -lne code to extract "significant" cpp-defined symbols from a
 # gnulib header file, eliminating a few common false-positives.
+# The exempted names below are defined only conditionally in gnulib,
+# and hence sometimes must/may be defined in application code.
 gl_extract_significant_defines_ = \
   /^\# *define ([^_ (][^ (]*)(\s*\(|\s+\w+)/\
     && $$2 !~ /(?:rpl_|_used_without_)/\
-    && $$1 !~ /^(?:NSIG)$$/\
+    && $$1 !~ /^(?:NSIG|ENODATA)$$/\
     && $$1 !~ /^(?:SA_RESETHAND|SA_RESTART)$$/\
     and print $$1
 
@@ -762,7 +836,8 @@ define def_sym_regex
        gen_h=$(gl_generated_headers_);                                 \
        (cd $(gnulib_dir)/lib;                                          \
          for f in *.in.h $(gl_other_headers_); do                      \
-           perl -lne '$(gl_extract_significant_defines_)' $$f;         \
+           test -f $$f                                                 \
+             && perl -lne '$(gl_extract_significant_defines_)' $$f;    \
          done;                                                         \
        ) | sort -u                                                     \
          | sed 's/^/^ *# *(define|undef)  */;s/$$/\\>/'
@@ -830,7 +905,7 @@ sc_prohibit_cvs_keyword:
 #
 # This is a perl script that is expected to be the single-quoted argument
 # to a command-line "-le".  The remaining arguments are file names.
-# Print the name of each file that ends in exactly one newline byte.
+# Print the name of each file that does not end in exactly one newline byte.
 # I.e., warn if there are blank lines (2 or more newlines), or if the
 # last byte is not a newline.  However, currently we don't complain
 # about any file that contains exactly one byte.
@@ -903,8 +978,15 @@ sc_prohibit_doubled_word:
 # A regular expression matching undesirable combinations of words like
 # "can not"; this matches them even when the two words appear on different
 # lines, but not when there is an intervening delimiter like "#" or "*".
+# Similarly undesirable, "See @xref{...}", since an @xref should start
+# a sentence.  Explicitly prohibit any prefix of "see" or "also".
+# Also prohibit a prefix matching "\w+ +".
+# @pxref gets the same see/also treatment and should be parenthesized;
+# presume it must *not* start a sentence.
+bad_xref_re_ ?= (?:[\w,:;] +|(?:see|also)\s+)\@xref\{
+bad_pxref_re_ ?= (?:[.!?]|(?:see|also))\s+\@pxref\{
 prohibit_undesirable_word_seq_RE_ ?=                                   \
-  /\bcan\s+not\b/gims
+  /(?:\bcan\s+not\b|$(bad_xref_re_)|$(bad_pxref_re_))/gims
 prohibit_undesirable_word_seq_ =                                       \
     -e 'while ($(prohibit_undesirable_word_seq_RE_))'                  \
     $(perl_filename_lineno_text_)
@@ -966,10 +1048,10 @@ sc_redundant_const:
          $(_sc_search_regexp)
 
 sc_const_long_option:
-       @grep '^ *static.*struct option ' $$($(VC_LIST_EXCEPT))         \
-         | grep -Ev 'const struct option|struct option const' && {     \
-             echo 1>&2 '$(ME): add "const" to the above declarations'; \
-             exit 1; } || :
+       @prohibit='^ *static.*struct option '                           \
+       exclude='const struct option|struct option const'               \
+       halt='add "const" to the above declarations'                    \
+         $(_sc_search_regexp)
 
 NEWS_hash =                                                            \
   $$(sed -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p'             \
@@ -1007,15 +1089,15 @@ update-NEWS-hash: NEWS
 # setting this to ' && !/PRAGMA_SYSTEM_HEADER/'.
 _makefile_at_at_check_exceptions ?=
 sc_makefile_at_at_check:
-       @perl -ne '/\@[A-Z_0-9]+\@/'                                    \
-          -e ' && !/([A-Z_0-9]+)\s+=.*\@\1\@$$/'                       \
+       @perl -ne '/\@\w+\@/'                                           \
+          -e ' && !/(\w+)\s+=.*\@\1\@$$/'                              \
           -e ''$(_makefile_at_at_check_exceptions)                     \
          -e 'and (print "$$ARGV:$$.: $$_"), $$m=1; END {exit !$$m}'    \
            $$($(VC_LIST_EXCEPT) | grep -E '(^|/)(Makefile\.am|[^/]+\.mk)$$') \
          && { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || :
 
 news-check: NEWS
-       if sed -n $(news-check-lines-spec)p $(srcdir)/NEWS              \
+       $(AM_V_GEN)if sed -n $(news-check-lines-spec)p $<               \
            | grep -E $(news-check-regexp) >/dev/null; then             \
          :;                                                            \
        else                                                            \
@@ -1039,9 +1121,11 @@ fix_po_file_diag = \
 'you have changed the set of files with translatable diagnostics;\n\
 apply the above patch\n'
 
-# Verify that all source files using _() are listed in po/POTFILES.in.
+# Verify that all source files using _() (more specifically, files that
+# match $(_gl_translatable_string_re)) are listed in po/POTFILES.in.
 po_file ?= $(srcdir)/po/POTFILES.in
 generated_files ?= $(srcdir)/lib/*.[ch]
+_gl_translatable_string_re ?= \b(N?_|gettext *)\([^)"]*("|$$)
 sc_po_check:
        @if test -f $(po_file); then                                    \
          grep -E -v '^(#|$$)' $(po_file)                               \
@@ -1061,7 +1145,7 @@ sc_po_check:
            esac;                                                       \
            files="$$files $$file";                                     \
          done;                                                         \
-         grep -E -l '\b(N?_|gettext *)\([^)"]*("|$$)' $$files          \
+         grep -E -l '$(_gl_translatable_string_re)' $$files            \
            | sed 's|^$(_dot_escaped_srcdir)/||' | sort -u > $@-2;      \
          diff -u -L $(po_file) -L $(po_file) $@-1 $@-2                 \
            || { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; };   \
@@ -1070,24 +1154,28 @@ sc_po_check:
 
 # Sometimes it is useful to change the PATH environment variable
 # in Makefiles.  When doing so, it's better not to use the Unix-centric
-# path separator of `:', but rather the automake-provided `$(PATH_SEPARATOR)'.
-msg = '$(ME): Do not use `:'\'' above; use $$(PATH_SEPARATOR) instead'
+# path separator of ':', but rather the automake-provided '$(PATH_SEPARATOR)'.
+msg = 'Do not use ":" above; use $$(PATH_SEPARATOR) instead'
 sc_makefile_path_separator_check:
        @prohibit='PATH[=].*:'                                          \
        in_vc_files='akefile|\.mk$$'                                    \
        halt=$(msg)                                                     \
          $(_sc_search_regexp)
 
-# Check that `make alpha' will not fail at the end of the process.
+# Check that 'make alpha' will not fail at the end of the process,
+# i.e., when pkg-M.N.tar.xz already exists (either in "." or in ../release)
+# and is read-only.
 writable-files:
-       if test -d $(release_archive_dir); then :; else                 \
-         for file in $(distdir).tar.gz                                 \
-                     $(release_archive_dir)/$(distdir).tar.gz; do      \
-           test -e $$file || continue;                                 \
-           test -w $$file                                              \
-             || { echo ERROR: $$file is not writable; fail=1; };       \
+       $(AM_V_GEN)if test -d $(release_archive_dir); then              \
+         for file in $(DIST_ARCHIVES); do                              \
+           for p in ./ $(release_archive_dir)/; do                     \
+             test -e $$p$$file || continue;                            \
+             test -w $$p$$file                                         \
+               || { echo ERROR: $$p$$file is not writable; fail=1; };  \
+           done;                                                       \
          done;                                                         \
          test "$$fail" && exit 1 || : ;                                \
+       else :;                                                         \
        fi
 
 v_etc_file = $(gnulib_dir)/lib/version-etc.c
@@ -1136,6 +1224,16 @@ sc_cross_check_PATH_usage_in_tests:
                1>&2; exit 1; } || :;                                   \
        fi
 
+# BRE regex of file contents to identify a test script.
+_test_script_regex ?= \<init\.sh\>
+
+# In tests, use "compare expected actual", not the reverse.
+sc_prohibit_reversed_compare_failure:
+       @prohibit='\<compare [^ ]+ ([^ ]*exp|/dev/null)'                \
+       containing='$(_test_script_regex)'                              \
+       halt='reversed compare arguments'                               \
+         $(_sc_search_regexp)
+
 # #if HAVE_... will evaluate to false for any non numeric string.
 # That would be flagged by using -Wundef, however gnulib currently
 # tests many undefined macros, and so we can't enable that option.
@@ -1150,22 +1248,31 @@ sc_Wundef_boolean:
 # not be constant, or might overflow a stack.  In general, use PATH_MAX as
 # a limit, not an array or alloca size.
 sc_prohibit_path_max_allocation:
-       @prohibit='(\balloca *\([^)]*|\[[^]]*)PATH_MAX'                 \
+       @prohibit='(\balloca *\([^)]*|\[[^]]*)\bPATH_MAX'               \
        halt='Avoid stack allocations of size PATH_MAX'                 \
          $(_sc_search_regexp)
 
 sc_vulnerable_makefile_CVE-2009-4029:
        @prohibit='perm -777 -exec chmod a\+rwx|chmod 777 \$$\(distdir\)' \
-       in_files=$$(find $(srcdir) -name Makefile.in)                   \
+       in_files='(^|/)Makefile\.in$$'                                  \
        halt=$$(printf '%s\n'                                           \
          'the above files are vulnerable; beware of running'           \
          '  "make dist*" rules, and upgrade to fixed automake'         \
          '  see http://bugzilla.redhat.com/542609 for details')        \
          $(_sc_search_regexp)
 
+sc_vulnerable_makefile_CVE-2012-3386:
+       @prohibit='chmod a\+w \$$\(distdir\)'                           \
+       in_files='(^|/)Makefile\.in$$'                                  \
+       halt=$$(printf '%s\n'                                           \
+         'the above files are vulnerable; beware of running'           \
+         '  "make distcheck", and upgrade to fixed automake'           \
+         '  see http://bugzilla.redhat.com/CVE-2012-3386 for details') \
+         $(_sc_search_regexp)
+
 vc-diff-check:
-       (unset CDPATH; cd $(srcdir) && $(VC) diff) > vc-diffs || :
-       if test -s vc-diffs; then                               \
+       $(AM_V_GEN)(unset CDPATH; cd $(srcdir) && $(VC) diff) > vc-diffs || :
+       $(AM_V_at)if test -s vc-diffs; then                     \
          cat vc-diffs;                                         \
          echo "Some files are locally modified:" 1>&2;         \
          exit 1;                                               \
@@ -1181,41 +1288,55 @@ bootstrap-tools ?= autoconf,automake,gnulib
 
 # If it's not already specified, derive the GPG key ID from
 # the signed tag we've just applied to mark this release.
-gpg_key_ID ?= \
-  $$(git cat-file tag v$(VERSION) > .ann-sig \
-     && gpgv .ann-sig - < /dev/null 2>&1 \
-         | sed -n '/.*key ID \([0-9A-F]*\)/s//\1/p'; rm -f .ann-sig)
+gpg_key_ID ?=                                                          \
+  $$(cd $(srcdir)                                                      \
+     && git cat-file tag v$(VERSION)                                   \
+        | gpgv --status-fd 1 --keyring /dev/null - - 2>/dev/null       \
+        | awk '/^\[GNUPG:\] ERRSIG / {print $$3; exit}')
 
 translation_project_ ?= coordinator@translationproject.org
 
 # Make info-gnu the default only for a stable release.
-ifeq ($(RELEASE_TYPE),stable)
-  announcement_Cc_ ?= $(translation_project_), $(PACKAGE_BUGREPORT)
-  announcement_mail_headers_ ?=                                                \
-    To: info-gnu@gnu.org                                               \
-    Cc: $(announcement_Cc_)                                            \
-    Mail-Followup-To: $(PACKAGE_BUGREPORT)
-else
-  announcement_Cc_ ?= $(translation_project_)
-  announcement_mail_headers_ ?=                                                \
-    To: $(PACKAGE_BUGREPORT)                                           \
-    Cc: $(announcement_Cc_)
-endif
-
+announcement_Cc_stable = $(translation_project_), $(PACKAGE_BUGREPORT)
+announcement_mail_headers_stable =             \
+  To: info-gnu@gnu.org                         \
+  Cc: $(announcement_Cc_)                      \
+  Mail-Followup-To: $(PACKAGE_BUGREPORT)
+
+announcement_Cc_alpha = $(translation_project_)
+announcement_mail_headers_alpha =              \
+  To: $(PACKAGE_BUGREPORT)                     \
+  Cc: $(announcement_Cc_)
+
+announcement_mail_Cc_beta = $(announcement_mail_Cc_alpha)
+announcement_mail_headers_beta = $(announcement_mail_headers_alpha)
+
+announcement_mail_Cc_ ?= $(announcement_mail_Cc_$(release-type))
+announcement_mail_headers_ ?= $(announcement_mail_headers_$(release-type))
 announcement: NEWS ChangeLog $(rel-files)
-       @$(build_aux)/announce-gen                                      \
+# Not $(AM_V_GEN) since the output of this command serves as
+# announcement message: it would start with " GEN announcement".
+       $(AM_V_at)$(srcdir)/$(_build-aux)/announce-gen                  \
            --mail-headers='$(announcement_mail_headers_)'              \
-           --release-type=$(RELEASE_TYPE)                              \
+           --release-type=$(release-type)                              \
            --package=$(PACKAGE)                                        \
            --prev=$(PREV_VERSION)                                      \
            --curr=$(VERSION)                                           \
            --gpg-key-id=$(gpg_key_ID)                                  \
+           --srcdir=$(srcdir)                                          \
            --news=$(srcdir)/NEWS                                       \
            --bootstrap-tools=$(bootstrap-tools)                        \
-           --gnulib-version=$(gnulib-version)                          \
+           $$(case ,$(bootstrap-tools), in (*,gnulib,*)                \
+              echo --gnulib-version=$(gnulib-version);; esac)          \
            --no-print-checksums                                        \
            $(addprefix --url-dir=, $(url_dir_list))
 
+.PHONY: release-commit
+release-commit:
+       $(AM_V_GEN)cd $(srcdir)                         \
+         && $(_build-aux)/do-release-commit-and-tag    \
+              -C $(abs_builddir) $(RELEASE)
+
 ## ---------------- ##
 ## Updating files.  ##
 ## ---------------- ##
@@ -1224,26 +1345,33 @@ ftp-gnu = ftp://ftp.gnu.org/gnu
 www-gnu = http://www.gnu.org
 
 upload_dest_dir_ ?= $(PACKAGE)
+upload_command =                                               \
+  $(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS)            \
+  --to $(gnu_rel_host):$(upload_dest_dir_)                     \
+  $(rel-files)
 emit_upload_commands:
        @echo =====================================
        @echo =====================================
-       @echo "$(build_aux)/gnupload $(GNUPLOADFLAGS) \\"
-       @echo "    --to $(gnu_rel_host):$(upload_dest_dir_) \\"
-       @echo "  $(rel-files)"
+       @echo '$(upload_command)'
        @echo '# send the ~/announce-$(my_distdir) e-mail'
        @echo =====================================
        @echo =====================================
 
+.PHONY: upload
+upload:
+       $(AM_V_GEN)$(upload_command)
+
 define emit-commit-log
-  printf '%s\n' 'post-release administrivia' '' \
-    '* NEWS: Add header line for next release.' \
-    '* .prev-version: Record previous version.' \
+  printf '%s\n' 'maint: post-release administrivia' ''                 \
+    '* NEWS: Add header line for next release.'                                \
+    '* .prev-version: Record previous version.'                                \
     '* cfg.mk (old_NEWS_hash): Auto-update.'
 endef
 
 .PHONY: no-submodule-changes
 no-submodule-changes:
-       if test -d $(srcdir)/.git; then                                 \
+       $(AM_V_GEN)if test -d $(srcdir)/.git                            \
+               && git --version >/dev/null 2>&1; then                  \
          diff=$$(cd $(srcdir) && git submodule -q foreach              \
                  git diff-index --name-only HEAD)                      \
            || exit 1;                                                  \
@@ -1261,10 +1389,12 @@ submodule-checks ?= no-submodule-changes public-submodule-commit
 # cannot be built from a fresh clone.
 .PHONY: public-submodule-commit
 public-submodule-commit:
-       $(AM_V_GEN)if test -d $(srcdir)/.git; then                      \
+       $(AM_V_GEN)if test -d $(srcdir)/.git                            \
+               && git --version >/dev/null 2>&1; then                  \
          cd $(srcdir) &&                                               \
-         git submodule --quiet foreach test '$$(git rev-parse $$sha1)' \
-             = '$$(git merge-base origin $$sha1)'                      \
+         git submodule --quiet foreach                                 \
+             test '"$$(git rev-parse "$$sha1")"'                       \
+             = '"$$(git merge-base origin "$$sha1")"'                  \
            || { echo '$(ME): found non-public submodule commit' >&2;   \
                 exit 1; };                                             \
        else                                                            \
@@ -1279,19 +1409,22 @@ public-submodule-commit:
 gl_public_submodule_commit ?= public-submodule-commit
 check: $(gl_public_submodule_commit)
 
-.PHONY: alpha beta stable
+.PHONY: alpha beta stable release
 ALL_RECURSIVE_TARGETS += alpha beta stable
 alpha beta stable: $(local-check) writable-files $(submodule-checks)
-       test $@ = stable                                                \
+       $(AM_V_GEN)test $@ = stable                                     \
          && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$'         \
               || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\
          || :
-       $(MAKE) vc-diff-check
-       $(MAKE) news-check
-       $(MAKE) distcheck
-       $(MAKE) dist XZ_OPT=-9ev
-       $(MAKE) $(release-prep-hook) RELEASE_TYPE=$@
-       $(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
+       $(AM_V_at)$(MAKE) vc-diff-check
+       $(AM_V_at)$(MAKE) news-check
+       $(AM_V_at)$(MAKE) distcheck
+       $(AM_V_at)$(MAKE) dist
+       $(AM_V_at)$(MAKE) $(release-prep-hook) RELEASE_TYPE=$@
+       $(AM_V_at)$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
+
+release:
+       $(AM_V_GEN)$(MAKE) $(release-type)
 
 # Override this in cfg.mk if you follow different procedures.
 release-prep-hook ?= release-prep
@@ -1299,19 +1432,19 @@ release-prep-hook ?= release-prep
 gl_noteworthy_news_ = * Noteworthy changes in release ?.? (????-??-??) [?]
 .PHONY: release-prep
 release-prep:
-       case $$RELEASE_TYPE in alpha|beta|stable) ;; \
-         *) echo "invalid RELEASE_TYPE: $$RELEASE_TYPE" 1>&2; exit 1;; esac
-       $(MAKE) --no-print-directory -s announcement > ~/announce-$(my_distdir)
-       if test -d $(release_archive_dir); then                 \
+       $(AM_V_GEN)$(MAKE) --no-print-directory -s announcement \
+         > ~/announce-$(my_distdir)
+       $(AM_V_at)if test -d $(release_archive_dir); then       \
          ln $(rel-files) $(release_archive_dir);               \
          chmod a-w $(rel-files);                               \
        fi
-       echo $(VERSION) > $(prev_version_file)
-       $(MAKE) update-NEWS-hash
-       perl -pi -e '$$. == 3 and print "$(gl_noteworthy_news_)\n\n\n"' NEWS
-       $(emit-commit-log) > .ci-msg
-       $(VC) commit -F .ci-msg -a
-       rm .ci-msg
+       $(AM_V_at)echo $(VERSION) > $(prev_version_file)
+       $(AM_V_at)$(MAKE) update-NEWS-hash
+       $(AM_V_at)perl -pi                                              \
+         -e '$$. == 3 and print "$(gl_noteworthy_news_)\n\n\n"'        \
+         $(srcdir)/NEWS
+       $(AM_V_at)msg=$$($(emit-commit-log)) || exit 1;         \
+       cd $(srcdir) && $(VC) commit -m "$$msg" -a
 
 # Override this with e.g., -s $(srcdir)/some_other_name.texi
 # if the default $(PACKAGE)-derived name doesn't apply.
@@ -1319,14 +1452,20 @@ gendocs_options_ ?=
 
 .PHONY: web-manual
 web-manual:
-       @test -z "$(manual_title)" \
+       $(AM_V_GEN)test -z "$(manual_title)" \
          && { echo define manual_title in cfg.mk 1>&2; exit 1; } || :
-       @cd '$(srcdir)/doc'; \
-         $(SHELL) ../build-aux/gendocs.sh $(gendocs_options_) \
+       $(AM_V_at)cd '$(srcdir)/doc'; \
+         $(SHELL) ../$(_build-aux)/gendocs.sh $(gendocs_options_) \
             -o '$(abs_builddir)/doc/manual' \
             --email $(PACKAGE_BUGREPORT) $(PACKAGE) \
            "$(PACKAGE_NAME) - $(manual_title)"
-       @echo " *** Upload the doc/manual directory to web-cvs."
+       $(AM_V_at)echo " *** Upload the doc/manual directory to web-cvs."
+
+.PHONY: web-manual-update
+web-manual-update:
+       $(AM_V_GEN)cd $(srcdir) \
+         && $(_build-aux)/gnu-web-doc-update -C $(abs_builddir)
+
 
 # Code Coverage
 
@@ -1352,6 +1491,31 @@ gen-coverage:
 
 coverage: init-coverage build-coverage gen-coverage
 
+# Some projects carry local adjustments for gnulib modules via patches in
+# a gnulib patch directory whose default name is gl/ (defined in bootstrap
+# via local_gl_dir=gl).  Those patches become stale as the originals evolve
+# in gnulib.  Use this rule to refresh any stale patches.  It applies each
+# patch to the original in $(gnulib_dir) and uses the temporary result to
+# generate a fuzz-free .diff file.  If you customize the name of your local
+# gnulib patch directory via bootstrap.conf, this rule detects that name.
+# Run this from a non-VPATH (i.e., srcdir) build directory.
+.PHONY: refresh-gnulib-patches
+refresh-gnulib-patches:
+       gl=gl;                                                          \
+       if test -f bootstrap.conf; then                                 \
+         t=$$(perl -lne '/^\s*local_gl_dir=(\S+)/ and $$d=$$1;'        \
+              -e 'END{defined $$d and print $$d}' bootstrap.conf);     \
+         test -n "$$t" && gl=$$t;                                      \
+       fi;                                                             \
+       for diff in $$(cd $$gl; git ls-files | grep '\.diff$$'); do     \
+         b=$$(printf %s "$$diff"|sed 's/\.diff$$//');                  \
+         VERSION_CONTROL=none                                          \
+           patch "$(gnulib_dir)/$$b" "$$gl/$$diff" || exit 1;          \
+         ( cd $(gnulib_dir) || exit 1;                                 \
+           git diff "$$b" > "../$$gl/$$diff";                          \
+           git checkout $$b ) || exit 1;                               \
+       done
+
 # Update gettext files.
 PACKAGE ?= $(shell basename $(PWD))
 PO_DOMAIN ?= $(PACKAGE)
@@ -1363,7 +1527,7 @@ refresh-po:
        wget --no-verbose --directory-prefix $(PODIR) --no-directories --recursive --level 1 --accept .po --accept .po.1 $(POURL) && \
        echo 'en@boldquot' > $(PODIR)/LINGUAS && \
        echo 'en@quot' >> $(PODIR)/LINGUAS && \
-       ls $(PODIR)/*.po | sed 's/\.po//' | sed 's,$(PODIR)/,,' | sort >> $(PODIR)/LINGUAS
+       ls $(PODIR)/*.po | sed 's/\.po//;s,$(PODIR)/,,' | sort >> $(PODIR)/LINGUAS
 
  # Running indent once is not idempotent, but running it twice is.
 INDENT_SOURCES ?= $(C_SOURCES)
@@ -1385,9 +1549,9 @@ update-copyright-env ?=
 # in the file .x-update-copyright.
 .PHONY: update-copyright
 update-copyright:
-       grep -l -w Copyright                                             \
+       $(AM_V_GEN)grep -l -w Copyright                                  \
          $$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \
-         | $(update-copyright-env) xargs $(build_aux)/$@
+         | $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@
 
 # This tight_scope test is skipped with a warning if $(_gl_TS_headers) is not
 # overridden and $(_gl_TS_dir)/Makefile.am does not mention noinst_HEADERS.
@@ -1398,7 +1562,8 @@ _gl_TS_dir ?= src
 
 ALL_RECURSIVE_TARGETS += sc_tight_scope
 sc_tight_scope: tight-scope.mk
-       @if ! grep '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk       \
+       @fail=0;                                                        \
+       if ! grep '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk        \
                > /dev/null                                             \
           && ! grep -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \
                > /dev/null 2>&1; then                                  \
@@ -1410,21 +1575,22 @@ sc_tight_scope: tight-scope.mk
                -f $(abs_top_builddir)/$<                               \
              _gl_tight_scope                                           \
                || fail=1;                                              \
-       fi
-       @rm -f $<
+       fi;                                                             \
+       rm -f $<;                                                       \
+       exit $$fail
 
 tight-scope.mk: $(ME)
        @rm -f $@ $@-t
-       @perl -ne '/^# TS-start/.../^# TS-end/ and print' $(ME) > $@-t
+       @perl -ne '/^# TS-start/.../^# TS-end/ and print' $(srcdir)/$(ME) > $@-t
        @chmod a=r $@-t && mv $@-t $@
 
 ifeq (a,b)
 # TS-start
 
 # Most functions should have static scope.
-# Any that don't must be marked with `extern', but `main'
-# and `usage' are exceptions: they're always extern, but
-# do not need to be marked.  Symbols matching `__.*' are
+# Any that don't must be marked with 'extern', but 'main'
+# and 'usage' are exceptions: they're always extern, but
+# do not need to be marked.  Symbols matching '__.*' are
 # reserved by the compiler, so are automatically excluded below.
 _gl_TS_unmarked_extern_functions ?= main usage
 _gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\S+) *\(/
@@ -1434,9 +1600,9 @@ _gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\S+) *\(/
 # export _gl_TS_extern = extern|XTERN
 _gl_TS_extern ?= extern
 
-# The second nm|grep checks for file-scope variables with `extern' scope.
+# The second nm|grep checks for file-scope variables with 'extern' scope.
 # Without gnulib's progname module, you might put program_name here.
-# Symbols matching `__.*' are reserved by the compiler,
+# Symbols matching '__.*' are reserved by the compiler,
 # so are automatically excluded below.
 _gl_TS_unmarked_extern_vars ?=
 
@@ -1456,6 +1622,7 @@ _gl_TS_obj_files ?= *.$(OBJEXT)
 # Files in which to search for the one-line style extern declarations.
 # $(_gl_TS_dir)-relative.
 _gl_TS_headers ?= $(noinst_HEADERS)
+_gl_TS_other_headers ?= *.h
 
 .PHONY: _gl_tight_scope
 _gl_tight_scope: $(bin_PROGRAMS)
@@ -1478,7 +1645,8 @@ _gl_tight_scope: $(bin_PROGRAMS)
          && { echo the above functions should have static scope >&2;   \
               exit 1; } || : ;                                         \
        ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_vars);       \
-         perl -lne '$(_gl_TS_var_match) and print "^$$1\$$"' $$hdr *.h \
+         perl -lne '$(_gl_TS_var_match) and print "^$$1\$$"'           \
+               $$hdr $(_gl_TS_other_headers)                           \
        ) | sort -u > $$t;                                              \
        nm -e $(_gl_TS_obj_files) | sed -n 's/.* [BCDGRS] //p'          \
             | sort -u | grep -Ev -f $$t                                        \
index 2a4faf3..02cd761 100644 (file)
@@ -1,6 +1,6 @@
 # Automakefile for GNU diffutils man pages
 
-# Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
index a0ede01..8b63b0b 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11a from Makefile.am.
+# Makefile.in generated by automake 1.13a from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +16,7 @@
 
 # Automakefile for GNU diffutils man pages
 
-# Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -50,26 +66,29 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = man
-DIST_COMMON = $(dist_man1_MANS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(dist_man1_MANS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \
        $(top_srcdir)/m4/c-stack.m4 $(top_srcdir)/m4/clock_time.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \
-       $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
+       $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
-       $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fcntl-o.m4 \
+       $(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/extensions.m4 \
+       $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
        $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
-       $(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/float_h.m4 \
-       $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpieee.m4 \
-       $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/getcwd.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/filenamecat.m4 \
+       $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+       $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/freopen.m4 \
+       $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/getcwd.m4 \
        $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext_gl.m4 \
+       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
-       $(top_srcdir)/m4/glibc21_gl.m4 $(top_srcdir)/m4/gnu-make.m4 \
+       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
        $(top_srcdir)/m4/gnulib-comp.m4 \
        $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \
@@ -77,54 +96,58 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
        $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
-       $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h_gl.m4 \
+       $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
        $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \
-       $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld_gl.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix_gl.m4 \
+       $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/libsigsegv.m4 \
        $(top_srcdir)/m4/libunistring-base.m4 \
        $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
        $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
        $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/longlong_gl.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \
-       $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \
-       $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \
-       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \
-       $(top_srcdir)/m4/onceonly.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/po_gl.m4 $(top_srcdir)/m4/printf.m4 \
+       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/longlong.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbslen.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mkstemp.m4 \
+       $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/putenv.m4 \
        $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
-       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
-       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/readlink.m4 \
+       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/secure_getenv.m4 \
+       $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \
+       $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \
        $(top_srcdir)/m4/signalblocking.m4 \
        $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
        $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
        $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
        $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
        $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdint_h_gl.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
        $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strcase.m4 \
-       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
-       $(top_srcdir)/m4/strftime.m4 $(top_srcdir)/m4/string_h.m4 \
-       $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
-       $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strptime.m4 \
-       $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
-       $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strftime.m4 \
+       $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+       $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+       $(top_srcdir)/m4/strptime.m4 $(top_srcdir)/m4/strtoull.m4 \
+       $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_wait_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
-       $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlocked-io.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/vararrays.m4 \
-       $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_wait_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+       $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd_h.m4 \
+       $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/vararrays.m4 $(top_srcdir)/m4/vasnprintf.m4 \
+       $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -132,21 +155,32 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \
        $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xsize.m4 \
        $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \
-       $(top_srcdir)/configure.ac
+       $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
+mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN     " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -168,10 +202,17 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 man1dir = $(mandir)/man1
 am__installdirs = "$(DESTDIR)$(man1dir)"
 NROFF = nroff
 MANS = $(dist_man1_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -223,9 +264,11 @@ GNULIB_ATOLL = @GNULIB_ATOLL@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
 GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
@@ -237,6 +280,8 @@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
 GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
 GNULIB_FCLOSE = @GNULIB_FCLOSE@
 GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
 GNULIB_FFLUSH = @GNULIB_FFLUSH@
 GNULIB_FFS = @GNULIB_FFS@
 GNULIB_FFSL = @GNULIB_FFSL@
@@ -254,6 +299,7 @@ GNULIB_FREOPEN = @GNULIB_FREOPEN@
 GNULIB_FSCANF = @GNULIB_FSCANF@
 GNULIB_FSEEK = @GNULIB_FSEEK@
 GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
 GNULIB_FSTATAT = @GNULIB_FSTATAT@
 GNULIB_FSYNC = @GNULIB_FSYNC@
 GNULIB_FTELL = @GNULIB_FTELL@
@@ -274,21 +320,23 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETS = @GNULIB_GETS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
 GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_ICONV = @GNULIB_ICONV@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_ISATTY = @GNULIB_ISATTY@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -334,20 +382,25 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
 GNULIB_PIPE2 = @GNULIB_PIPE2@
 GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
 GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
 GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RAISE = @GNULIB_RAISE@
+GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
@@ -361,7 +414,9 @@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
 GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
 GNULIB_SIGACTION = @GNULIB_SIGACTION@
 GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
@@ -402,7 +457,6 @@ GNULIB_TIME_R = @GNULIB_TIME_R@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -468,6 +522,7 @@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
@@ -485,6 +540,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -510,6 +566,7 @@ HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
 HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
 HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFS = @HAVE_FFS@
 HAVE_FFSL = @HAVE_FFSL@
@@ -563,17 +620,24 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
 HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
 HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
 HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RAISE = @HAVE_RAISE@
+HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
@@ -582,7 +646,9 @@ HAVE_READLINKAT = @HAVE_READLINKAT@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
 HAVE_SIGACTION = @HAVE_SIGACTION@
 HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@
 HAVE_SIGINFO_T = @HAVE_SIGINFO_T@
@@ -597,6 +663,7 @@ HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASECMP = @HAVE_STRCASECMP@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRINGS_H = @HAVE_STRINGS_H@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
@@ -729,6 +796,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
@@ -752,6 +820,7 @@ NEXT_STRINGS_H = @NEXT_STRINGS_H@
 NEXT_STRING_H = @NEXT_STRING_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
 NEXT_SYS_WAIT_H = @NEXT_SYS_WAIT_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
@@ -787,6 +856,7 @@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
@@ -798,6 +868,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@
 REPLACE_FSTATAT = @REPLACE_FSTATAT@
 REPLACE_FTELL = @REPLACE_FTELL@
 REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
 REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
@@ -810,11 +881,14 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
+REPLACE_ITOLD = @REPLACE_ITOLD@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
@@ -844,8 +918,12 @@ REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
 REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_RAISE = @REPLACE_RAISE@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
 REPLACE_REALLOC = @REPLACE_REALLOC@
@@ -874,7 +952,10 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
 REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
@@ -921,6 +1002,8 @@ VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -932,7 +1015,6 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 am__include = @am__include@
-am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
@@ -968,7 +1050,6 @@ lispdir = @lispdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
-mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -1021,9 +1102,18 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-man1: $(dist_man1_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list='$(dist_man1_MANS)'; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
+       @list1='$(dist_man1_MANS)'; \
+       list2=''; \
+       test -n "$(man1dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.1[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -1050,32 +1140,15 @@ uninstall-man1:
        files=`{ for i in $$list; do echo "$$i"; done; \
        } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
              -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
-       test -z "$$files" || { \
-         echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
-         cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
-tags: TAGS
-TAGS:
+       dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
 
-ctags: CTAGS
-CTAGS:
+ctags CTAGS:
 
 cscope cscopelist:
 
 
 distdir: $(DISTFILES)
-       @list='$(MANS)'; if test -n "$$list"; then \
-         list=`for p in $$list; do \
-           if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
-           if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
-         if test -n "$$list" && \
-           grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
-           grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
-           echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
-           exit 1; \
-         else :; fi; \
-       else :; fi
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
@@ -1213,16 +1286,17 @@ uninstall-man: uninstall-man1
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-man1 install-pdf install-pdf-am install-ps \
-       install-ps-am install-strip installcheck installcheck-am \
-       installdirs maintainer-clean maintainer-clean-generic \
-       mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
-       uninstall-am uninstall-man uninstall-man1
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+       ctags-am distclean distclean-generic distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-man1 install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+       pdf-am ps ps-am tags-am uninstall uninstall-am uninstall-man \
+       uninstall-man1
 
 cmp.1: $S/cmp.c cmp.x
 diff.1: $S/diff.c diff.x
index 30ea7bd..c20f9d6 100644 (file)
--- a/man/cmp.1
+++ b/man/cmp.1
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.39.2.
-.TH CMP "1" "September 2011" "diffutils 3.2" "User Commands"
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.40.4.
+.TH CMP "1" "March 2013" "diffutils 3.3" "User Commands"
 .SH NAME
 cmp \- compare two files byte by byte
 .SH SYNOPSIS
index bf2a98c..91d8930 100644 (file)
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.39.2.
-.TH DIFF "1" "September 2011" "diffutils 3.2" "User Commands"
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.40.4.
+.TH DIFF "1" "March 2013" "diffutils 3.3" "User Commands"
 .SH NAME
 diff \- compare files line by line
 .SH SYNOPSIS
@@ -106,6 +106,9 @@ ignore case differences in file contents
 \fB\-E\fR, \fB\-\-ignore\-tab\-expansion\fR
 ignore changes due to tab expansion
 .TP
+\fB\-Z\fR, \fB\-\-ignore\-trailing\-space\fR
+ignore white space at line end
+.TP
 \fB\-b\fR, \fB\-\-ignore\-space\-change\fR
 ignore changes in the amount of white space
 .TP
index d265e85..83d3e41 100644 (file)
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.39.2.
-.TH DIFF3 "1" "September 2011" "diffutils 3.2" "User Commands"
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.40.4.
+.TH DIFF3 "1" "March 2013" "diffutils 3.3" "User Commands"
 .SH NAME
 diff3 \- compare three files line by line
 .SH SYNOPSIS
index ff1013a..834b5ee 100755 (executable)
@@ -1,8 +1,7 @@
 #!/usr/bin/perl -w
 
 # Generate a short man page from --help and --version output.
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# Copyright (C) 1997-2005, 2009-2011, 2013 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -28,7 +27,7 @@ use Text::Tabs qw(expand);
 use POSIX qw(strftime setlocale LC_ALL);
 
 my $this_program = 'help2man';
-my $this_version = '1.39.2';
+my $this_version = '1.40.4';
 
 sub _ { $_[0] }
 sub configure_locale
@@ -56,7 +55,7 @@ Written by Brendan O'Dea <bod@debian.org>
 EOT
 
 my $help_info = enc_user sprintf _(<<'EOT'), $this_program, $this_program;
-`%s' generates a man page out of `--help' and `--version' output.
+'%s' generates a man page out of '--help' and '--version' output.
 
 Usage: %s [OPTION]... EXECUTABLE
 
@@ -65,16 +64,16 @@ Usage: %s [OPTION]... EXECUTABLE
  -m, --manual=TEXT       name of manual (User Commands, ...)
  -S, --source=TEXT       source of program (FSF, Debian, ...)
  -L, --locale=STRING     select locale (default "C")
- -i, --include=FILE      include material from `FILE'
- -I, --opt-include=FILE  include material from `FILE' if it exists
- -o, --output=FILE       send output to `FILE'
+ -i, --include=FILE      include material from 'FILE'
+ -I, --opt-include=FILE  include material from 'FILE' if it exists
+ -o, --output=FILE       send output to 'FILE'
  -p, --info-page=TEXT    name of Texinfo manual
  -N, --no-info           suppress pointer to Texinfo manual
- -l, --libtool           exclude the `lt-' from the program name
+ -l, --libtool           exclude the 'lt-' from the program name
      --help              print this help, then exit
      --version           print version number, then exit
 
-EXECUTABLE should accept `--help' and `--version' options and produce output on
+EXECUTABLE should accept '--help' and '--version' options and produce output on
 stdout although alternatives may be specified using:
 
  -h, --help-option=STRING     help option string
@@ -138,7 +137,7 @@ while (@opt_include)
     my ($inc, $required) = @{shift @opt_include};
 
     next unless -f $inc or $required;
-    kark N_("%s: can't open `%s' (%s)"), $this_program, $inc, $!
+    kark N_("%s: can't open '%s' (%s)"), $this_program, $inc, $!
        unless open INC, $inc;
 
     my $key;
@@ -199,7 +198,7 @@ while (@opt_include)
 
     close INC;
 
-    kark N_("%s: no valid information found in `%s'"), $this_program, $inc
+    kark N_("%s: no valid information found in '%s'"), $this_program, $inc
        unless $key;
 }
 
@@ -215,7 +214,11 @@ sub get_option_value;
 my $help_text   = get_option_value $ARGV[0], $help_option;
 $version_text ||= get_option_value $ARGV[0], $version_option;
 
-my $date = strftime "%B %Y", localtime;
+# Translators: the following message is a strftime(3) format string, which in
+# the English version expands to the month as a word and the full year.  It
+# is used on the footer of the generated manual pages.  If in doubt, you may
+# just use %x as the value (which should be the full locale-specific date).
+my $date = enc strftime _("%B %Y"), localtime;
 (my $program = $ARGV[0]) =~ s!.*/!!;
 my $package = $program;
 my $version;
@@ -262,7 +265,7 @@ else
 
 $program =~ s!.*/!!;
 
-# No info for `info' itself.
+# No info for 'info' itself.
 $opt_no_info = 1 if $program eq 'info';
 
 # Translators: "NAME", "SYNOPSIS" and other one or two word strings in all
@@ -638,9 +641,9 @@ sub get_option_value
 
     unless ($value)
     {
-       my $err = N_("%s: can't get `%s' info from %s%s");
+       my $err = N_("%s: can't get '%s' info from %s%s");
        my $extra = $discard_stderr
-           ? "\n" . N_("Try `--no-discard-stderr' if option outputs to stderr")
+           ? "\n" . N_("Try '--no-discard-stderr' if option outputs to stderr")
            : '';
 
        kark $err, $this_program, $opt, $prog, $extra;
index 8d79372..75b832c 100644 (file)
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.39.2.
-.TH SDIFF "1" "September 2011" "diffutils 3.2" "User Commands"
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.40.4.
+.TH SDIFF "1" "March 2013" "diffutils 3.3" "User Commands"
 .SH NAME
 sdiff \- side-by-side merge of file differences
 .SH SYNOPSIS
@@ -19,6 +19,9 @@ consider upper\- and lower\-case to be the same
 \fB\-E\fR, \fB\-\-ignore\-tab\-expansion\fR
 ignore changes due to tab expansion
 .TP
+\fB\-Z\fR, \fB\-\-ignore\-trailing\-space\fR
+ignore white space at line end
+.TP
 \fB\-b\fR, \fB\-\-ignore\-space\-change\fR
 ignore changes in the amount of white space
 .TP
diff --git a/ms/Makefile.am b/ms/Makefile.am
deleted file mode 100644 (file)
index 8bea14a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# Makefile for GNU diffutils sources used on Microsoft operating systems.
-
-# Copyright (C) 2001-2002, 2009-2011 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-EXTRA_DIST = config.bat config.sed config.site
diff --git a/ms/Makefile.in b/ms/Makefile.in
deleted file mode 100644 (file)
index a563a1a..0000000
+++ /dev/null
@@ -1,1147 +0,0 @@
-# Makefile.in generated by automake 1.11a from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# Makefile for GNU diffutils sources used on Microsoft operating systems.
-
-# Copyright (C) 2001-2002, 2009-2011 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = ms
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
-       $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \
-       $(top_srcdir)/m4/c-stack.m4 $(top_srcdir)/m4/clock_time.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \
-       $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/dirname.m4 \
-       $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
-       $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
-       $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
-       $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fcntl-o.m4 \
-       $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
-       $(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/float_h.m4 \
-       $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpieee.m4 \
-       $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/getcwd.m4 \
-       $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext_gl.m4 \
-       $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
-       $(top_srcdir)/m4/glibc21_gl.m4 $(top_srcdir)/m4/gnu-make.m4 \
-       $(top_srcdir)/m4/gnulib-common.m4 \
-       $(top_srcdir)/m4/gnulib-comp.m4 \
-       $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \
-       $(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \
-       $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
-       $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
-       $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
-       $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h_gl.m4 \
-       $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \
-       $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld_gl.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix_gl.m4 \
-       $(top_srcdir)/m4/libsigsegv.m4 \
-       $(top_srcdir)/m4/libunistring-base.m4 \
-       $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
-       $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
-       $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/longlong_gl.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \
-       $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \
-       $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \
-       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \
-       $(top_srcdir)/m4/onceonly.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/po_gl.m4 $(top_srcdir)/m4/printf.m4 \
-       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/putenv.m4 \
-       $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
-       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
-       $(top_srcdir)/m4/signal_h.m4 \
-       $(top_srcdir)/m4/signalblocking.m4 \
-       $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
-       $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
-       $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdint_h_gl.m4 $(top_srcdir)/m4/stdio_h.m4 \
-       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strcase.m4 \
-       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
-       $(top_srcdir)/m4/strftime.m4 $(top_srcdir)/m4/string_h.m4 \
-       $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
-       $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strptime.m4 \
-       $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
-       $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
-       $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_wait_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
-       $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlocked-io.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/vararrays.m4 \
-       $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
-       $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
-       $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
-       $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
-       $(top_srcdir)/m4/wctomb.m4 $(top_srcdir)/m4/wctype_h.m4 \
-       $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \
-       $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xsize.m4 \
-       $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \
-       $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/lib/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo "  GEN     " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-pkglibexecdir = @pkglibexecdir@
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-ALLOCA_H = @ALLOCA_H@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
-AR = @AR@
-ARFLAGS = @ARFLAGS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
-BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
-BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
-BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
-BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIG_INCLUDE = @CONFIG_INCLUDE@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
-ERRNO_H = @ERRNO_H@
-EXEEXT = @EXEEXT@
-FLOAT_H = @FLOAT_H@
-FNMATCH_H = @FNMATCH_H@
-GETOPT_H = @GETOPT_H@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GLIBC21 = @GLIBC21@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GNULIB_ATOLL = @GNULIB_ATOLL@
-GNULIB_BTOWC = @GNULIB_BTOWC@
-GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
-GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
-GNULIB_CHOWN = @GNULIB_CHOWN@
-GNULIB_CLOSE = @GNULIB_CLOSE@
-GNULIB_DPRINTF = @GNULIB_DPRINTF@
-GNULIB_DUP2 = @GNULIB_DUP2@
-GNULIB_DUP3 = @GNULIB_DUP3@
-GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
-GNULIB_ENVIRON = @GNULIB_ENVIRON@
-GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
-GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
-GNULIB_FCHDIR = @GNULIB_FCHDIR@
-GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
-GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
-GNULIB_FCLOSE = @GNULIB_FCLOSE@
-GNULIB_FCNTL = @GNULIB_FCNTL@
-GNULIB_FFLUSH = @GNULIB_FFLUSH@
-GNULIB_FFS = @GNULIB_FFS@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_FGETC = @GNULIB_FGETC@
-GNULIB_FGETS = @GNULIB_FGETS@
-GNULIB_FOPEN = @GNULIB_FOPEN@
-GNULIB_FPRINTF = @GNULIB_FPRINTF@
-GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
-GNULIB_FPURGE = @GNULIB_FPURGE@
-GNULIB_FPUTC = @GNULIB_FPUTC@
-GNULIB_FPUTS = @GNULIB_FPUTS@
-GNULIB_FREAD = @GNULIB_FREAD@
-GNULIB_FREOPEN = @GNULIB_FREOPEN@
-GNULIB_FSCANF = @GNULIB_FSCANF@
-GNULIB_FSEEK = @GNULIB_FSEEK@
-GNULIB_FSEEKO = @GNULIB_FSEEKO@
-GNULIB_FSTATAT = @GNULIB_FSTATAT@
-GNULIB_FSYNC = @GNULIB_FSYNC@
-GNULIB_FTELL = @GNULIB_FTELL@
-GNULIB_FTELLO = @GNULIB_FTELLO@
-GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
-GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
-GNULIB_FWRITE = @GNULIB_FWRITE@
-GNULIB_GETC = @GNULIB_GETC@
-GNULIB_GETCHAR = @GNULIB_GETCHAR@
-GNULIB_GETCWD = @GNULIB_GETCWD@
-GNULIB_GETDELIM = @GNULIB_GETDELIM@
-GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
-GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
-GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
-GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
-GNULIB_GETLINE = @GNULIB_GETLINE@
-GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
-GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
-GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
-GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETS = @GNULIB_GETS@
-GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
-GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
-GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
-GNULIB_GRANTPT = @GNULIB_GRANTPT@
-GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
-GNULIB_ICONV = @GNULIB_ICONV@
-GNULIB_IMAXABS = @GNULIB_IMAXABS@
-GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
-GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
-GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
-GNULIB_LCHMOD = @GNULIB_LCHMOD@
-GNULIB_LCHOWN = @GNULIB_LCHOWN@
-GNULIB_LINK = @GNULIB_LINK@
-GNULIB_LINKAT = @GNULIB_LINKAT@
-GNULIB_LSEEK = @GNULIB_LSEEK@
-GNULIB_LSTAT = @GNULIB_LSTAT@
-GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
-GNULIB_MBRLEN = @GNULIB_MBRLEN@
-GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSINIT = @GNULIB_MBSINIT@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MBTOWC = @GNULIB_MBTOWC@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
-GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
-GNULIB_MKFIFO = @GNULIB_MKFIFO@
-GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
-GNULIB_MKNOD = @GNULIB_MKNOD@
-GNULIB_MKNODAT = @GNULIB_MKNODAT@
-GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
-GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
-GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
-GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
-GNULIB_MKTIME = @GNULIB_MKTIME@
-GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
-GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
-GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
-GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
-GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
-GNULIB_OPEN = @GNULIB_OPEN@
-GNULIB_OPENAT = @GNULIB_OPENAT@
-GNULIB_PERROR = @GNULIB_PERROR@
-GNULIB_PIPE = @GNULIB_PIPE@
-GNULIB_PIPE2 = @GNULIB_PIPE2@
-GNULIB_POPEN = @GNULIB_POPEN@
-GNULIB_PREAD = @GNULIB_PREAD@
-GNULIB_PRINTF = @GNULIB_PRINTF@
-GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
-GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
-GNULIB_PTSNAME = @GNULIB_PTSNAME@
-GNULIB_PUTC = @GNULIB_PUTC@
-GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
-GNULIB_PUTENV = @GNULIB_PUTENV@
-GNULIB_PUTS = @GNULIB_PUTS@
-GNULIB_PWRITE = @GNULIB_PWRITE@
-GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_READ = @GNULIB_READ@
-GNULIB_READLINK = @GNULIB_READLINK@
-GNULIB_READLINKAT = @GNULIB_READLINKAT@
-GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
-GNULIB_REALPATH = @GNULIB_REALPATH@
-GNULIB_REMOVE = @GNULIB_REMOVE@
-GNULIB_RENAME = @GNULIB_RENAME@
-GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
-GNULIB_RMDIR = @GNULIB_RMDIR@
-GNULIB_RPMATCH = @GNULIB_RPMATCH@
-GNULIB_SCANF = @GNULIB_SCANF@
-GNULIB_SETENV = @GNULIB_SETENV@
-GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
-GNULIB_SIGACTION = @GNULIB_SIGACTION@
-GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
-GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
-GNULIB_SLEEP = @GNULIB_SLEEP@
-GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
-GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
-GNULIB_STAT = @GNULIB_STAT@
-GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
-GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRPTIME = @GNULIB_STRPTIME@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOD = @GNULIB_STRTOD@
-GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRTOLL = @GNULIB_STRTOLL@
-GNULIB_STRTOULL = @GNULIB_STRTOULL@
-GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
-GNULIB_SYMLINK = @GNULIB_SYMLINK@
-GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
-GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
-GNULIB_TIMEGM = @GNULIB_TIMEGM@
-GNULIB_TIME_R = @GNULIB_TIME_R@
-GNULIB_TMPFILE = @GNULIB_TMPFILE@
-GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
-GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
-GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
-GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
-GNULIB_UNLINK = @GNULIB_UNLINK@
-GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
-GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
-GNULIB_UNSETENV = @GNULIB_UNSETENV@
-GNULIB_USLEEP = @GNULIB_USLEEP@
-GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
-GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
-GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
-GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
-GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
-GNULIB_VFSCANF = @GNULIB_VFSCANF@
-GNULIB_VPRINTF = @GNULIB_VPRINTF@
-GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
-GNULIB_VSCANF = @GNULIB_VSCANF@
-GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
-GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
-GNULIB_WAITPID = @GNULIB_WAITPID@
-GNULIB_WARN_CFLAGS = @GNULIB_WARN_CFLAGS@
-GNULIB_WCPCPY = @GNULIB_WCPCPY@
-GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
-GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
-GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
-GNULIB_WCSCAT = @GNULIB_WCSCAT@
-GNULIB_WCSCHR = @GNULIB_WCSCHR@
-GNULIB_WCSCMP = @GNULIB_WCSCMP@
-GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
-GNULIB_WCSCPY = @GNULIB_WCSCPY@
-GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
-GNULIB_WCSDUP = @GNULIB_WCSDUP@
-GNULIB_WCSLEN = @GNULIB_WCSLEN@
-GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
-GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
-GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
-GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
-GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
-GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
-GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
-GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
-GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
-GNULIB_WCSSPN = @GNULIB_WCSSPN@
-GNULIB_WCSSTR = @GNULIB_WCSSTR@
-GNULIB_WCSTOK = @GNULIB_WCSTOK@
-GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
-GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
-GNULIB_WCTOB = @GNULIB_WCTOB@
-GNULIB_WCTOMB = @GNULIB_WCTOMB@
-GNULIB_WCTRANS = @GNULIB_WCTRANS@
-GNULIB_WCTYPE = @GNULIB_WCTYPE@
-GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
-GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
-GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
-GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
-GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
-GNULIB_WMEMSET = @GNULIB_WMEMSET@
-GNULIB_WRITE = @GNULIB_WRITE@
-GNULIB__EXIT = @GNULIB__EXIT@
-GREP = @GREP@
-HAVE_ATOLL = @HAVE_ATOLL@
-HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
-HAVE_CHOWN = @HAVE_CHOWN@
-HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
-HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
-HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
-HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
-HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
-HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
-HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
-HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
-HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
-HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
-HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
-HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
-HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
-HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
-HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
-HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
-HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
-HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
-HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
-HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
-HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
-HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
-HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
-HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
-HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
-HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
-HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
-HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
-HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
-HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
-HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
-HAVE_DPRINTF = @HAVE_DPRINTF@
-HAVE_DUP2 = @HAVE_DUP2@
-HAVE_DUP3 = @HAVE_DUP3@
-HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
-HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
-HAVE_FACCESSAT = @HAVE_FACCESSAT@
-HAVE_FCHDIR = @HAVE_FCHDIR@
-HAVE_FCHMODAT = @HAVE_FCHMODAT@
-HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
-HAVE_FCNTL = @HAVE_FCNTL@
-HAVE_FEATURES_H = @HAVE_FEATURES_H@
-HAVE_FFS = @HAVE_FFS@
-HAVE_FFSL = @HAVE_FFSL@
-HAVE_FFSLL = @HAVE_FFSLL@
-HAVE_FSEEKO = @HAVE_FSEEKO@
-HAVE_FSTATAT = @HAVE_FSTATAT@
-HAVE_FSYNC = @HAVE_FSYNC@
-HAVE_FTELLO = @HAVE_FTELLO@
-HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_FUTIMENS = @HAVE_FUTIMENS@
-HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
-HAVE_GETGROUPS = @HAVE_GETGROUPS@
-HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
-HAVE_GETLOGIN = @HAVE_GETLOGIN@
-HAVE_GETOPT_H = @HAVE_GETOPT_H@
-HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
-HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
-HAVE_GRANTPT = @HAVE_GRANTPT@
-HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
-HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_ISWBLANK = @HAVE_ISWBLANK@
-HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
-HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
-HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
-HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
-HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
-HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
-HAVE_LCHMOD = @HAVE_LCHMOD@
-HAVE_LCHOWN = @HAVE_LCHOWN@
-HAVE_LIBSIGSEGV = @HAVE_LIBSIGSEGV@
-HAVE_LINK = @HAVE_LINK@
-HAVE_LINKAT = @HAVE_LINKAT@
-HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
-HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MBRLEN = @HAVE_MBRLEN@
-HAVE_MBRTOWC = @HAVE_MBRTOWC@
-HAVE_MBSINIT = @HAVE_MBSINIT@
-HAVE_MBSLEN = @HAVE_MBSLEN@
-HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
-HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
-HAVE_MEMCHR = @HAVE_MEMCHR@
-HAVE_MEMPCPY = @HAVE_MEMPCPY@
-HAVE_MKDIRAT = @HAVE_MKDIRAT@
-HAVE_MKDTEMP = @HAVE_MKDTEMP@
-HAVE_MKFIFO = @HAVE_MKFIFO@
-HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
-HAVE_MKNOD = @HAVE_MKNOD@
-HAVE_MKNODAT = @HAVE_MKNODAT@
-HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
-HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
-HAVE_MKSTEMP = @HAVE_MKSTEMP@
-HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
-HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
-HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
-HAVE_OPENAT = @HAVE_OPENAT@
-HAVE_OS_H = @HAVE_OS_H@
-HAVE_PIPE = @HAVE_PIPE@
-HAVE_PIPE2 = @HAVE_PIPE2@
-HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
-HAVE_PREAD = @HAVE_PREAD@
-HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
-HAVE_PTSNAME = @HAVE_PTSNAME@
-HAVE_PWRITE = @HAVE_PWRITE@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
-HAVE_RANDOM_R = @HAVE_RANDOM_R@
-HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
-HAVE_READLINK = @HAVE_READLINK@
-HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALPATH = @HAVE_REALPATH@
-HAVE_RENAMEAT = @HAVE_RENAMEAT@
-HAVE_RPMATCH = @HAVE_RPMATCH@
-HAVE_SETENV = @HAVE_SETENV@
-HAVE_SIGACTION = @HAVE_SIGACTION@
-HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@
-HAVE_SIGINFO_T = @HAVE_SIGINFO_T@
-HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
-HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
-HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
-HAVE_SIGSET_T = @HAVE_SIGSET_T@
-HAVE_SLEEP = @HAVE_SLEEP@
-HAVE_STDINT_H = @HAVE_STDINT_H@
-HAVE_STPCPY = @HAVE_STPCPY@
-HAVE_STPNCPY = @HAVE_STPNCPY@
-HAVE_STRCASECMP = @HAVE_STRCASECMP@
-HAVE_STRCASESTR = @HAVE_STRCASESTR@
-HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRPBRK = @HAVE_STRPBRK@
-HAVE_STRPTIME = @HAVE_STRPTIME@
-HAVE_STRSEP = @HAVE_STRSEP@
-HAVE_STRTOD = @HAVE_STRTOD@
-HAVE_STRTOLL = @HAVE_STRTOLL@
-HAVE_STRTOULL = @HAVE_STRTOULL@
-HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
-HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
-HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
-HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
-HAVE_SYMLINK = @HAVE_SYMLINK@
-HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
-HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
-HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
-HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
-HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
-HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
-HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_TIMEGM = @HAVE_TIMEGM@
-HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
-HAVE_UNISTD_H = @HAVE_UNISTD_H@
-HAVE_UNLINKAT = @HAVE_UNLINKAT@
-HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
-HAVE_USLEEP = @HAVE_USLEEP@
-HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
-HAVE_VASPRINTF = @HAVE_VASPRINTF@
-HAVE_VDPRINTF = @HAVE_VDPRINTF@
-HAVE_WCHAR_H = @HAVE_WCHAR_H@
-HAVE_WCHAR_T = @HAVE_WCHAR_T@
-HAVE_WCPCPY = @HAVE_WCPCPY@
-HAVE_WCPNCPY = @HAVE_WCPNCPY@
-HAVE_WCRTOMB = @HAVE_WCRTOMB@
-HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
-HAVE_WCSCAT = @HAVE_WCSCAT@
-HAVE_WCSCHR = @HAVE_WCSCHR@
-HAVE_WCSCMP = @HAVE_WCSCMP@
-HAVE_WCSCOLL = @HAVE_WCSCOLL@
-HAVE_WCSCPY = @HAVE_WCSCPY@
-HAVE_WCSCSPN = @HAVE_WCSCSPN@
-HAVE_WCSDUP = @HAVE_WCSDUP@
-HAVE_WCSLEN = @HAVE_WCSLEN@
-HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
-HAVE_WCSNCAT = @HAVE_WCSNCAT@
-HAVE_WCSNCMP = @HAVE_WCSNCMP@
-HAVE_WCSNCPY = @HAVE_WCSNCPY@
-HAVE_WCSNLEN = @HAVE_WCSNLEN@
-HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
-HAVE_WCSPBRK = @HAVE_WCSPBRK@
-HAVE_WCSRCHR = @HAVE_WCSRCHR@
-HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
-HAVE_WCSSPN = @HAVE_WCSSPN@
-HAVE_WCSSTR = @HAVE_WCSSTR@
-HAVE_WCSTOK = @HAVE_WCSTOK@
-HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
-HAVE_WCSXFRM = @HAVE_WCSXFRM@
-HAVE_WCTRANS_T = @HAVE_WCTRANS_T@
-HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
-HAVE_WCTYPE_T = @HAVE_WCTYPE_T@
-HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
-HAVE_WINT_T = @HAVE_WINT_T@
-HAVE_WMEMCHR = @HAVE_WMEMCHR@
-HAVE_WMEMCMP = @HAVE_WMEMCMP@
-HAVE_WMEMCPY = @HAVE_WMEMCPY@
-HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
-HAVE_WMEMSET = @HAVE_WMEMSET@
-HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
-HAVE__BOOL = @HAVE__BOOL@
-HAVE__EXIT = @HAVE__EXIT@
-HELP2MAN = @HELP2MAN@
-ICONV_CONST = @ICONV_CONST@
-ICONV_H = @ICONV_H@
-INCLUDE_NEXT = @INCLUDE_NEXT@
-INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
-INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
-INTLLIBS = @INTLLIBS@
-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-LDFLAGS = @LDFLAGS@
-LIBCSTACK = @LIBCSTACK@
-LIBDIFFUTILS_LIBDEPS = @LIBDIFFUTILS_LIBDEPS@
-LIBDIFFUTILS_LTLIBDEPS = @LIBDIFFUTILS_LTLIBDEPS@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBSIGSEGV = @LIBSIGSEGV@
-LIBSIGSEGV_PREFIX = @LIBSIGSEGV_PREFIX@
-LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
-LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
-LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
-LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
-LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
-LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
-LOCALE_FR = @LOCALE_FR@
-LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
-LOCALE_JA = @LOCALE_JA@
-LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
-LOCALE_ZH_CN = @LOCALE_ZH_CN@
-LTLIBCSTACK = @LTLIBCSTACK@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
-LTLIBOBJS = @LTLIBOBJS@
-LTLIBSIGSEGV = @LTLIBSIGSEGV@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MSGFMT = @MSGFMT@
-MSGFMT_015 = @MSGFMT_015@
-MSGMERGE = @MSGMERGE@
-NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
-NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
-NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@
-NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
-NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
-NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
-NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
-NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
-NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
-NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
-NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
-NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
-NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
-NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
-NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@
-NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
-NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H@
-NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
-NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
-NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
-NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
-NEXT_ERRNO_H = @NEXT_ERRNO_H@
-NEXT_FCNTL_H = @NEXT_FCNTL_H@
-NEXT_FLOAT_H = @NEXT_FLOAT_H@
-NEXT_GETOPT_H = @NEXT_GETOPT_H@
-NEXT_ICONV_H = @NEXT_ICONV_H@
-NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
-NEXT_LOCALE_H = @NEXT_LOCALE_H@
-NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
-NEXT_STDARG_H = @NEXT_STDARG_H@
-NEXT_STDDEF_H = @NEXT_STDDEF_H@
-NEXT_STDINT_H = @NEXT_STDINT_H@
-NEXT_STDIO_H = @NEXT_STDIO_H@
-NEXT_STDLIB_H = @NEXT_STDLIB_H@
-NEXT_STRINGS_H = @NEXT_STRINGS_H@
-NEXT_STRING_H = @NEXT_STRING_H@
-NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
-NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
-NEXT_SYS_WAIT_H = @NEXT_SYS_WAIT_H@
-NEXT_TIME_H = @NEXT_TIME_H@
-NEXT_UNISTD_H = @NEXT_UNISTD_H@
-NEXT_WCHAR_H = @NEXT_WCHAR_H@
-NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-POSUB = @POSUB@
-PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
-PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
-PRIPTR_PREFIX = @PRIPTR_PREFIX@
-PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
-PR_PROGRAM = @PR_PROGRAM@
-PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
-PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
-RANLIB = @RANLIB@
-REPLACE_BTOWC = @REPLACE_BTOWC@
-REPLACE_CALLOC = @REPLACE_CALLOC@
-REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
-REPLACE_CHOWN = @REPLACE_CHOWN@
-REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_DPRINTF = @REPLACE_DPRINTF@
-REPLACE_DUP = @REPLACE_DUP@
-REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
-REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
-REPLACE_FCLOSE = @REPLACE_FCLOSE@
-REPLACE_FCNTL = @REPLACE_FCNTL@
-REPLACE_FFLUSH = @REPLACE_FFLUSH@
-REPLACE_FOPEN = @REPLACE_FOPEN@
-REPLACE_FPRINTF = @REPLACE_FPRINTF@
-REPLACE_FPURGE = @REPLACE_FPURGE@
-REPLACE_FREOPEN = @REPLACE_FREOPEN@
-REPLACE_FSEEK = @REPLACE_FSEEK@
-REPLACE_FSEEKO = @REPLACE_FSEEKO@
-REPLACE_FSTAT = @REPLACE_FSTAT@
-REPLACE_FSTATAT = @REPLACE_FSTATAT@
-REPLACE_FTELL = @REPLACE_FTELL@
-REPLACE_FTELLO = @REPLACE_FTELLO@
-REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
-REPLACE_GETCWD = @REPLACE_GETCWD@
-REPLACE_GETDELIM = @REPLACE_GETDELIM@
-REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
-REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
-REPLACE_GETLINE = @REPLACE_GETLINE@
-REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
-REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
-REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
-REPLACE_ICONV = @REPLACE_ICONV@
-REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
-REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
-REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
-REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
-REPLACE_LCHOWN = @REPLACE_LCHOWN@
-REPLACE_LINK = @REPLACE_LINK@
-REPLACE_LINKAT = @REPLACE_LINKAT@
-REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
-REPLACE_LSEEK = @REPLACE_LSEEK@
-REPLACE_LSTAT = @REPLACE_LSTAT@
-REPLACE_MALLOC = @REPLACE_MALLOC@
-REPLACE_MBRLEN = @REPLACE_MBRLEN@
-REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
-REPLACE_MBSINIT = @REPLACE_MBSINIT@
-REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
-REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
-REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
-REPLACE_MBTOWC = @REPLACE_MBTOWC@
-REPLACE_MEMCHR = @REPLACE_MEMCHR@
-REPLACE_MEMMEM = @REPLACE_MEMMEM@
-REPLACE_MKDIR = @REPLACE_MKDIR@
-REPLACE_MKFIFO = @REPLACE_MKFIFO@
-REPLACE_MKNOD = @REPLACE_MKNOD@
-REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
-REPLACE_MKTIME = @REPLACE_MKTIME@
-REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
-REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
-REPLACE_NULL = @REPLACE_NULL@
-REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
-REPLACE_OPEN = @REPLACE_OPEN@
-REPLACE_OPENAT = @REPLACE_OPENAT@
-REPLACE_PERROR = @REPLACE_PERROR@
-REPLACE_POPEN = @REPLACE_POPEN@
-REPLACE_PREAD = @REPLACE_PREAD@
-REPLACE_PRINTF = @REPLACE_PRINTF@
-REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
-REPLACE_PUTENV = @REPLACE_PUTENV@
-REPLACE_PWRITE = @REPLACE_PWRITE@
-REPLACE_READ = @REPLACE_READ@
-REPLACE_READLINK = @REPLACE_READLINK@
-REPLACE_REALLOC = @REPLACE_REALLOC@
-REPLACE_REALPATH = @REPLACE_REALPATH@
-REPLACE_REMOVE = @REPLACE_REMOVE@
-REPLACE_RENAME = @REPLACE_RENAME@
-REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
-REPLACE_RMDIR = @REPLACE_RMDIR@
-REPLACE_SETENV = @REPLACE_SETENV@
-REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
-REPLACE_SLEEP = @REPLACE_SLEEP@
-REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
-REPLACE_SPRINTF = @REPLACE_SPRINTF@
-REPLACE_STAT = @REPLACE_STAT@
-REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
-REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
-REPLACE_STPNCPY = @REPLACE_STPNCPY@
-REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
-REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
-REPLACE_STRDUP = @REPLACE_STRDUP@
-REPLACE_STRERROR = @REPLACE_STRERROR@
-REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
-REPLACE_STRNCAT = @REPLACE_STRNCAT@
-REPLACE_STRNDUP = @REPLACE_STRNDUP@
-REPLACE_STRNLEN = @REPLACE_STRNLEN@
-REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
-REPLACE_STRSTR = @REPLACE_STRSTR@
-REPLACE_STRTOD = @REPLACE_STRTOD@
-REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
-REPLACE_SYMLINK = @REPLACE_SYMLINK@
-REPLACE_TIMEGM = @REPLACE_TIMEGM@
-REPLACE_TMPFILE = @REPLACE_TMPFILE@
-REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
-REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
-REPLACE_UNLINK = @REPLACE_UNLINK@
-REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
-REPLACE_UNSETENV = @REPLACE_UNSETENV@
-REPLACE_USLEEP = @REPLACE_USLEEP@
-REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
-REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
-REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
-REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
-REPLACE_VPRINTF = @REPLACE_VPRINTF@
-REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
-REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
-REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
-REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
-REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
-REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
-REPLACE_WCTOB = @REPLACE_WCTOB@
-REPLACE_WCTOMB = @REPLACE_WCTOMB@
-REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
-REPLACE_WRITE = @REPLACE_WRITE@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
-SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
-SRC_VERSION_C = @SRC_VERSION_C@
-STDARG_H = @STDARG_H@
-STDBOOL_H = @STDBOOL_H@
-STDDEF_H = @STDDEF_H@
-STDINT_H = @STDINT_H@
-STRIP = @STRIP@
-SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
-TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
-UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
-UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
-UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
-UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
-UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
-WERROR_CFLAGS = @WERROR_CFLAGS@
-WINT_T_SUFFIX = @WINT_T_SUFFIX@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-abs_aux_dir = @abs_aux_dir@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gl_LIBOBJS = @gl_LIBOBJS@
-gl_LTLIBOBJS = @gl_LTLIBOBJS@
-gltests_LIBOBJS = @gltests_LIBOBJS@
-gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
-gltests_WITNESS = @gltests_WITNESS@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-lispdir = @lispdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-EXTRA_DIST = config.bat config.sed config.site
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ms/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --gnu ms/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       if test -z '$(STRIP)'; then \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-             install; \
-       else \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-       fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic mostlyclean-am
-
-distclean: distclean-am
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic distclean \
-       distclean-generic distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/ms/README b/ms/README
deleted file mode 100644 (file)
index d2b2bbe..0000000
--- a/ms/README
+++ /dev/null
@@ -1,64 +0,0 @@
-This directory contains files required to build GNU Diffutils on
-MS_DOS and MS-Windows using the DJGPP tools.
-
-To build Diffutils, you will need the following packages:
-
-    . the basic DJGPP development kit: GCC, Binutils, and djdevNNN.zip
-    . a DJGPP port of Bash (bsh204b.zip)
-    . GNU Fileutils (fil40b.zip)
-    . GNU Textutils (txt20b.zip)
-    . GNU Sh-utils (shl112b.zip)
-    . GNU Grep (grep24b.zip)
-    . GNU Awk (gwk306b.zip)
-    . GNU Sed (sed302b.zip)
-    . GNU Make (mak3791b.zip)
-
-The package names in parentheses indicate the oldest version which
-should work; newer versions are okay.  All those packages can be found
-on the usual DJGPP sites, in the v2gnu directory.  Please see
-<http://www.delorie.com/djgpp/getting.html> for a list of DJGPP sites.
-
-The source distribution of Diffutils you find on DJGPP sites comes
-preconfigured for the latest officially released version of the DJGPP
-library, and without NLS support.  If that is what you have installed,
-and if you don't need NLS support in Diffutils, you don't need to run
-the configure script; proceed directly to the "make" step below.
-
-If you are building the official GNU distribution, or your library is
-not the latest official release, or if you modified your headers or
-installed optional libraries, or if you want to have NLS support in
-Diffutils, you will have to reconfigure the package.  To this end,
-after unpacking the sources, chdir to the top-level directory created
-by unpacking, and type this command:
-
-   ms\config [nls]
-
-The "nls" option, if given, will configure the package for NLS
-support.
-
-This will run for a while and create the Makefile's and the config.h
-header file.
-
-Next type "make"; this will build the programs.
-
-To install the package, type "make install".
-
-That's it!
-
------
-Copyright (C) 2001, 2009-2011 Free Software Foundation, Inc.
-
-This file is part of GNU DIFF.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
diff --git a/ms/config.bat b/ms/config.bat
deleted file mode 100644 (file)
index cb66990..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-@echo off\r
-\r
-echo Configuring GNU Diffutils for DJGPP v2.x...\r
-\r
-Rem Copyright (C) 2001, 2009-2011 Free Software Foundation, Inc.\r
-\r
-Rem This program is free software: you can redistribute it and/or modify\r
-Rem it under the terms of the GNU General Public License as published by\r
-Rem the Free Software Foundation, either version 3 of the License, or\r
-Rem (at your option) any later version.\r
-\r
-Rem This program is distributed in the hope that it will be useful,\r
-Rem but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-Rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-Rem GNU General Public License for more details.\r
-\r
-Rem You should have received a copy of the GNU General Public License\r
-Rem along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
-\r
-Rem Written by Eli Zaretskii.\r
-\r
-\r
-Rem The small_env tests protect against fixed and too small size\r
-Rem of the environment in stock DOS shell.\r
-\r
-Rem Find out if NLS is wanted or not,\r
-Rem if dependency-tracking is wanted or not,\r
-Rem if cache is wanted or not\r
-Rem and where the sources are.\r
-set ARGS=\r
-set NLS=disabled\r
-if not "%NLS%" == "disabled" goto small_env\r
-set CACHE=enabled\r
-if not "%CACHE%" == "enabled" goto small_env\r
-set DEPENDENCY_TRACKING=disabled\r
-if not "%DEPENDENCY_TRACKING%" == "disabled" goto small_env\r
-set XSRC=.\r
-if not "%XSRC%" == "." goto small_env\r
-\r
-Rem Loop over all arguments.\r
-Rem Special arguments are: NLS, XSRC CACHE and DEPS.\r
-Rem All other arguments are stored into ARGS.\r
-:arg_loop\r
-set SPECIAL_ARG_SEEN=0\r
-if not "%SPECIAL_ARG_SEEN%" == "0" goto small_env\r
-if "%1" == "NLS" goto nls_on\r
-if not "%1" == "nls" goto CacheOpt\r
-:nls_on\r
-if "%1" == "nls" set NLS=enabled\r
-if "%1" == "NLS" set NLS=enabled\r
-if not "%NLS%" == "enabled" goto small_env\r
-set SPECIAL_ARG_SEEN=1\r
-if not "%SPECIAL_ARG_SEEN%" == "1" goto small_env\r
-shift\r
-:CacheOpt\r
-set SPECIAL_ARG_SEEN=0\r
-if not "%SPECIAL_ARG_SEEN%" == "0" goto small_env\r
-if "%1" == "no-cache" goto cache_off\r
-if "%1" == "no-CACHE" goto cache_off\r
-if not "%1" == "NO-CACHE" goto dependency_opt\r
-:cache_off\r
-if "%1" == "no-cache" set CACHE=disabled\r
-if "%1" == "no-CACHE" set CACHE=disabled\r
-if "%1" == "NO-CACHE" set CACHE=disabled\r
-if not "%CACHE%" == "disabled" goto small_env\r
-set SPECIAL_ARG_SEEN=1\r
-if not "%SPECIAL_ARG_SEEN%" == "1" goto small_env\r
-shift\r
-:dependency_opt\r
-set SPECIAL_ARG_SEEN=0\r
-if not "%SPECIAL_ARG_SEEN%" == "0" goto small_env\r
-if "%1" == "dep" goto dep_off\r
-if not "%1" == "DEP" goto src_dir_opt\r
-:dep_off\r
-if "%1" == "dep" set DEPENDENCY_TRACKING=enabled\r
-if "%1" == "DEP" set DEPENDENCY_TRACKING=enabled\r
-if not "%DEPENDENCY_TRACKING%" == "enabled" goto small_env\r
-set SPECIAL_ARG_SEEN=1\r
-if not "%SPECIAL_ARG_SEEN%" == "1" goto small_env\r
-shift\r
-:src_dir_opt\r
-set SPECIAL_ARG_SEEN=0\r
-if not "%SPECIAL_ARG_SEEN%" == "0" goto small_env\r
-echo %1 | grep -q "/"\r
-if errorlevel 1 goto collect_arg\r
-set XSRC=%1\r
-if not "%XSRC%" == "%1" goto small_env\r
-set SPECIAL_ARG_SEEN=1\r
-if not "%SPECIAL_ARG_SEEN%" == "1" goto small_env\r
-:collect_arg\r
-if "%SPECIAL_ARG_SEEN%" == "0" set _ARGS=%ARGS% %1\r
-if "%SPECIAL_ARG_SEEN%" == "0" if not "%_ARGS%" == "%ARGS% %1" goto small_env\r
-echo %_ARGS% | grep -q "[^ ]"\r
-if not errorlevel 0 set ARGS=%_ARGS%\r
-set _ARGS=\r
-shift\r
-if not "%1" == "" goto arg_loop\r
-set SPECIAL_ARG_SEEN=\r
-\r
-Rem Create a response file for the configure script.\r
-echo --srcdir=%XSRC% > arguments\r
-if "%CACHE%" == "enabled"                echo --config-cache >> arguments\r
-if "%DEPENDENCY_TRACKING%" == "enabled"  echo --enable-dependency-tracking >> arguments\r
-if "%DEPENDENCY_TRACKING%" == "disabled" echo --disable-dependency-tracking >> arguments\r
-if not "%ARGS%" == ""                    echo %ARGS% >> arguments\r
-set ARGS=\r
-set CACHE=\r
-set DEPENDENCY_TRACKING=\r
-\r
-if "%XSRC%" == "." goto in_place\r
-\r
-:not_in_place\r
-redir -e /dev/null update %XSRC%/configure.orig ./configure\r
-test -f ./configure\r
-if errorlevel 1 update %XSRC%/configure ./configure\r
-\r
-:in_place\r
-Rem Update configuration files\r
-echo Updating configuration scripts...\r
-test -f ./configure.orig\r
-if errorlevel 1 update configure configure.orig\r
-sed -f %XSRC%/ms/config.sed configure.orig > configure\r
-if errorlevel 1 goto sed_error\r
-\r
-Rem Make sure they have a config.site file\r
-set CONFIG_SITE=%XSRC%/ms/config.site\r
-if not "%CONFIG_SITE%" == "%XSRC%/ms/config.site" goto small_env\r
-\r
-Rem Make sure crucial file names are not munged by unpacking\r
-test -f %XSRC%/po/Makefile.in.in\r
-if not errorlevel 1 mv -f %XSRC%/po/Makefile.in.in %XSRC%/po/Makefile.in-in\r
-test -f %XSRC%/m4/Makefile.am.in\r
-if not errorlevel 1 mv -f %XSRC%/m4/Makefile.am.in %XSRC%/m4/Makefile.am-in\r
-\r
-Rem This is required because DOS/Windows are case-insensitive\r
-Rem to file names, and "make install" will do nothing if Make\r
-Rem finds a file called `install'.\r
-if exist INSTALL ren INSTALL INSTALL.txt\r
-\r
-Rem Set HOME to a sane default so configure stops complaining.\r
-if not "%HOME%" == "" goto HostName\r
-set HOME=%XSRC%/ms\r
-if not "%HOME%" == "%XSRC%/ms" goto small_env\r
-echo No HOME found in the environment, using default value\r
-\r
-:HostName\r
-Rem Set HOSTNAME so it shows in config.status\r
-if not "%HOSTNAME%" == "" goto hostdone\r
-if "%windir%" == "" goto msdos\r
-set OS=MS-Windows\r
-if not "%OS%" == "MS-Windows" goto small_env\r
-goto haveos\r
-:msdos\r
-set OS=MS-DOS\r
-if not "%OS%" == "MS-DOS" goto small_env\r
-:haveos\r
-if not "%USERNAME%" == "" goto haveuname\r
-if not "%USER%" == "" goto haveuser\r
-echo No USERNAME and no USER found in the environment, using default values\r
-set HOSTNAME=Unknown PC\r
-if not "%HOSTNAME%" == "Unknown PC" goto small_env\r
-goto userdone\r
-:haveuser\r
-set HOSTNAME=%USER%'s PC\r
-if not "%HOSTNAME%" == "%USER%'s PC" goto small_env\r
-goto userdone\r
-:haveuname\r
-set HOSTNAME=%USERNAME%'s PC\r
-if not "%HOSTNAME%" == "%USERNAME%'s PC" goto small_env\r
-:userdone\r
-set _HOSTNAME=%HOSTNAME%, %OS%\r
-if not "%_HOSTNAME%" == "%HOSTNAME%, %OS%" goto small_env\r
-set HOSTNAME=%_HOSTNAME%\r
-:hostdone\r
-set _HOSTNAME=\r
-set OS=\r
-\r
-Rem install-sh is required by the configure script but clashes with the\r
-Rem various Makefile install-foo targets, so we MUST have it before the\r
-Rem script runs and rename it afterwards\r
-test -f %XSRC%/install-sh\r
-if not errorlevel 1 goto no_ren0\r
-test -f %XSRC%/install-sh.sh\r
-if not errorlevel 1 mv -f %XSRC%/install-sh.sh %XSRC%/install-sh\r
-:no_ren0\r
-\r
-if "%NLS%" == "disabled" goto without_NLS\r
-\r
-:with_NLS\r
-Rem Check for the needed libraries and binaries.\r
-test -x /dev/env/DJDIR/bin/msgfmt.exe\r
-if not errorlevel 0 goto missing_NLS_tools\r
-test -x /dev/env/DJDIR/bin/xgettext.exe\r
-if not errorlevel 0 goto missing_NLS_tools\r
-test -f /dev/env/DJDIR/include/libcharset.h\r
-if not errorlevel 0 goto missing_NLS_tools\r
-test -f /dev/env/DJDIR/lib/libcharset.a\r
-if not errorlevel 0 goto missing_NLS_tools\r
-test -f /dev/env/DJDIR/include/iconv.h\r
-if not errorlevel 0 goto missing_NLS_tools\r
-test -f /dev/env/DJDIR/lib/libiconv.a\r
-if not errorlevel 0 goto missing_NLS_tools\r
-test -f /dev/env/DJDIR/include/libintl.h\r
-if not errorlevel 0 goto missing_NLS_tools\r
-test -f /dev/env/DJDIR/lib/libintl.a\r
-if not errorlevel 0 goto missing_NLS_tools\r
-\r
-Rem Recreate the files in the %XSRC%/po subdir with our ported tools.\r
-redir -e /dev/null rm %XSRC%/po/*.gmo\r
-redir -e /dev/null rm %XSRC%/po/diffutil*.pot\r
-redir -e /dev/null rm %XSRC%/po/cat-id-tbl.c\r
-redir -e /dev/null rm %XSRC%/po/stamp-cat-id\r
-\r
-Rem Update the arguments file for the configure script.\r
-Rem We prefer without-included-gettext because libintl.a from gettext package\r
-Rem is the only one that is guaranteed to have been ported to DJGPP.\r
-echo --enable-nls --without-included-gettext >> arguments\r
-goto configure_package\r
-\r
-:missing_NLS_tools\r
-echo Needed libs/tools for NLS not found. Configuring without NLS.\r
-:without_NLS\r
-Rem Update the arguments file for the configure script.\r
-echo --disable-nls >> arguments\r
-\r
-:configure_package\r
-echo Running the ./configure script...\r
-sh ./configure @arguments\r
-if errorlevel 1 goto cfg_error\r
-rm arguments\r
-echo Done.\r
-goto End\r
-\r
-:sed_error\r
-echo ./configure script editing failed!\r
-goto End\r
-\r
-:cfg_error\r
-echo ./configure script exited abnormally!\r
-goto End\r
-\r
-:small_env\r
-echo Your environment size is too small.  Enlarge it and run me again.\r
-echo Configuration NOT done!\r
-\r
-:End\r
-test -f %XSRC%/install-sh.sh\r
-if not errorlevel 1 goto no_ren1\r
-test -f %XSRC%/install-sh\r
-if not errorlevel 1 mv -f %XSRC%/install-sh %XSRC%/install-sh.sh\r
-:no_ren1\r
-if "%HOME%" == "%XSRC%/ms" set HOME=\r
-set ARGS=\r
-set CONFIG_SITE=\r
-set HOSTNAME=\r
-set NLS=\r
-set CACHE=\r
-set DEPENDENCY_TRACKING=\r
-set XSRC=\r
diff --git a/ms/config.sed b/ms/config.sed
deleted file mode 100644 (file)
index 8dffee3..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-# Additional editing of Makefiles and of config.status
-
-# Copyright (C) 2001-2002, 2009-2011 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Written by Eli Zaretskii.
-
-
-/(echo[         ]*':t/ a\
-# DJGPP specific Makefile changes.\
-  /^aliaspath *        *=/s,:,";",g;t t\
-  /TEXINPUTS=/s,:,";",g;t t\
-  /PATH=/s,:,";",g;t t\
-  s,\\.deps,_deps,g;t t\
-  s,\\.new\\.,_new.,g;t t\
-  s,\\.old\\.,_old.,g;t t\
-  s,\\.tab\\.,_tab.,g;t t\
-  s,Makefile\\.in\\.in,Makefile.in-in,g;t t\
-  s,Makefile\\.am\\.in,Makefile.am-in,g;t t\
-  /^install-info-am:/,/^$/ {\
-    /@list=.\\\$(INFO_DEPS)\[^ \]/s,DEPS),& diff.i,\
-    s,\\(\\\$\\\$d/\\\$\\\$file-\\[0-9\\]\\[0-9\\]\\)\\(\[^ \]\\),\\1 \\$\\$d/\\$\\$file[0-9] \\$\\$d/\\$\\$file[0-9][0-9]\\2,\
-    s,\\( \\\$\\\$file-\\[0-9\\]\\[0-9\\]\\)\\(\[^ \]\\),\\1 \\$\\$file[0-9] \\$\\$file[0-9][0-9]\\2,\
-  }\
-  /^uninstall-info-am:/,/^$/ {\
-    /@list=.\\\$(INFO_DEPS)\[^ \]/s,DEPS),& diff.i,\
-    s,\\(file-\\[0-9\\]\\[0-9\\]\\)\\(\[^ \]\\),\\1 \\$\\$file[0-9] \\$\\$file[0-9][0-9]\\2,\
-  }
-
-# Makefile.in.in is renamed to Makefile.in-in.
-/^ac_config_files=/,/_ACEOF/ {
-  s|po/Makefile\.in|&:po/Makefile.in-in|
-}
-/CONFIG_FILES=/ s|po/Makefile\.in|&:po/Makefile.in-in|2
-
-# We always use _deps instead of .deps, because the latter is an
-# invalid name on 8+3 MS-DOS file system.  This makes the generated
-# Makefiles good for every DJGPP installation, not only the one
-# where the package was configured (which could happen to be a
-# Windows box, where leading dots in file names are allowed).
-s,\.deps,_deps,g
-
-# The following two items are changes needed for configuring
-# and compiling across partitions.
-# The given srcdir value is always translated from the
-# "x:" syntax into "/dev/x" syntax while we run configure.
-/^[     ]*-srcdir=\*.*$/ a\
-    ac_optarg=`echo "$ac_optarg" | sed "s,^\\([A-Za-z]\\):,/dev/\\1,"`
-/set X `ls -Lt \$srcdir/ i\
-   if `echo $srcdir | grep "^/dev/" - > /dev/null`; then\
-     srcdir=`echo "$srcdir" | sed -e "s%^/dev/%%" -e "s%/%:/%"`\
-   fi
-
-# Autoconf 2.52e generated configure scripts write absolute paths into
-# Makefiles, making them useless for DJGPP installations other than the
-# one for which the package has been configured.
-/MISSING=/,/^$/ {
-  /^fi$/ a\
-am_missing_run=`echo "$am_missing_run" | sed 's%/dev.*/diffutil.*[-.]2.*[7-9].*[0-9]%${top_srcdir}%'`
-}
-/^install_sh=/a\
-install_sh=`echo "$install_sh" | sed 's%/dev.*/diffutil.*[-.]2.*[7-9].*[0-9]%${top_srcdir}%'`
-
-
-# The following makes sure we are not going to remove a directory
-# which is the cwd on its drive (DOS doesn't allow to remove such
-# a directory).  The trick is to chdir to the root directory on
-# temp directory's drive.
-/^ *trap 'exit_status=\$\?; rm -rf/s%rm -rf%cd $tmp; cd /; &%
-
-# AC_CONFIG_LINKS fails if the source and destination are on
-# different file systems and symlinks don't work.
-/^    ln \$srcdir/s%||%|| cp -pf $srcdir/$ac_source $ac_dest ||%
diff --git a/ms/config.site b/ms/config.site
deleted file mode 100644 (file)
index 80a475a..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-#! /bin/sh
-# Site defaults for the DJGPP configuration
-
-# Copyright (C) 2001, 2009-2011 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Written by Eli Zaretskii.
-
-
-# These two variables are required, otherwise looking for
-# programs along the PATH will not work.
-PATH_SEPARATOR=:
-PATH_EXPAND=y
-
-# This is required in for "test -f foo" to find foo.exe.
-export TEST_FINDS_EXE=y
-
-# The root of the DJGPP tree serves as the default prefix
-# for all paths that are hardcoded in the binaries.
-# When installing the installation prefix must be supplied.
-test "x$prefix" = xNONE && prefix='/dev/env/DJDIR'
-
-# This is required for config.status script to be run, since
-# ./configure runs it by invoking ${CONFIG_SHELL-/bin/sh}
-# CONFIG_SHELL=${CONFIG_SHELL='sh'}
-
-# These are set here so the generated Makefile's will be good
-# for every DJGPP installation, not only the one where the
-# package was configured.
-# $INSTALL must be an absolute path name, otherwise config.status
-# will try to prepend ./ and ../ to it when it goes into subdirs.
-INSTALL=${INSTALL='/dev/env/DJDIR/bin/ginstall -c'}
-RANLIB=${RANLIB='ranlib'}
-GMSGFMT=${GMSGFMT='/dev/env/DJDIR/bin/msgfmt'}
-MSGFMT=${MSGFMT='/dev/env/DJDIR/bin/msgfmt'}
-XGETTEXT=${XGETTEXT='/dev/env/DJDIR/bin/xgettext'}
-
-# Sane defaults for standard programs compiled into the package that
-# we are about to build.  Use .exe extension so that library functions
-# invoking these programs will provide a better diagnostics when a
-# program is not found: the library won't need to call the stock DOS
-# shell, which always returns a zero status, even if it doesn't find
-# the program.
-ac_cv_path_PR_PROGRAM=${PR_PROGRAM='/dev/env/DJDIR/bin/pr.exe'}
-
-# Sane defaults for standard programs used by the build process.
-# We force the values of these variables so that the resultant
-# Makefile's will work on any DJGPP platform, not only on the
-# machine where the package was configured.
-ac_cv_prog_AWK=${AWK='gawk'}
-ac_cv_prog_INTLBISON=${INTLBISON='bison'}
-ac_cv_prog_CC=${CC='gcc'}
-
-# These are set here so the generated libtool/Makefile's will
-# be good for every DJGPP installation, not only the one where
-# the package was configured.
-NM=${NM='nm'}
-LD=${LD='ld'}
-MAKEINFO=${MAKEINFO='makeinfo'}
-
-# Force the test for 'ln -s' to report 'cp -pf'.
-ac_cv_prog_LN_S='cp -pf'
-
-# We have `fork', but it always fails.  Don't trust Autoconf to be
-# smart enough to detect that...
-ac_cv_func_fork=no
index e6132b5..fff5e49 100644 (file)
@@ -10,6 +10,7 @@ fr
 ga
 gl
 he
+hr
 hu
 id
 it
index be0ca59..fce63a6 100644 (file)
@@ -1,7 +1,5 @@
-# -*- buffer-read-only: t -*- vi: set ro:
-# DO NOT EDIT! GENERATED AUTOMATICALLY!
 # Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2007 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
 #
 # This file can be copied and used freely without restrictions.  It can
 # be used in projects which are not available under the GNU General Public
@@ -10,8 +8,8 @@
 # Please note that the actual code of GNU gettext is covered by the GNU
 # General Public License and is *not* in the public domain.
 #
-# Origin: gettext-0.17
-GETTEXT_MACRO_VERSION = 0.17
+# Origin: gettext-0.18.2
+GETTEXT_MACRO_VERSION = 0.18
 
 PACKAGE = @PACKAGE@
 VERSION = @VERSION@
@@ -90,22 +88,22 @@ CATALOGS = @CATALOGS@
 .po.gmo:
        @lang=`echo $* | sed -e 's,.*/,,'`; \
        test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-       echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
-       cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+       echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \
+       cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
 
 .sin.sed:
        sed -e '/^#/d' $< > t-$@
        mv t-$@ $@
 
 
-all: check-macro-version all-@USE_NLS@
+all: all-@USE_NLS@
 
 all-yes: stamp-po
 all-no:
 
 # Ensure that the gettext macros and this Makefile.in.in are in sync.
-check-macro-version:
-       @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
+CHECK_MACRO_VERSION = \
+       test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
          || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
               exit 1; \
             }
@@ -125,6 +123,7 @@ check-macro-version:
 # $(POFILES) has been designed to not touch files that don't need to be
 # changed.
 stamp-po: $(srcdir)/$(DOMAIN).pot
+       @$(CHECK_MACRO_VERSION)
        test ! -f $(srcdir)/$(DOMAIN).pot || \
          test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
        @test ! -f $(srcdir)/$(DOMAIN).pot || { \
@@ -139,8 +138,16 @@ stamp-po: $(srcdir)/$(DOMAIN).pot
 
 # This target rebuilds $(DOMAIN).pot; it is an expensive operation.
 # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+# The determination of whether the package xyz is a GNU one is based on the
+# heuristic whether some file in the top level directory mentions "GNU xyz".
+# If GNU 'find' is available, we avoid grepping through monster files.
 $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
-       if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \
+       if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
+              LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f -size -10000000c -exec grep 'GNU @PACKAGE@' /dev/null '{}' ';' 2>/dev/null; \
+            else \
+              LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
+            fi; \
+          } | grep -v 'libtool:' >/dev/null; then \
          package_gnu='GNU '; \
        else \
          package_gnu=''; \
@@ -195,8 +202,15 @@ $(POFILES): $(srcdir)/$(DOMAIN).pot
        @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
        if test -f "$(srcdir)/$${lang}.po"; then \
          test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-         echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
-         cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
+         echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+         cd $(srcdir) \
+           && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+                  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+                  *) \
+                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+                esac; \
+              }; \
        else \
          $(MAKE) $${lang}.po-create; \
        fi
@@ -219,7 +233,6 @@ install-data: install-data-@USE_NLS@
        fi
 install-data-no: all
 install-data-yes: all
-       $(mkdir_p) $(DESTDIR)$(datadir)
        @catalogs='$(CATALOGS)'; \
        for cat in $$catalogs; do \
          cat=`basename $$cat`; \
@@ -271,7 +284,6 @@ installdirs-data: installdirs-data-@USE_NLS@
        fi
 installdirs-data-no:
 installdirs-data-yes:
-       $(mkdir_p) $(DESTDIR)$(datadir)
        @catalogs='$(CATALOGS)'; \
        for cat in $$catalogs; do \
          cat=`basename $$cat`; \
@@ -397,9 +409,15 @@ update-po: Makefile
        tmpdir=`pwd`; \
        echo "$$lang:"; \
        test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-       echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+       echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
        cd $(srcdir); \
-       if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
+       if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+              '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+                $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+              *) \
+                $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+            esac; \
+          }; then \
          if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
            rm -f $$tmpdir/$$lang.new.po; \
          else \
@@ -420,9 +438,13 @@ $(DUMMYPOFILES):
 update-gmo: Makefile $(GMOFILES)
        @:
 
+# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
+# because execution permission bits may not work on the current file system.
+# Use @SHELL@, which is the shell determined by autoconf for the use by its
+# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
 Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
        cd $(top_builddir) \
-         && $(SHELL) ./config.status $(subdir)/$@.in po-directories
+         && @SHELL@ ./config.status $(subdir)/$@.in po-directories
 
 force:
 
index 3a6203f..25d84bf 100644 (file)
@@ -1,5 +1,3 @@
-# -*- buffer-read-only: t -*- vi: set ro:
-# DO NOT EDIT! GENERATED AUTOMATICALLY!
 # Makefile variables for PO directory in any package using GNU gettext.
 
 # Usually the message domain is the same as the package name.
@@ -52,3 +50,15 @@ MSGID_BUGS_ADDRESS = bug-diffutils@gnu.org
 # This is the list of locale categories, beyond LC_MESSAGES, for which the
 # message catalogs shall be used.  It is usually empty.
 EXTRA_LOCALE_CATEGORIES = 
+
+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
+# context.  Possible values are "yes" and "no".  Set this to yes if the
+# package uses functions taking also a message context, like pgettext(), or
+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
+USE_MSGCTXT = no
+
+# These options get passed to msgmerge.
+# Useful options are in particular:
+#   --previous            to keep previous msgids of translated messages,
+#   --quiet               to reduce the verbosity.
+MSGMERGE_OPTIONS =
index c829fcb..b6764e6 100644 (file)
@@ -1,6 +1,6 @@
 # List of files that contain translatable strings.
 
-# Copyright (C) 2001-2002, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2002, 2009-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
index 9c2a995..d2ac20d 100644 (file)
@@ -14,13 +14,13 @@ en@boldquot.po-update: en@boldquot.po-update-en
 
 .insert-header.po-update-en:
        @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
-       if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
+       if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
        tmpdir=`pwd`; \
        echo "$$lang:"; \
        ll=`echo $$lang | sed -e 's/@.*//'`; \
        LC_ALL=C; export LC_ALL; \
        cd $(srcdir); \
-       if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
+       if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
          if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
            rm -f $$tmpdir/$$lang.new.po; \
          else \
index 7096d7e..493c341 100644 (file)
Binary files a/po/ca.gmo and b/po/ca.gmo differ
index 052dea0..0cd12d8 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: diffutils 2.8.7\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2004-04-21 13:33+0200\n"
 "Last-Translator: Ernest Adrogué Calveras <eadrogue@gmx.net>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
@@ -24,7 +24,7 @@ msgstr "error del programa"
 msgid "stack overflow"
 msgstr "desbordament de pila"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Error no identificat del sistema"
 
@@ -137,101 +137,103 @@ msgstr "%s: l'opci
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Succés"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Cap resultat"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "L'expressió regular no és vàlida"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "El caràcter de col·lació no és vàlid"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "El nom de la classe de caràcter no és vàlid"
 
 # al final o al principi? eac
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Hi ha una barra invertida al final"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Hi ha una referència cap enrera no vàlida"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "Hi ha un signe [ o ^[ desaparellat"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "Hi ha un signe ( o \\( desaparellat"
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "Hi ha un signe \\{ desaparellat"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "El contingut de \\{\\} no és vàlid"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "El límit superior de l'interval no vàlid"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Memòria exhaurida"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "L'expressió regular precedent no és vàlida"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Final prematur de l'expressió regular"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "L'expressió regular és massa gran"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "Hi ha un signe ) o \\) desaparellat"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "No hi ha cap expressió regular prèvia"
 
@@ -263,17 +265,17 @@ msgstr ""
 
 #: lib/xstrtol-error.c:63
 #, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "el valor «%s» per l'opció --bytes no és vàlid"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "el nombre de línies d'horitzó «%s» no és vàlid"
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr ""
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr ""
 
 #: lib/version-etc.c:74
@@ -441,7 +443,7 @@ msgstr ""
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Els fitxers %s i %s difereixen\n"
@@ -451,7 +453,7 @@ msgstr "Els fitxers %s i %s difereixen\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "Els fitxers %s i %s difereixen\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "No hi ha cap caràcter de salt de línia al final del fitxer"
 
@@ -465,14 +467,14 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr ""
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "Proveu «%s --help» per obtenir més informació."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "el valor «%s» per l'opció --ignore-initial no és vàlid"
 
 #: src/cmp.c:147
@@ -480,14 +482,14 @@ msgstr "el valor 
 msgid "options -l and -s are incompatible"
 msgstr "les opcions -l i -s són incompatibles"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "error d'escriptura"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "sortida estàndard"
 
@@ -550,7 +552,7 @@ msgid ""
 msgstr ""
 "SALT1 i SALT2 són el nombre d'octets que es passen per alt de cada fitxer."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -566,28 +568,29 @@ msgstr ""
 "1.000.000.000, G per 1.073.741.824, i així amb T, P, E, Z i Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "Si un FITXER és «-» o falta, llegeix l'entrada estàndard."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "L'estat de sortida és 0 si les entrades són iguals, 1 si són diferents\n"
 "i 2 en cas d'error."
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "el valor «%s» per l'opció --bytes no és vàlid"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "falta un operand després de «%s»"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "sobra l'operand «%s»"
 
 # mirar el comentari del codi font
@@ -607,161 +610,158 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: final de fitxer a %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr ""
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "el nombre de línies de context «%s» no és vàlid"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "aquest sistema no suporta paginació"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "massa opcions d'etiqueta de fitxer"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "l'amplada «%s» no és vàlida"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "opcions d'amplada incompatibles"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "el nombre de línies d'horitzó «%s» no és vàlid"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "la distància de tabulació «%s» no és vàlida"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "opcions de distància de tabulació incompatibles"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "heu especificat les opcions --from-file i --to-file al mateix temps"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal  Genera un diff normal."
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q  --brief  Indica només si els fitxers difereixen o no."
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files  Avisa quan dos fitxers són idèntics."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w NÚM  --width=NÚM  No més de NÚM (130 per omissió) caràcters per línia."
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 "-w NÚM  --width=NÚM  No més de NÚM (130 per omissió) caràcters per línia."
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Tracta tots els fitxers com a text."
+msgstr "-e  --ed  Genera un script ed."
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs  Genera un diff en format RCS."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  Mostra la versió del programa."
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
 "-w NÚM  --width=NÚM  No més de NÚM (130 per omissió) caràcters per línia."
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr ""
 "-l  --left-column  Només escriu les línies en comú a la columna esquerra."
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  No mostra les línies en comú."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Expandeix les tabulacions de la sortida a espais."
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
 "-T  --initial-tab  Alinea el text de cada línia amb un caràcter de tabulació."
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
@@ -769,36 +769,40 @@ msgstr ""
 "--tabsize=NÚM  Estableix la distància de tabulació en NÚM (8 per omissió)\n"
 "               caràcters."
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr "-l  --paginate  Pagina la sortida amb el programa «pr»."
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr ""
 "-r  --recursive  Compara recursivament qualsevol subdirectori existent."
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N  --new-file  Considera els fitxers inexistents com si fóssin buits."
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 "--unidirectional-new-file  Tracta els fitxers primers inexistents com si\n"
 "                           fóssin buits."
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
@@ -806,19 +810,19 @@ msgstr ""
 "en\n"
 "                         els noms dels fitxers."
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "--no-ignore-file-name-case  Té en compte diferències entre majúscules i\n"
 "                            minúscules en comparar noms de fitxers."
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr "-x PAT  --exclude=PAT  Exclou fitxers que coincideixen amb PAT."
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
@@ -826,7 +830,7 @@ msgstr ""
 "-X FITXER  --exclude-from=FITXER  Exclou fitxers que coincideixen amb\n"
 "                                  qualsevol patró de FITXER."
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
@@ -834,7 +838,7 @@ msgstr ""
 "-S FITXER  --starting-file=FITXER  Comença per FITXER quan es comparen\n"
 "                                   directoris."
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -843,7 +847,7 @@ msgstr ""
 "--from-file=FITXER1  Compara FITXER1 amb tots els operands. FITXER1 pot ser\n"
 "                     un directori."
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -852,105 +856,106 @@ msgstr ""
 "--to-file=FITXER1  Compara tots els operands amb FITXER2. FITXER2 pot ser\n"
 "                   un directori."
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr "-i  --ignore-case  Ignora diferències entre majúscules i minúscules."
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Ignora canvis provocats per la distància de\n"
 "                            tabulació."
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-space  Ignora tot l'espai en blanc."
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr ""
 "-b  --ignore-space-change  Ignora canvis en la quantitat d'espai en blanc."
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space  Ignora tot l'espai en blanc."
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr "-B  --ignore-blank-lines  Ignora canvis en línies que estan en blanc."
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I ER  --ignore-matching-lines=ER  Ignora canvis en línies que continguin ER."
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text  Tracta tots els fitxers com a text."
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr ""
 "--strip-trailing-cr  Treu els caràcters finals de retorn de carro de "
 "l'entrada."
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary  Escriu i llegeix dades en mode binari."
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D NOM  --ifdef=NOM  Genera un fitxer combinat amb diferències expressades\n"
 "                      amb directives `#ifdef NOM'."
 
 # `grups' o `grups de línies' (no queda prou clar)
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "--TIPUSG-group-format=FMTG  Similar, però formata els grups TIPUSG amb FMTG."
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr "--line-format=FMTL  Similar, però formata totes les línies amb FMTL."
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "--TIPUSL-line-format=FMTL  Similar, però formata les línies TIPUSL amb FMTL."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  TIPUSL pot ser «old» (velles), «new» (noves), o "
 "«unchanged» (inalterades).\n"
 "  TIPUSG pot ser qualsevol TIPUSL o bé «changed» (alterades)."
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -980,7 +985,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -994,7 +999,7 @@ msgstr ""
 "    %[-][AMPLADA][.[PRECISIÓ]]{doxX}n  espec. estil printf pel nombre de "
 "línia"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -1008,17 +1013,17 @@ msgstr ""
 "    %c'C'  el caràcter C\n"
 "    %c'\\OOO'  el caràcter de codi octal OOO"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Intenta trobar canvis mínims."
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr "--horizon-lines=NÚM  No descarta NÚM línies amb prefix i sufix comú."
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
@@ -1026,77 +1031,85 @@ msgstr ""
 "-H  --speed-large-files  Assumeix fitxers grans i molts canvis petits "
 "dispersos."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version  Mostra la versió del programa."
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "FITXERS és «FITXER1 FITXER2» o «DIR1 DIR2» o «DIR FITXER...» o «FITXER... "
 "DIR»."
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
 "Amb les opcions --from-file o --to-file no hi ha restriccions de FITXERS."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "Si FITXER és «-», llegeix l'entrada estàndard."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Mode d'ús: %s [OPCIÓ]... FITXERS\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "Compara fitxers línia per línia."
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "el valor «%s» per l'opció %s és conflictiu"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "opcions d'estil de sortida conflictives"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Només a %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "no es pot comparar «-» amb un directori"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "l'opció -D no funciona amb directoris"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Subdirectoris comuns: %s i %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "El fitxer %s és un %s mentre que el fitxer %s és un %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Els fitxers %s i %s difereixen\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Els fitxers %s i %s són idèntics\n"
@@ -1112,11 +1125,12 @@ msgid "incompatible options"
 msgstr "opcions incompatibles"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "heu especificat «-» per més d'un fitxer d'entrada"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "lectura fallida"
 
@@ -1157,16 +1171,12 @@ msgid ""
 msgstr "-x  --overlap-only  Mostra els canvis solapats."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap  Mostra els canvis no comuns, senyalant els conflictes "
-"amb\n"
-"                    separadors."
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "-i  Afegeix les instruccions «w» i «q» a l'script ed."
 
 #: src/diff3.c:438
@@ -1205,9 +1215,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Tracta tots els fitxers com a text."
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1260,30 +1269,30 @@ msgstr "error intern: tipus de diff inv
 msgid "invalid diff format; invalid change separator"
 msgstr "el format diff no és vàlid: el separador de canvis no és vàlid"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "el format diff no és vàlid: l'última línia està incompleta"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "no s'ha pogut invocar el programa subsidiari «%s»"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "el format diff no és vàlid: caràcters invàlids al principi de línia"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "error intern: tipus de diff no vàlid passat a la sortida"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "el fitxer d'entrada s'ha encongit"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "no es poden comparar els noms de fitxer «%s» i «%s»"
 
 #: src/dir.c:209
@@ -1296,7 +1305,7 @@ msgstr ""
 msgid "Thomas Lord"
 msgstr ""
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
@@ -1304,78 +1313,84 @@ msgstr ""
 "-o FITXER  --output=FITXER  Opera interactivament, i envia la sortida a "
 "FITXER."
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i  --ignore-case  No distingeix entre majúscules i minúscules."
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Ignora canvis provocats per la distància de\n"
 "                            tabulació."
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-space  Ignora tot l'espai en blanc."
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr ""
 "-b  --ignore-space-change  Ignora canvis en la quantitat d'espai en blanc."
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  Ignora tot l'espai en blanc."
+msgstr "-W  --ignore-all-space  Ignora tot l'espai en blanc."
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr "-B  --ignore-blank-lines  Ignora canvis en línies que estan en blanc."
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I ER  --ignore-matching-lines=ER  Ignora canvis en línies que continguin ER."
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr ""
 "--strip-trailing-cr  Treu els caràcters finals de retorn de carro de "
 "l'entrada."
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text  Tracta tots els fitxers com a text."
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 "-w NÚM  --width=NÚM  No més de NÚM (130 per omissió) caràcters per línia."
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr ""
 "-l  --left-column  Només escriu les línies en comú a la columna esquerra."
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  No mostra les línies en comú."
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Expandeix les tabulacions de la sortida a espais."
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
@@ -1383,12 +1398,12 @@ msgstr ""
 "--tabsize=NÚM  Estableix la distància de tabulació en NÚM (8 per omissió)\n"
 "               caràcters."
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Intenta trobar canvis mínims."
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
@@ -1396,40 +1411,39 @@ msgstr ""
 "-H  --speed-large-files  Assumeix fitxers grans i molts canvis petits "
 "dispersos."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr "--diff-program=PROGRAMA  Usa PROGRAMA per comparar fitxers."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Tracta tots els fitxers com a text."
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version  Mostra la versió del programa."
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Mode d'ús: %s [OPCIÓ]... FITXER1 FITXER2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Combina diferències entre fitxers en dues columnes"
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "no es pot combinar interactivament l'entrada estàndard"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "ambdós fitxers són directoris"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 #, fuzzy
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
@@ -1454,6 +1468,20 @@ msgstr ""
 "v:\tInclou les línies comunes i informa amb loquacitat\n"
 "q:\tSurt.\n"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: opció il·legal -- %c\n"
+
+#~ msgid ""
+#~ "This is free software; see the source for copying conditions.  There is "
+#~ "NO\n"
+#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
+#~ "PURPOSE.\n"
+#~ msgstr ""
+#~ "Això és programari lliure; vegeu el codi font per les condicions de "
+#~ "còpia. No\n"
+#~ "hi ha CAP garantia, ni tan sols de COMERCIABILITAT o ADEQUACIÓ A UN "
+#~ "PROPÒSIT.\n"
+
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i SALT1:SALT2  --ignore-initial=SALT1:SALT2"
 
@@ -1461,55 +1489,24 @@ msgstr ""
 #~ msgstr ""
 #~ "-s  --quiet  --silent  No mostra res; torna l'estat de sortida i prou."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  Mostra la versió del programa."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  Mostra aquesta ajuda."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Compara tres fitxers línia per línia."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr ""
-#~ "-E  --ignore-tab-expansion  Ignora canvis provocats per la distància de\n"
-#~ "                            tabulació."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr ""
-#~ "-b  --ignore-space-change  Ignora canvis en la quantitat d'espai en blanc."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Ignora tot l'espai en blanc."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr ""
-#~ "-B  --ignore-blank-lines  Ignora canvis en línies que estan en blanc."
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
+#~ msgstr "Comuniqueu errors a <bug-gnu-utils@gnu.org>."
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr ""
-#~ "--strip-trailing-cr  Treu els caràcters finals de retorn de carro de "
-#~ "l'entrada."
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "l'opció «-%ld» és obsoleta; useu «-%c %ld»"
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Tracta tots els fitxers com a text."
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "l'opció «-%ld» és obsoleta; eviteu-la"
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1523,10 +1520,6 @@ msgstr ""
 #~ "  -F ER  --show-function-line=ER  Mostra la línia més recent que "
 #~ "contingui ER."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Genera un script ed."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1539,40 +1532,12 @@ msgstr ""
 #~ "  --left-column  Només mostra les línies en comú a la columna esquerra.\n"
 #~ "  --suppress-common-lines  No mostra les línies en comú."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr ""
-#~ "-t  --expand-tabs  Expandeix les tabulacions de la sortida a espais."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr ""
-#~ "-T  --initial-tab  Alinea el text de cada línia amb un caràcter de "
-#~ "tabulació."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr ""
-#~ "--tabsize=NÚM  Estableix la distància de tabulació en NÚM (8 per "
-#~ "omissió)\n"
-#~ "               caràcters."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  Intenta trobar canvis mínims."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files  Assumeix fitxers grans i molts canvis petits "
 #~ "dispersos."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr ""
-#~ "-A  --show-all  Mostra tots els canvis, senyalant els conflictes amb "
-#~ "separadors."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "-X  Mostra els canvis solapats, amb separadors."
 
@@ -1586,79 +1551,6 @@ msgstr ""
 #~ msgstr ""
 #~ "-L ETIQUETA  --label=ETIQUETA  Usa ETIQUETA en lloc del nom del fitxer."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr "--diff-program=PROGRAMA  Usa PROGRAMA per comparar fitxers."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Ignora tot l'espai en blanc."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w NÚM  --width=NÚM  No més de NÚM (130 per omissió) caràcters per línia."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr ""
-#~ "-l  --left-column  Només escriu les línies en comú a la columna esquerra."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  Assumeix fitxers grans i molts canvis petits "
-#~ "dispersos."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "lectura fallida"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "error d'escriptura"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "lectura fallida"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "lectura fallida"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "error d'escriptura"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "error d'escriptura"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: opció il·legal -- %c\n"
-
-#~ msgid ""
-#~ "This is free software; see the source for copying conditions.  There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-#~ msgstr ""
-#~ "Això és programari lliure; vegeu el codi font per les condicions de "
-#~ "còpia. No\n"
-#~ "hi ha CAP garantia, ni tan sols de COMERCIABILITAT o ADEQUACIÓ A UN "
-#~ "PROPÒSIT.\n"
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr "Comuniqueu errors a <bug-gnu-utils@gnu.org>."
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "l'opció «-%ld» és obsoleta; useu «-%c %ld»"
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "l'opció «-%ld» és obsoleta; eviteu-la"
-
 #~ msgid "subsidiary program `%s' not found"
 #~ msgstr "no s'ha trobat el programa subsidiari «%s»"
 
index d8a39a9..d18c765 100644 (file)
Binary files a/po/cs.gmo and b/po/cs.gmo differ
index f7cba77..276ce12 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU diffutils 3.0\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2010-05-04 17:21+0100\n"
 "Last-Translator: Petr Kočvara <petr.kocvara@nemfm.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -24,7 +24,7 @@ msgstr "chyba programu"
 msgid "stack overflow"
 msgstr "přetečení zásobníku"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Neznámá chyba systému"
 
@@ -137,100 +137,102 @@ msgstr "%s: přepínač '-W %s' vyžaduje argument\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr "„"
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr "“"
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Hotovo"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Žádná shoda"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Neplatný regulární výraz"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Neplatný znak porovnání"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Neplatné jméno třídy znaků"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Koncové zpětné lomítko"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Neplatný zpětný odkaz"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "Nepárová [ nebo ]^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "Nepárová ( nebo \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "Nepárová \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Neplatný obsah \\{\\}"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Neplatný konec rozsahu"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Paměť vyčerpána"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Neplatný předchozí regulární výraz"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Předčasný konec regulárního výrazu"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Regulární výraz je příliš dlouhý"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "Nepárová ) nebo \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Předchozí regulární výraz neexistuje"
 
@@ -260,18 +262,18 @@ msgid "failed to reopen %s with mode %s"
 msgstr "nelze znovuotevřít %s v módu %s"
 
 #: lib/xstrtol-error.c:63
-#, c-format
-msgid "invalid %s%s argument `%s'"
+#, fuzzy, c-format
+msgid "invalid %s%s argument '%s'"
 msgstr "neplatná hodnota %s%s přepínače `%s'"
 
 #: lib/xstrtol-error.c:68
-#, c-format
-msgid "invalid suffix in %s%s argument `%s'"
+#, fuzzy, c-format
+msgid "invalid suffix in %s%s argument '%s'"
 msgstr "neplatná přípona v hodnotě %s%s přepínače `%s'"
 
 #: lib/xstrtol-error.c:72
-#, c-format
-msgid "%s%s argument `%s' too large"
+#, fuzzy, c-format
+msgid "%s%s argument '%s' too large"
 msgstr "hodnota %s%s přepínače `%s' je příliš velká"
 
 #: lib/version-etc.c:74
@@ -453,7 +455,7 @@ msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Obecná pomoc při používání softwaru GNU:: <http://www.gnu.org/gethelp/>\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Soubory %s a %s jsou různé\n"
@@ -463,7 +465,7 @@ msgstr "Soubory %s a %s jsou různé\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "Binární soubory %s a %s jsou rozdílné\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Chybí znak konce řádku na konci souboru"
 
@@ -477,14 +479,14 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "Více informací získáte příkazem `%s --help'."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "neplatná hodnota --ignore-inital `%s'"
 
 #: src/cmp.c:147
@@ -492,14 +494,14 @@ msgstr "neplatná hodnota --ignore-inital `%s'"
 msgid "options -l and -s are incompatible"
 msgstr "přepínače -l a -s nejsou kompatibilní"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "zápis selhal"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "standardní výstup"
 
@@ -562,7 +564,7 @@ msgid ""
 "at the beginning of each file (zero by default)."
 msgstr "N1 a N2 udávají počet bajtů, které budou ignorovány v každém souboru."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -578,29 +580,30 @@ msgstr ""
 "GB 1,000,000,000, G 1,073,741,824, a stejně tak i pro T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr ""
 "Pokud SOUBOR bude `-' nebo nebude existovat, bude čten standardní vstup."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "Návratový kód je roven 0 pokud jsou vstupy shodné, 1 pokud se liší a 2 při "
 "chybě."
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "neplatná hodnota přepínače --bytes `%s'"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "po `%s' je nesprávný operand"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "operand `%s' je nadbytečný"
 
 #: src/cmp.c:491
@@ -619,166 +622,163 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: EOF v %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr "Paul Eggert"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr "Mike Haertel"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr "David Hayes"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr "Richard Stallman"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr "Len Tower"
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "neplatná délka kontextu `%s'"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "přestránkování není na tomto počítači podporováno"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "příliš mnoho přepínačů popisu souboru"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "nesprávná délka `%s'"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "konfliktní volby šířky výstupu"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "neplatná délka obzoru `%s'"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "nesprávná hodnota tabsize `%s'"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "konfliktní přepínače tabsize"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "parametry --from-file i to-file použity najednou"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal  Výstup bude v normálním diff formátu."
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q  --brief  Výstup pouze při rozdílných souborech."
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files  Uvede pouze shodné soubory."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w POČ  --width=POČ  Vypíše maximálně POČ (implicitně 130) znaků na řádek."
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 "-w POČ  --width=POČ  Vypíše maximálně POČ (implicitně 130) znaků na řádek."
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Pokládá všechny soubory za text."
+msgstr "-e  --ed  Vytvoří skript pro ed."
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs  Výstup bude ve formátu RCS diff."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  Informace o verzi."
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
 "-w POČ  --width=POČ  Vypíše maximálně POČ (implicitně 130) znaků na řádek."
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr "-l  --left-column  Vypíše pouze levý sloupec společných řádků."
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  Nevypisuje shodné řádky."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Ve výstupu převede tabulátory na mezery."
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr "-T  --initial-tab  Na začátek řádků se vloží tabulátor."
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr ""
 "--tabsize=POČ  Tab zastavuje každých POČ (implicitně 8) tiskových sloupců."
 
-#: src/diff.c:871
+#: src/diff.c:874
 #, fuzzy
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
@@ -786,46 +786,50 @@ msgstr ""
 "--suppress-blank-empty  Potlačí mezeru nebo tabulátor před prázdnými\n"
 "                          řádky výstupu."
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr "-l  --paginate  Výstup projde přes `pr' pro přestránkování."
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr "-r  --recursive  Rekurzívní porovnání všech nalezených podadresářů."
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N  --new-file  Neexistující soubory považuje za prázdné."
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 "--unidirectional-new-file  Při porovnávání adresářů považuje neexistující\n"
 "                           soubory v prvém adresáři za prázdné."
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr "--ignore-file-name-case  Ignoruje velikost písmen v názvech souborů."
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "--no-ignore-file-name-case  Bere v potaz velikost písmen v názvech souborů."
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr "-x VZOR  --exclude=VZOR  Vynechá soubory odpovídající VZORu."
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
@@ -833,7 +837,7 @@ msgstr ""
 "-X SOUBOR  --exclude-from=SOUBOR  Vynechá soubory, které odpovídají\n"
 "                                  libovolnému vzorku ze SOUBORu."
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
@@ -841,7 +845,7 @@ msgstr ""
 "-S SOUBOR  --starting-file=SOUBOR  Při porovnávání adresářů začne souborem\n"
 "                                   SOUBOR."
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -850,7 +854,7 @@ msgstr ""
 "--from-file=SOUBOR1  Porovná SOUBOR1 se všemi operandy. SOUBOR1 může být\n"
 "                     adresář."
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -859,100 +863,101 @@ msgstr ""
 "--to-file=SOUBOR2  Porovná všechny operandy se SOUBOR2. SOUBOR2 může být\n"
 "                   adresář."
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr "-i  --ignore-case  Ignoruje velikost písmen v obsahu souboru."
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr "-E  --ignore-tab-expansion  Ignoruje změny v odsazení tabelátorem."
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-space  Ignoruje všechny mezery."
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Ignoruje změny v počtu mezer."
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space  Ignoruje všechny mezery."
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr "-B  --ignore-blank-lines  Ignoruje změny v případě prázdných řádků."
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I RV  --ignore-matching-lines=RV  Ignoruje změny na všech řádcích\n"
 "                                   odpovídajících RV."
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text  Pokládá všechny soubory za text."
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Odstraní ukončovací znak CR na vstupu."
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary  Čte a zapisuje data v binárním režimu."
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D JMENO  --ifdef=JMENO  Vypíše sloučený soubor s rozdíly `#ifdef JMENO'."
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "--GTYPE-group-format=FMTS  Podobné, ale formátuje vstupní skupiny GTYPE\n"
 "                           podle FMTS."
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
 "--line-format=FMTR  Podobně, ale formátuje všechny vstupní řádky podle FMTR."
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "--LTYPE-line-format=FMTR  Podobné, ale formátuje vstupní řádky LTYPE podle "
 "FMTR."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  LTYPE je `starý', `nový' nebo `nezměněn'. GTYPE je LTYPE nebo `změněn'."
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -980,7 +985,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -994,7 +999,7 @@ msgstr ""
 "    %[-][ŠÍŘKA][.[PŘES]]{doxX}c  formát stylu printf pro číslo vstupního "
 "řádku"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -1008,18 +1013,18 @@ msgstr ""
 "    %c'C'  jeden znak C\n"
 "    %c'\\000'  znak s osmičkovým kódem 000"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Pokusí se nalézt nejmenší sadu změn."
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 "--horizon-lines=POČET  Ponechá POČET shodných řádků předpony a přípony."
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
@@ -1027,23 +1032,24 @@ msgstr ""
 "-H  --speed-large-files  Předpokládá velké soubory a mnoho rozptýlených\n"
 "                         drobných změn."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version  Informace o verzi."
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "SOUBORY jsou `SOUBOR1 SOUBOR2' nebo `ADRESAR1 ADRESAR2' nebo\n"
 "`ADRESAR SOUBOR...' nebo `SOUBOR... ADRESAR'."
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
@@ -1051,54 +1057,61 @@ msgstr ""
 "Pokud je uveden --from-file nebo --to-file, pak nejsou u SOUBORů žádná "
 "omezení."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "Pokud SOUBOR bude `-', bude čten standardní vstup."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Použití: %s [PŘEPÍNAČ]... SOUBORY\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "Porovnání souborů řádek po řádku."
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "pro přepínač %s konfliktní hodnota `%s'"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "konfliktní přepínače pro styl výstupu"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Pouze v %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "`-' s adresářem nelze porovnat"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "-D přepínač nepodporuje práci s adresáři"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Společné podadresáře: %s a %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "Soubor %s je %s pokud soubor %s je %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Soubory %s a %s jsou různé\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Soubory %s a %s jsou identické\n"
@@ -1114,11 +1127,12 @@ msgid "incompatible options"
 msgstr "nekompatibilní přepínače"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "`-' zadáno pro více než jeden vstupní soubor"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "čtení selhalo"
 
@@ -1154,13 +1168,12 @@ msgid ""
 msgstr "-x  --overlap-only  Vypíše překrývající se změny."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
-msgstr "-E  --show-overlap  Vypíše nesloučené změny, konflikty v závorkách."
+msgstr ""
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "-i  Přidá příkazy `w' a `q' do skriptů pro ed."
 
 #: src/diff3.c:438
@@ -1196,9 +1209,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Pokládá všechny soubory za text."
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1249,30 +1261,30 @@ msgstr "vnitřní chyba: nesprávný typ diffu v process_diff"
 msgid "invalid diff format; invalid change separator"
 msgstr "neplatný formát diff souboru; neplatný oddělovač změny"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "neplatný formát diff souboru; nekompletní poslední řádek"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "pomocný program `%s' nelze spustit"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "neplatný formát diff souboru; nesprávné úvodní znaky na řádku"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "vnitřní chyba: nesprávný typ diffu pro výstup"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "vstupní soubor se zmenšil"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "nemohu porovnat jména souborů `%s' a `%s'"
 
 #: src/dir.c:209
@@ -1285,91 +1297,98 @@ msgstr "%s: smyčka v rekurzi adresářů"
 msgid "Thomas Lord"
 msgstr "Thomas Lord"
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
 "-o SOUBOR  --output=SOUBOR  Interaktivní práce, výstup půjde do SOUBORu."
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i  --ignore-case  Nerozlišuje velká a malá písmena."
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr "-E  --ignore-tab-expansion  Ignoruje změny v odsazení tabelátorem."
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-space  Ignoruje všechny mezery."
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Ignoruje změny v počtu mezer."
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  Ignoruje všechny mezery."
+msgstr "-W  --ignore-all-space  Ignoruje všechny mezery."
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr "-B  --ignore-blank-lines  Ignoruje změny v případě prázdných řádků."
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I RV  --ignore-matching-lines=RV  Ignoruje změny na všech řádcích\n"
+"                                   odpovídajících RV."
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Odstraní ukončovací znak CR na vstupu."
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text  Pokládá všechny soubory za text."
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 "-w POČ  --width=POČ  Vypíše maximálně POČ (implicitně 130) znaků na řádek."
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr "-l  --left-column  Vypíše pouze levý sloupec společných řádků."
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  Nevypisuje shodné řádky."
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Ve výstupu převede tabulátory na mezery."
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr ""
 "--tabsize=POČ  Tab zastavuje každých POČ (implicitně 8) tiskových sloupců."
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Pokusí se nalézt nejmenší sadu změn."
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
@@ -1377,40 +1396,39 @@ msgstr ""
 "-H  --speed-large-files  Předpokládá velké soubory a mnoho rozptýlených\n"
 "                         drobných změn."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr "--diff-program=PROGRAM  Použij PROGRAM k porovnání souborů."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Pokládá všechny soubory za text."
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version  Informace o verzi."
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Použití: %s [PŘEPÍNAČ]... SOUBOR1 SOUBOR2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Aplikace změn v souboru v módu `vedle sebe`."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "interaktivně nelze standardní vstup sloučit"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "oba soubory k porovnání jsou adresáři"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
@@ -1440,49 +1458,15 @@ msgstr ""
 #~ msgid "-s  --quiet  --silent  Output nothing; yield exit status only."
 #~ msgstr "-s  --quiet  --silent  Žádný výstup; vrátí pouze status."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  Informace o verzi."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  Vypíše tuto nápovědu."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Porovnání tří souborů řádek po řádku."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr "-E  --ignore-tab-expansion  Ignoruje změny v odsazení tabelátorem."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr "-b  --ignore-space-change  Ignoruje změny v počtu mezer."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Ignoruje všechny mezery."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr "-B  --ignore-blank-lines  Ignoruje změny v případě prázdných řádků."
-
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr "--strip-trailing-cr  Odstraní ukončovací znak CR na vstupu."
-
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Pokládá všechny soubory za text."
-
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1498,10 +1482,6 @@ msgstr ""
 #~ "                         tato změna nachází.\n"
 #~ "  -F RV  --show-function-line=RV  Vypíše nejnovější řádky odpovídající RV."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Vytvoří skript pro ed."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1514,33 +1494,12 @@ msgstr ""
 #~ "  --left-column  Vypíše pouze levý sloupec společných řádků.\n"
 #~ "  --suppress-common-lines  Nevypíše společné řádky."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs  Ve výstupu převede tabulátory na mezery."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr "-T  --initial-tab  Na začátek řádků se vloží tabulátor."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr ""
-#~ "--tabsize=POČ  Tab zastavuje každých POČ (implicitně 8) tiskových sloupců."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  Pokusí se nalézt nejmenší sadu změn."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files  Předpokládá velké soubory a mnoho rozptýlených\n"
 #~ "                     drobných změn."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr "-A  --show-all  Vypíše všechny rozdíly, konflikty v závorkách."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "-X  Vypíše překrývající se změny, uzavřené v závorkách."
 
@@ -1550,52 +1509,3 @@ msgstr ""
 
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L POPIS  --label=POPIS  Použije POPIS místo jména souboru."
-
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr "--diff-program=PROGRAM  Použij PROGRAM k porovnání souborů."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Ignoruje všechny mezery."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w POČ  --width=POČ  Vypíše maximálně POČ (implicitně 130) znaků na řádek."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "-l  --left-column  Vypíše pouze levý sloupec společných řádků."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  Předpokládá velké soubory a mnoho rozptýlených\n"
-#~ "                     drobných změn."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "čtení selhalo"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "zápis selhal"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "čtení selhalo"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "čtení selhalo"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "zápis selhal"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "zápis selhal"
index b624224..922050e 100644 (file)
Binary files a/po/da.gmo and b/po/da.gmo differ
index bb1d0e8..94b8eb3 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -1,16 +1,16 @@
 # Danish diffutils translation po-file
-# Copyright (C) 2000 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the diffutils package.
 #
 # Claus Hindsgaul <claus_h@image.dk>, 2000-2002.
-# Ask Hjorth Larsen <asklarsen@gmail.com>, 2010.
+# Ask Hjorth Larsen <asklarsen@gmail.com>, 2010-2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: diffutils 3.0\n"
+"Project-Id-Version: diffutils-3.3-pre1\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
-"PO-Revision-Date: 2010-10-20 22:31+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
+"PO-Revision-Date: 2012-11-03 14:34+0100\n"
 "Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
 "Language: da\n"
@@ -27,7 +27,7 @@ msgstr "programfejl"
 msgid "stack overflow"
 msgstr "stakoverløb"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Ukendt systemfejl"
 
@@ -84,9 +84,9 @@ msgid "weird file"
 msgstr "mystisk fil"
 
 #: lib/getopt.c:547 lib/getopt.c:576
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: tilvalg '%s' er flertydigt\n"
+msgstr "%s: tilvalget '%s' er flertydigt; muligheder:"
 
 #: lib/getopt.c:624 lib/getopt.c:628
 #, c-format
@@ -140,100 +140,102 @@ msgstr "%s: tilvalget '-W %s' tillader ikke et argument\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr "'"
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr "'"
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Succes"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Ingen match"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Ugyldigt regulært udtryk"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Ugyldig sammenlignings-tegn"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Ugyldigt navn på tegn-klasse"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Efterstillet backslash"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Ugyldig bagud-reference"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "Uparret [ eller [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "Uparret ( eller \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "Uparret \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Ugyldigt indhold af \\{\\}"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Ugyldig område-afslutning"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Hukommelse opbrugt"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Ugyldigt foranstillet regulært udtryk"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "For tidlig afslutning på regulært udtryk"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "For stort regulært udtryk"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "Uparret ) eller \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Intet foranstillet regulært udtryk"
 
@@ -264,17 +266,17 @@ msgstr "kunne ikke genåbne %s i tilstand %s"
 
 #: lib/xstrtol-error.c:63
 #, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "ugyldigt %s%s-argument '%s'"
 
 #: lib/xstrtol-error.c:68
 #, c-format
-msgid "invalid suffix in %s%s argument `%s'"
+msgid "invalid suffix in %s%s argument '%s'"
 msgstr "ugyldig endelse i %s%s-argument '%s'"
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr "%s%s-argumentet '%s' er for stort"
 
 #: lib/version-etc.c:74
@@ -451,7 +453,7 @@ msgstr "Hjemmeside for %s: <http://www.gnu.org/software/%s/>\n"
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Generel hjælp til GNU-programmer: <http://www.gnu.org/gethelp/>\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Filerne %s og %s er forskellige\n"
@@ -461,7 +463,7 @@ msgstr "Filerne %s og %s er forskellige\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "Binære filer %s og %s er forskellige\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Intet linjeskift ved filafslutning"
 
@@ -475,75 +477,73 @@ msgstr "Torbjörn Granlund"
 msgid "David MacKenzie"
 msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
 #, c-format
-msgid "Try `%s --help' for more information."
+msgid "Try '%s --help' for more information."
 msgstr "Prøv '%s --help' for mere information."
 
 #: src/cmp.c:137
 #, c-format
-msgid "invalid --ignore-initial value `%s'"
-msgstr "ugyldig '--ignore-initial'-værdi `%s'"
+msgid "invalid --ignore-initial value '%s'"
+msgstr "ugyldig værdi '%s' for --ignore-initial"
 
 #: src/cmp.c:147
 #, c-format
 msgid "options -l and -s are incompatible"
 msgstr "tilvalgene -l og -s er inkompatible"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "skrivning mislykkedes"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "standard-ud"
 
 #: src/cmp.c:161
-#, fuzzy
 msgid "-b, --print-bytes          print differing bytes"
-msgstr "-b  --print-byte   Vis afvigende byte."
+msgstr "-b, --print-bytes          vis afvigende byte"
 
 #: src/cmp.c:162
-#, fuzzy
 msgid "-i, --ignore-initial=SKIP         skip first SKIP bytes of both inputs"
 msgstr ""
-"-i SPRING --ignore-initial=SPRING   Overspring de første SPRING byte i "
-"inddata."
+"-i, --ignore-initial=SPRING       spring de første SPRING byte over i begge\n"
+"                                    input"
 
 #: src/cmp.c:163
-#, fuzzy
 msgid ""
 "-i, --ignore-initial=SKIP1:SKIP2  skip first SKIP1 bytes of FILE1 and\n"
 "                                      first SKIP2 bytes of FILE2"
 msgstr ""
-"  Overspring de første SPRING1 byte i FIL1 og de første SPRING2 byte i FIL2."
+"-i, --ignore-initial=SPRING1:SPRING2  spring de første SPRING1 byte af FIL1 "
+"og\n"
+"                                        SPRING2 byte af FIL2 over"
 
 #: src/cmp.c:165
-#, fuzzy
 msgid ""
 "-l, --verbose              output byte numbers and differing byte values"
-msgstr "-l  --verbose  Vis antal byte og værdierne for alle afvigende byte."
+msgstr ""
+"-l, --verbose              vis numre og værdier for de byte, der er "
+"forskellige"
 
 #: src/cmp.c:166
-#, fuzzy
 msgid "-n, --bytes=LIMIT          compare at most LIMIT bytes"
-msgstr "-n GRÆNSE --bytes=GRÆNSE Sammenlign højst GRÆNSE byte."
+msgstr "-n, --bytes=GRÆNSE         sammenlign højst GRÆNSE byte"
 
 #: src/cmp.c:167
 msgid "-s, --quiet, --silent      suppress all normal output"
-msgstr ""
+msgstr "-s, --quiet, --silent      undertryk al normal udskrift"
 
 #: src/cmp.c:168
 msgid "    --help                 display this help and exit"
-msgstr ""
+msgstr "    --help                 vis denne hjælpetekst og afslut"
 
 #: src/cmp.c:169
-#, fuzzy
 msgid "-v, --version              output version information and exit"
-msgstr "-v  --version  Vis versions-info."
+msgstr "-v, --version              vis versionsoplysninger og afslut"
 
 #: src/cmp.c:178
 #, c-format
@@ -555,17 +555,19 @@ msgid "Compare two files byte by byte."
 msgstr "Sammenlign to filer byte for byte."
 
 #: src/cmp.c:182
-#, fuzzy
 msgid ""
 "The optional SKIP1 and SKIP2 specify the number of bytes to skip\n"
 "at the beginning of each file (zero by default)."
 msgstr ""
-"SPRING1 og SPRING2 er antallet af byte, der skal overspringes i hver fil."
+"De valgfri SPRING1 og SPRING2 angiver antallet af byte, der skal springes\n"
+"over ved begyndelsen af hver fil (normalt 0)."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
+"Obligatoriske argumenter til lange tilvalg er også obligatoriske til de "
+"korte.\n"
 
 #: src/cmp.c:191
 msgid ""
@@ -578,28 +580,28 @@ msgstr ""
 "GB 1,000,000,000, G 1,073,741,824, og så videre for T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
-msgstr "Såfremt en FIL er '_' eller mangler, læses fra standard inddata."
+msgid "If a FILE is '-' or missing, read standard input."
+msgstr "Såfremt en FIL er '-' eller mangler, læses fra standard-ind."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "Slutstatus er 0 hvis inddata er ens, 1 hvis ikke, og 2 hvis der er problemer."
 
 #: src/cmp.c:240
 #, c-format
-msgid "invalid --bytes value `%s'"
-msgstr "ugyldig '--bytes'-værdi '%s'"
+msgid "invalid --bytes value '%s'"
+msgstr "ugyldig værdi '%s' for --bytes"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
 #, c-format
-msgid "missing operand after `%s'"
-msgstr "manglende operant efter '%s'"
+msgid "missing operand after '%s'"
+msgstr "manglende operand efter '%s'"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
 #, c-format
-msgid "extra operand `%s'"
-msgstr "ekstra operant '%s'"
+msgid "extra operand '%s'"
+msgstr "ekstra operand '%s'"
 
 #: src/cmp.c:491
 #, c-format
@@ -617,347 +619,325 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: filafslutning på %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr "Paul Eggert"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr "Mike Haertel"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr "David Hayes"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr "Richard Stallman"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr "Len Tower"
 
-#: src/diff.c:340
+#: src/diff.c:339
 #, c-format
-msgid "invalid context length `%s'"
-msgstr "ugyldig indholdslængde '%s'"
+msgid "invalid context length '%s'"
+msgstr "ugyldig kontekstlængde '%s'"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "paginering understøttes ikke af denne vært"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "for mange fil-mærke tilvalg"
 
-#: src/diff.c:515
+#: src/diff.c:514
 #, c-format
-msgid "invalid width `%s'"
+msgid "invalid width '%s'"
 msgstr "ugyldig bredde '%s'"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "modstridende breddeangivelser"
 
-#: src/diff.c:544
+#: src/diff.c:543
 #, c-format
-msgid "invalid horizon length `%s'"
-msgstr "ugyldig horisont-længde '%s'"
+msgid "invalid horizon length '%s'"
+msgstr "ugyldig horisontlængde '%s'"
 
-#: src/diff.c:595
+#: src/diff.c:598
 #, c-format
-msgid "invalid tabsize `%s'"
+msgid "invalid tabsize '%s'"
 msgstr "ugyldig tabulatorbredde '%s'"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "modstridende angivelser af tabulatorbredde"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "både --from-file og --to-file er angivet"
 
-#: src/diff.c:851
-#, fuzzy
+#: src/diff.c:854
 msgid "    --normal                  output a normal diff (the default)"
-msgstr "--normal  Udlæs en almindelig diff."
+msgstr "    --normal                  udskriv en almindelig diff (forvalg)"
 
-#: src/diff.c:852
-#, fuzzy
+#: src/diff.c:855
 msgid "-q, --brief                   report only when files differ"
-msgstr "-q  --brief  Undersøg kun om filerne er ens eller ej."
+msgstr "-q, --brief                   angiv kun når filerne er forskellige"
 
-#: src/diff.c:853
-#, fuzzy
+#: src/diff.c:856
 msgid "-s, --report-identical-files  report when two files are the same"
-msgstr "-s  --report-identical-files  Rapportér hvis to filer er ens."
+msgstr "-s, --report-identical-files  rapportér hvis to filer er ens"
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w ANTAL  --width=ANTAL  Udskriv højst ANTAL (som standard 130) søjler per "
-"linje."
+"-c, -C ANTAL, --context[=ANTAL]  udskriv ANTAL (normalt 3) linjer med "
+"kopieret\n"
+"                                   kontekst"
 
-#: src/diff.c:855
-#, fuzzy
+#: src/diff.c:858
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
-"-w ANTAL  --width=ANTAL  Udskriv højst ANTAL (som standard 130) søjler per "
-"linje."
+"-u, -U ANTAL, --unified[=ANTAL]  Udskriv højst ANTAL (normalt 3) linjer\n"
+"                                   forenet kontekst"
 
-#: src/diff.c:856
-#, fuzzy
+#: src/diff.c:859
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Behandl alle filer som tekst."
+msgstr "-e, --ed                      udskriv et ed-script"
 
-#: src/diff.c:857
-#, fuzzy
+#: src/diff.c:860
 msgid "-n, --rcs                     output an RCS format diff"
-msgstr "-n  --rcs  Udlæs en diff i RCS-format."
+msgstr "-n, --rcs                     udskriv en diff i RCS-format"
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  Vis versions-info."
+msgstr "-y, --side-by-side            udskriv i to kolonner"
 
-#: src/diff.c:859
-#, fuzzy
+#: src/diff.c:862
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
-"-w ANTAL  --width=ANTAL  Udskriv højst ANTAL (som standard 130) søjler per "
-"linje."
+"-W, --width=ANTAL             udskriv højst ANTAL (normalt 130) kolonner"
 
-#: src/diff.c:860
-#, fuzzy
+#: src/diff.c:863
 msgid ""
 "    --left-column             output only the left column of common lines"
-msgstr "-l  --left-column  Vis kun venstre kolonne af identiske linjer."
+msgstr ""
+"    --left-column             udskriv kun venstre kolonne i fælles linjer"
 
-#: src/diff.c:861
-#, fuzzy
+#: src/diff.c:864
 msgid "    --suppress-common-lines   do not output common lines"
-msgstr "-s  --suppress-common-lines  Udlæs ingen identiske linjer."
+msgstr "    --suppress-common-lines   udskriv ikke fælles linjer"
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
-msgstr ""
+msgstr "-p, --show-c-function         vis hvilken C-funktion hver ændring er i"
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
-msgstr ""
+msgstr "-F, --show-function-line=RE   vis den seneste linje der matcher RE"
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
+"    --label MÆRKAT            brug MÆRKAT frem for filnavn\n"
+"                                (kan gentages)"
 
-#: src/diff.c:868
-#, fuzzy
+#: src/diff.c:871
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
-msgstr "-t  --expand-tabs  Lav tabulatorer om til mellemrum i output."
+msgstr ""
+"-t, --expand-tabs             lav tabulatorer om til mellemrum i udskrift"
 
-#: src/diff.c:869
-#, fuzzy
+#: src/diff.c:872
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
-"-T --initial-tab  Få tabulatorer på linje ved at forudstille en tabulator."
+"-T, --initial-tab             få tabulatorer på linje ved at forudstille en\n"
+"                                tabulator"
 
-#: src/diff.c:870
-#, fuzzy
+#: src/diff.c:873
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr ""
-"--tabsize=ANTAL  Tabulatorstop for hver ANTAL (som standard 8) udskrevne "
-"kolonner."
+"    --tabsize=ANTAL           tabulatorstop for hver ANTAL (normalt 8) "
+"kolonner"
 
-#: src/diff.c:871
-#, fuzzy
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
-"--suppress-blank-empty  Intet mellemrum eller tabulator før tomme ud-linjer."
+"    --suppress-blank-empty    intet mellemrum eller tabulator før tomme\n"
+"                                ud-linjer"
 
-#: src/diff.c:872
-#, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
-msgstr "-l  --paginate  Led uddata gennem 'pr' for at sideinddele det."
+#: src/diff.c:875
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
+msgstr ""
+"-l, --paginate                led uddata gennem 'pr' for at sideinddele det"
 
-#: src/diff.c:874
-#, fuzzy
+#: src/diff.c:877
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
-msgstr "-r  --recursive  Sammenlign alle fundne underkataloger rekursivt."
+msgstr ""
+"-r, --recursive                 sammenlign alle fundne underkataloger "
+"rekursivt"
 
-#: src/diff.c:875
-#, fuzzy
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr "    --no-dereference            følg ikke symbolske lænker"
+
+#: src/diff.c:879
 msgid "-N, --new-file                  treat absent files as empty"
-msgstr "-N  --new-file  Behandl manglende filer som var de tomme."
+msgstr ""
+"-N, --new-file                  behandl manglende filer som var de tomme"
 
-#: src/diff.c:876
-#, fuzzy
+#: src/diff.c:880
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
-"--unidirectional-new-file  Behandl første manglende filer som var de tomme."
+"    --unidirectional-new-file   behandl manglende førstefiler som var de "
+"tomme"
 
-#: src/diff.c:877
-#, fuzzy
+#: src/diff.c:881
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
-"--ignore-file-name-case  Ignorér versalforskelle ved sammenligning af "
-"filnavne."
+"    --ignore-file-name-case     ingen forskel på store og små bogstaver ved\n"
+"                                  sammenligning af filnavne"
 
-#: src/diff.c:878
-#, fuzzy
+#: src/diff.c:882
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
-"--no-ignore-file-name-case  Bemærk versalforskelle, når filnavne "
-"sammenlignes."
+"    --no-ignore-file-name-case  skeln mellem store og små bogstaver ved\n"
+"                                  sammenligning af filnavne"
 
-#: src/diff.c:879
-#, fuzzy
+#: src/diff.c:883
 msgid "-x, --exclude=PAT               exclude files that match PAT"
-msgstr "-x MØNSTER  --exclude=MØNSTER  Udelad filer, det matcher MØNSTER."
+msgstr "-x, --exclude=MØNSTER           udelad filer, det matcher MØNSTER"
 
-#: src/diff.c:880
-#, fuzzy
+#: src/diff.c:884
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
-"-X FIL  --exclude-from=FIL  Udelad filer, der matcher ethvert mønster i FIL."
+"-X, --exclude-from=FIL          udelad filer, der matcher ethvert mønster i "
+"FIL"
 
-#: src/diff.c:881
-#, fuzzy
+#: src/diff.c:885
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
-msgstr "-S FIL  --starting-file=FIL  Star med FIL, når kataloger sammenlignes."
+msgstr ""
+"-S, --starting-file=FIL         start med FIL, når der sammenlignes kataloger"
 
-#: src/diff.c:882
-#, fuzzy
+#: src/diff.c:886
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
 "                                  FILE1 can be a directory"
 msgstr ""
-"--from-file=FIL1  Sammenlign FIL1 med alle operanter.  FIL1 må godt være et "
-"katalog."
+"    --from-file=FIL1            sammenlign FIL1 med alle operander; FIL1 må\n"
+"                                  godt være et katalog"
 
-#: src/diff.c:884
-#, fuzzy
+#: src/diff.c:888
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
 "                                  FILE2 can be a directory"
 msgstr ""
-"--to-file=FIL1  Sammenlign alle operanter med FIL2.  FIL2 må godt være et "
-"katalog."
+"    --to-file=FIL1              sammenlign alle operander med FIL2.  FIL2 "
+"må\n"
+"                                  godt være et katalog"
 
-#: src/diff.c:887
-#, fuzzy
+#: src/diff.c:891
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
-msgstr "-i  --ignore-case  Ignorér versalforskelle i filindholdet"
+msgstr "-i, --ignore-case               ignorér versalforskelle i filindhold"
 
-#: src/diff.c:888
-#, fuzzy
+#: src/diff.c:892
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
-"-E  --ignore-tab-expansion  Ignore ændringer, der skyldes tabulatoromsætning."
+"-E, --ignore-tab-expansion      ignorér ændringer der skyldes\n"
+"                                  tabulatoromsætning"
 
-#: src/diff.c:889
-#, fuzzy
+#: src/diff.c:893
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
-msgstr "-w  --ignore-all-space  Ignorér alle mellemrums-tegn."
+msgstr ""
+"-Z, --ignore-trailing-space     ignorér blanke tegn ved linjens afslutning"
 
-#: src/diff.c:890
-#, fuzzy
+#: src/diff.c:894
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr ""
-"-b  --ignore-space-change  Ignorér ændringer i antallet af mellemrumstegn."
+"-b, --ignore-space-change       ignorér ændringer i mængden af blanke tegn"
 
-#: src/diff.c:891
-#, fuzzy
+#: src/diff.c:895
 msgid "-w, --ignore-all-space          ignore all white space"
-msgstr "-w  --ignore-all-space  Ignorér alle mellemrums-tegn."
+msgstr "-w, --ignore-all-space          ignorér alle blanke tegn"
 
-#: src/diff.c:892
-#, fuzzy
+#: src/diff.c:896
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
-msgstr ""
-"-B  --ignore-blank-lines  Ignorér ændringer med udelukkende tomme linjer."
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
+msgstr "-B, --ignore-blank-lines        ignorér ændringer med kun tomme linjer"
 
-#: src/diff.c:893 src/sdiff.c:178
-#, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+#: src/diff.c:897
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
-"-I MØNSTER  --ignore-matching-lines=MØNSTER  Ignorér ændringer, hvis linjer "
-"alle matcher MØNSTER."
+"-I, --ignore-matching-lines=MØNSTER  ignorér ændringer, hvis linjer alle\n"
+"                                       matcher MØNSTER"
 
-#: src/diff.c:895
-#, fuzzy
+#: src/diff.c:899
 msgid "-a, --text                      treat all files as text"
-msgstr "-a  --text  Behandl alle filer som tekst."
+msgstr "-a, --text                      behandl alle filer som tekst"
 
-#: src/diff.c:896
-#, fuzzy
+#: src/diff.c:900
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
-msgstr ""
-"--strip-trailing-cr  Fjern afsluttende vognretur (carriage return) i inddata."
+msgstr "    --strip-trailing-cr         fjern afsluttende vognretur i inddata"
 
-#: src/diff.c:898
-#, fuzzy
+#: src/diff.c:902
 msgid "    --binary                    read and write data in binary mode"
-msgstr "--binary  Læs og skriv data binært."
+msgstr "    --binary                    læs og skriv data binært"
 
-#: src/diff.c:901
-#, fuzzy
+#: src/diff.c:905
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
-"-D NAVN  --ifdef=NAVN  Udlæs flettet fil for at vise '#ifdef NAVN' ændringer."
+"-D, --ifdef=NAVN                udskriv flettet fil med '#ifdef NAVN'-differ"
 
-#: src/diff.c:902
-#, fuzzy
+#: src/diff.c:906
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
-msgstr ""
-"--GTYPE-group-format=GFMT  Det samme, men formatér GTYPE-ind-grupper med "
-"GFMT."
+msgstr "    --GTYPE-group-format=GFMT    formatér GTYPE-inputgrupper med GFMT"
 
-#: src/diff.c:903
-#, fuzzy
+#: src/diff.c:907
 msgid "    --line-format=LFMT          format all input lines with LFMT"
-msgstr ""
-"--line-format=LFMT  Det samme, men formatér alle indlæste linjer med LFMT."
+msgstr "    --line-format=LFMT          formatér alle inputlinjer med LFMT"
 
-#: src/diff.c:904
-#, fuzzy
+#: src/diff.c:908
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
-msgstr ""
-"--LTYPE-line-format=LFMT  Det samme, men formatér LTYPE inddata med LFMT"
+msgstr "    --LTYPE-line-format=LFMT    formatér LTYPE-inputlinjer med LFMT"
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
+"  Disse formattilvalg giver finkontrol over udskriften af diff, og\n"
+"    generaliserer -D/--ifdef."
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
-"  LTYPE er 'gammel', 'ny' eller 'uændret'.  GTYPE er LTYPE eller 'ændret'."
+"  LTYPE er 'old' (gammel), 'new' (ny) eller 'unchanged' (uændret).\n"
+"  GTYPE er LTYPE eller 'changed' (ændret)."
 
-#: src/diff.c:908
-#, fuzzy
+# hvad er PREC?  Det står ingen steder i filen.  PRÆC blev brugt i tidligere
+# oversættelse, så beholder. -Ask
+#: src/diff.c:912
 msgid ""
 "  GFMT (only) may contain:\n"
 "    %<  lines from FILE1\n"
@@ -972,36 +952,34 @@ msgid ""
 "        M  L+1\n"
 "    %(A=B?T:E)  if A equals B then T else E"
 msgstr ""
-"  GFMT må indeholde:\n"
-"    %<  linjer fra FIL1\n"
+"  GFMT (kun) må indeholde:\n"
+"    %<  linjer fra FIL\n"
 "    %>  linjer fra FIL2\n"
-"    %=  linjer, der er fælles mellem FIL1 og FIL2\n"
-"    %[-][BREDDE][.[PRÆC]]{doxX}BOGSTAV  printf-type specifikation for "
-"BOGSTAV\n"
-"      BOGSAV er som nedenfor for en ny gruppe, små bogstaver for gammel "
-"gruppe:\n"
+"    %=  linjer både i FIL1 og FIL2\n"
+"    %[-][BREDDE][.[PRÆC]]{doxX}BOGSTAV  printf-angivelse for BOGSTAV\n"
+"      BOGSTAVer er som følger for ny gruppe, eller som små bogstaver for "
+"gammel\n"
+"      gruppe:\n"
 "        F  første linjenummer\n"
 "        L  sidste linjenummer\n"
 "        N  antal linjer = L-F+1\n"
 "        E  F-1\n"
-"        M  L+1"
+"        M  L+1\n"
+"    %(A=B?T:E)  hvis A lig med B så T, ellers E"
 
-#: src/diff.c:920
-#, fuzzy
+#: src/diff.c:924
 msgid ""
 "  LFMT (only) may contain:\n"
 "    %L  contents of line\n"
 "    %l  contents of line, excluding any trailing newline\n"
 "    %[-][WIDTH][.[PREC]]{doxX}n  printf-style spec for input line number"
 msgstr ""
-"  LFMT må indeholde:\n"
+"  LFMT (kun) må indeholde:\n"
 "    %L  indhold af linje\n"
-"    %l  indhold af linje, undtagen eventuel følgende linjeskift\n"
-"    %[-][BREDDE][.[PRÆC]]{doxX}n  printf-stil angivelse af inddata "
-"linjenummer"
+"    %l  indhold af linje, undtagen eventuelt følgende linjeskift\n"
+"    %[-][BREDDE][.[PRÆC]]{doxX}n  printf-angivelse for inputlinjenummer"
 
-#: src/diff.c:924
-#, fuzzy
+#: src/diff.c:928
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
 "    %%  %\n"
@@ -1009,101 +987,103 @@ msgid ""
 "    %c'\\OOO'  the character with octal code OOO\n"
 "    C    the character C (other characters represent themselves)"
 msgstr ""
-"  Enten kan GFMT eller LFMT indeholde:\n"
-"    %% %\n"
-"    %c'T'  tegnet T alene\n"
-"    %c'\\000'  tegnet med oktal kode 000"
+"  GFMT og LFMT kan begge indeholde:\n"
+"    %%  %\n"
+"    %c'C'  tegnet C\n"
+"    %c'\\OOO'  tegnet med oktalkode OOO\n"
+"    C    tegnet C (andre tegn repræsenterer sig selv)"
 
-#: src/diff.c:930
-#, fuzzy
+#: src/diff.c:934
 msgid "-d, --minimal            try hard to find a smaller set of changes"
-msgstr "-d  --minimal  Grundigt forsøg på at finde et mindre antal ændringer."
+msgstr ""
+"-d, --minimal            grundigt forsøg på at finde et mindre antal "
+"ændringer"
 
-#: src/diff.c:931
-#, fuzzy
+#: src/diff.c:935
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
-"--horizon-lines=ANTAL  Behold ANTAL linjer af fælles præfix og suffiks."
+"    --horizon-lines=ANTAL  behold ANTAL linjer af fælles præfiks og suffiks"
 
-#: src/diff.c:932
-#, fuzzy
+#: src/diff.c:936
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr ""
-"-H  --speed-large-files  Antag store filer og mange spredte, små ændringer."
+"    --speed-large-files  antag store filer og mange spredte, små ændringer"
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
-msgstr ""
+msgstr "    --help               vis denne hjælpetekst og afslut"
 
-#: src/diff.c:935
-#, fuzzy
+#: src/diff.c:939
 msgid "-v, --version            output version information and exit"
-msgstr "-v  --version  Vis versions-info."
+msgstr "-v, --version            vis versionsoplysninger og afslut"
 
-#: src/diff.c:937
+#: src/diff.c:941
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "FILER er 'FIL1 FIL2' eller 'KATALOG1 KATALOG2' eller 'KATALOG FIL...' eller "
 "'FIL... KATALOG'."
 
-#: src/diff.c:938
-#, fuzzy
+#: src/diff.c:942
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
-"hvis --from-file eller --to-file er angivet, er der ingen restriktioner på "
-"FILER."
+"Hvis --from-file eller --to-file er givet, er der ingen restriktioner på "
+"FILer."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+msgid "If a FILE is '-', read standard input."
 msgstr "Såfremt en FIL er '-', læses fra standard-ind."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Brug: %s [TILVALG]... FILER\n"
 
-#: src/diff.c:950
-#, fuzzy
+#: src/diff.c:954
 msgid "Compare FILES line by line."
-msgstr "Sammenlign filer linje for linje"
+msgstr "Sammenlign filer linjevis."
 
-#: src/diff.c:984
+#: src/diff.c:988
 #, c-format
-msgid "conflicting %s option value `%s'"
+msgid "conflicting %s option value '%s'"
 msgstr "modstridende værdi for %s-tilvalget: '%s'"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "modstridende valg af uddata-stil"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Kun i %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+msgid "cannot compare '-' to a directory"
 msgstr "kan ikke sammenligne '-' med et katalog"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "-D tilvalg understøttes ikke for kataloger"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Identiske underkataloger: %s og %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "Filen %s er en %s mens filen %s er en %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "De symbolske lænker %s og %s er forskellige\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Filerne %s og %s er identiske\n"
@@ -1119,98 +1099,95 @@ msgid "incompatible options"
 msgstr "inkompatible tilvalg"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
-msgstr "'-' angiver mere en én ind-fil"
+msgid "'-' specified for more than one input file"
+msgstr "'-' angivet for mere end én ind-fil"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "læsning mislykkedes"
 
 #: src/diff3.c:428
-#, fuzzy
 msgid "-A, --show-all              output all changes, bracketing conflicts"
-msgstr "-A  --show-all  Udlæs alle ændringer, konflikter i paranteser."
+msgstr ""
+"-A, --show-all              udskriv alle ændringer, med konflikter i "
+"parenteser"
 
 #: src/diff3.c:430
-#, fuzzy
 msgid ""
 "-e, --ed                    output ed script incorporating changes\n"
 "                                from OLDFILE to YOURFILE into MYFILE"
 msgstr ""
-"-e  --ed  Udlæs uflettede ændringer mellem GAMMELFIL og DINFIL til MINFIL."
+"-e, --ed                    udskriv et ed-script som udfører ændringerne\n"
+"                                fra GAMMELFIL til DINFIL ind i MINFIL"
 
 #: src/diff3.c:432
-#, fuzzy
 msgid "-E, --show-overlap          like -e, but bracket conflicts"
-msgstr "-E  --show-overlap  Udlæs uflettede ændringer, konflikter i paranteser"
+msgstr "-E, --show-overlap          som -e, men sæt konflikter i parentes"
 
 #: src/diff3.c:433
-#, fuzzy
 msgid ""
 "-3, --easy-only             like -e, but incorporate only nonoverlapping "
 "changes"
-msgstr "-3  --easy-only  Udlæs ikke-flettede, ikke-overlappende ændringer."
+msgstr ""
+"-3, --easy-only             som -e, men inkludér kun ikke-overlappende "
+"ændringer"
 
 #: src/diff3.c:434
-#, fuzzy
 msgid ""
 "-x, --overlap-only          like -e, but incorporate only overlapping changes"
-msgstr "-x  --overlap-only  Vis kun overlappende ændringer."
+msgstr ""
+"-x, --overlap-only          som -e, men inkludér kun overlappende ændringer"
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
-msgstr "-E  --show-overlap  Udlæs uflettede ændringer, konflikter i paranteser"
+msgstr "-X                          som -x, men sæt konflikter i parenteser"
 
 #: src/diff3.c:436
-#, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
-msgstr "-i  Tilføj 'w' og 'q'-kommandoer til ed skripter."
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
+msgstr "-i                          tilføj 'w' og 'q'-kommandoer til ed-script"
 
 #: src/diff3.c:438
 msgid ""
 "-m, --merge                 output actual merged file, according to\n"
 "                                -A if no other options are given"
 msgstr ""
+"-m, --merge                 udskriv faktisk flettet fil ifølge -A\n"
+"                                hvis ingen andre tilvalg er givet"
 
 #: src/diff3.c:441
-#, fuzzy
 msgid "-a, --text                  treat all files as text"
-msgstr "-a  --text  Behandl alle filer som tekst."
+msgstr "-a, --text                  behandl alle filer som tekst"
 
 #: src/diff3.c:442
-#, fuzzy
 msgid "    --strip-trailing-cr     strip trailing carriage return on input"
-msgstr ""
-"--strip-trailing-cr  Fjern afsluttende vognretur (carriage return) i inddata."
+msgstr "    --strip-trailing-cr     fjern afsluttende vognretur i inddata"
 
 #: src/diff3.c:443
-#, fuzzy
 msgid "-T, --initial-tab           make tabs line up by prepending a tab"
 msgstr ""
-"-T --initial-tab  Få tabulatorer på linje ved at forudstille en tabulator."
+"-T, --initial-tab           få tabulatorer på linje ved at forudstille\n"
+"                              en tabulator"
 
 #: src/diff3.c:444
-#, fuzzy
 msgid "    --diff-program=PROGRAM  use PROGRAM to compare files"
-msgstr "--diff-program=PROGRAM  Brug PROGRAM til at sammenligne filerne."
+msgstr "    --diff-program=PROGRAM  brug PROGRAM til at sammenligne filerne"
 
 #: src/diff3.c:445
 msgid ""
 "-L, --label=LABEL           use LABEL instead of file name\n"
 "                                (can be repeated up to three times)"
 msgstr ""
+"-L, --label=MÆRKAT          brug MÆRKAT frem for filnavn\n"
+"                                (kan gentages op til tre gange)"
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Behandl alle filer som tekst."
+msgstr "    --help                  vis denne hjælpetekst og afslut"
 
 #: src/diff3.c:449
-#, fuzzy
 msgid "-v, --version               output version information and exit"
-msgstr "-v  --version  Vis versions-info."
+msgstr "-v, --version               vis versionsoplysninger og afslut"
 
 #: src/diff3.c:458
 #, c-format
@@ -1234,6 +1211,18 @@ msgid ""
 "and output the actual merged file.  For unusual input, this is more\n"
 "robust than using ed.\n"
 msgstr ""
+"\n"
+"Som standard bruges et rimelig læsevenligt udskriftsformat til "
+"repræsentation\n"
+"af ændringerne.\n"
+"\n"
+"Tilvalgene -e, -E, -x, -X (og de tilsvarende lange) får et ed-script til at\n"
+"blive udskrevet frem for standardopførslen.\n"
+"\n"
+"Endelig får tilvalget -m (--merge) diff3 til at flette internt, og udskrive\n"
+"den faktiske flettede fil.  Til usædvanlige inddata er dette mere robust "
+"end\n"
+"med ed.\n"
 
 #: src/diff3.c:482
 msgid "Exit status is 0 if successful, 1 if conflicts, 2 if trouble."
@@ -1258,30 +1247,30 @@ msgstr "intern fejl: ugyldig diff type i process_diff"
 msgid "invalid diff format; invalid change separator"
 msgstr "ugyldigt diff format; ugyldig ændrings-separator"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "ugyldigt diff format; uafsluttet sidste linje"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
 #, c-format
-msgid "subsidiary program `%s' could not be invoked"
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "hjælpeprogrammet '%s' kunne ikke køres"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "ugyldigt diff format; forkerte linje-begyndelses-tegn"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "intern fejl: ugyldig diff type sendt til uddata"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "ind-fil formindskedes"
 
 #: src/dir.c:158
 #, c-format
-msgid "cannot compare file names `%s' and `%s'"
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "kan ikke sammenligne filnavnene '%s' og '%s'"
 
 #: src/dir.c:209
@@ -1294,136 +1283,126 @@ msgstr "%s: rekursiv katalogløkke"
 msgid "Thomas Lord"
 msgstr "Thomas Lord"
 
-#: src/sdiff.c:170
-#, fuzzy
+#: src/sdiff.c:173
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
-msgstr "-o FIL  --output=FIL  Arbejd interaktivt, send uddata til FIL."
+msgstr ""
+"-o, --output=FIL             arbejd interaktivt, og send uddata til FIL"
 
-#: src/sdiff.c:172
-#, fuzzy
+#: src/sdiff.c:175
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
-msgstr "-e  --ignore-case  Anse store og små bogstaver for at være ens."
+msgstr ""
+"-i, --ignore-case            anse store og små bogstaver for at være ens"
 
-#: src/sdiff.c:173
-#, fuzzy
+#: src/sdiff.c:176
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
-"-E  --ignore-tab-expansion  Ignore ændringer, der skyldes tabulatoromsætning."
+"-E, --ignore-tab-expansion   ignorér ændringer, der skyldes "
+"tabulatoromsætning"
 
-#: src/sdiff.c:174
-#, fuzzy
+#: src/sdiff.c:177
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
-msgstr "-w  --ignore-all-space  Ignorér alle mellemrums-tegn."
+msgstr ""
+"-Z, --ignore-trailing-space  ignorér blanke tegn ved linjens afslutning"
 
-#: src/sdiff.c:175
-#, fuzzy
+#: src/sdiff.c:178
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr ""
-"-b  --ignore-space-change  Ignorér ændringer i antallet af mellemrumstegn."
+"-b, --ignore-space-change    ignorér ændringer i mængden af blanke tegn"
 
-#: src/sdiff.c:176
-#, fuzzy
+#: src/sdiff.c:179
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  Ignorér alle mellemrums-tegn."
+msgstr "-W, --ignore-all-space       ignorér alle blanke tegn"
 
-#: src/sdiff.c:177
-#, fuzzy
+#: src/sdiff.c:180
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr ""
-"-B  --ignore-blank-lines  Ignorér ændringer med udelukkende tomme linjer."
+"-B, --ignore-blank-lines     ignorér ændringer med udelukkende blanke linjer"
 
-#: src/sdiff.c:179
-#, fuzzy
-msgid "    --strip-trailing-cr      strip trailing carriage return on input"
+#: src/sdiff.c:181
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
 msgstr ""
-"--strip-trailing-cr  Fjern afsluttende vognretur (carriage return) i inddata."
+"-I, --ignore-matching-lines=MØNSTER  ignorér ændringer, hvis linjer alle\n"
+"                                       matcher MØNSTER"
 
-#: src/sdiff.c:180
-#, fuzzy
+#: src/sdiff.c:182
+msgid "    --strip-trailing-cr      strip trailing carriage return on input"
+msgstr "    --strip-trailing-cr      fjern afsluttende vognretur i inddata"
+
+#: src/sdiff.c:183
 msgid "-a, --text                   treat all files as text"
-msgstr "-a  --text  Behandl alle filer som tekst."
+msgstr "-a, --text                   behandl alle filer som tekst"
 
-#: src/sdiff.c:182
-#, fuzzy
+#: src/sdiff.c:185
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
-msgstr ""
-"-w ANTAL  --width=ANTAL  Udskriv højst ANTAL (som standard 130) søjler per "
-"linje."
+msgstr "-w, --width=ANTAL            udskriv højst ANTAL (normalt 130) søjler"
 
-#: src/sdiff.c:183
-#, fuzzy
+#: src/sdiff.c:186
 msgid ""
 "-l, --left-column            output only the left column of common lines"
-msgstr "-l  --left-column  Vis kun venstre kolonne af identiske linjer."
+msgstr "-l, --left-column            vis kun venstre kolonne af fælles linjer"
 
-#: src/sdiff.c:184
-#, fuzzy
+#: src/sdiff.c:187
 msgid "-s, --suppress-common-lines  do not output common lines"
-msgstr "-s  --suppress-common-lines  Udlæs ingen identiske linjer."
+msgstr "-s, --suppress-common-lines  vis ingen fælles linjer"
 
-#: src/sdiff.c:186
-#, fuzzy
+#: src/sdiff.c:189
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
-msgstr "-t  --expand-tabs  Lav tabulatorer om til mellemrum i output."
+msgstr "-t, --expand-tabs            lav tabulatorer om til mellemrum i output"
 
-#: src/sdiff.c:187
-#, fuzzy
+#: src/sdiff.c:190
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr ""
-"--tabsize=ANTAL  Tabulatorstop for hver ANTAL (som standard 8) udskrevne "
-"kolonner."
+"    --tabsize=ANTAL          tabulatorstop for hver ANTAL (normalt 8) "
+"kolonner"
 
-#: src/sdiff.c:189
-#, fuzzy
+#: src/sdiff.c:192
 msgid "-d, --minimal                try hard to find a smaller set of changes"
-msgstr "-d  --minimal  Grundigt forsøg på at finde et mindre antal ændringer."
+msgstr ""
+"-d, --minimal                forsøg ihærdigt at finde et mindre antal "
+"ændringer"
 
-#: src/sdiff.c:190
-#, fuzzy
+#: src/sdiff.c:193
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr ""
-"-H  --speed-large-files  Antag store filer og mange spredte, små ændringer."
+"-H, --speed-large-files      antag store filer og mange spredte, små "
+"ændringer"
 
-#: src/sdiff.c:191
-#, fuzzy
+#: src/sdiff.c:194
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
-msgstr "--diff-program=PROGRAM  Brug PROGRAM til at sammenligne filerne."
+msgstr "    --diff-program=PROGRAM   brug PROGRAM til at sammenligne filerne"
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Behandl alle filer som tekst."
+msgstr "    --help                   vis denne hjælpetekst og afslut"
 
-#: src/sdiff.c:194
-#, fuzzy
+#: src/sdiff.c:197
 msgid "-v, --version                output version information and exit"
-msgstr "-v  --version  Vis versions-info."
+msgstr "-v, --version                vis versionsoplysninger og afslut"
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Brug: %s [TILVALG]... FIL1 FIL2\n"
 
-#: src/sdiff.c:205
-#, fuzzy
+#: src/sdiff.c:208
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
-msgstr "Ved-siden-af-hinanden-sammenfletning af filforskelle."
+msgstr "Side om side-fletning af forskelle mellem FIL1 og FIL2."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "kan ikke indflette standard input interaktivt"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "begge filer der sammenlignes er kataloger"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
@@ -1452,173 +1431,32 @@ msgstr ""
 
 #~ msgid "-s  --quiet  --silent  Output nothing; yield exit status only."
 #~ msgstr ""
-#~ "-s  --quiet  --silent  Ingen udlæsning; sæt kun en afslutnings-slut-kode."
-
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  Vis versions-info."
+#~ "-s  --quiet  --silent  Ingen udskrift; sæt kun en afslutnings-slut-kode."
 
 #~ msgid "--help  Output this help."
-#~ msgstr "--help  Vis denne hjælp."
-
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Sammenlign tre filer linje for linje."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr ""
-#~ "-E  --ignore-tab-expansion  Ignore ændringer, der skyldes "
-#~ "tabulatoromsætning."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr ""
-#~ "-b  --ignore-space-change  Ignorér ændringer i antallet af mellemrumstegn."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Ignorer alle mellemrumskarakterer."
+#~ msgstr "--help  Vis denne hjælpetekst."
 
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr ""
-#~ "-B  --ignore-blank-lines  Ignorér ændringer med udelukkende tomme linjer."
-
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr ""
-#~ "--strip-trailing-cr  Fjern afsluttende vognretur (carriage return) i "
-#~ "inddata."
-
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Behandl alle filer som tekst."
-
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
-#~ "-c  -C ANTAL  --context[=ANTAL]  Udlæs ANTAL (standard 3) linjer af "
+#~ "-c  -C ANTAL  --context[=ANTAL]  Udskriv ANTAL (normalt 3) linjer af "
 #~ "kopieret kontekst.\n"
-#~ "-u  -U ANTAL  --unified[=ANTAL]  Udlæs ANTAL (standard 3) linjer af "
-#~ "unified kontekst.\n"
+#~ "-u  -U ANTAL  --unified[=ANTAL]  Udskriv ANTAL (normalt 3) linjer af "
+#~ "forenet kontekst.\n"
 #~ "  -L MÆRKE  --label MÆRKE  Brug MÆRKE i stedet for filnavn.\n"
 #~ "  -p --show-c-function  Vis hvilken C funktion hver ændring er i.\n"
 #~ "  -F MØNSTER  --show-function-line=MØNSTER  Vis den sidste foregående "
 #~ "linje, der matcher MØNSTER."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Udlæs et ed skript."
-
-#~ msgid ""
-#~ "-y  --side-by-side  Output in two columns.\n"
-#~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
-#~ "  --left-column  Output only the left column of common lines.\n"
-#~ "  --suppress-common-lines  Do not output common lines."
-#~ msgstr ""
-#~ "-y  --side-by-side  Udlæs i to kolonner.\n"
-#~ "  -W ANTAL  --width=ANTAL  Udlæs højst ANTAL (standard 130) "
-#~ "skriftsøjler.\n"
-#~ "  --left-column  Vis kun venstre kolonne af identiske linjer.\n"
-#~ "  --suppress-common-lines  Udlæs ikke sammenfaldende linjer."
-
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs  Lav tabulatorer om til mellemrum i output."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr ""
-#~ "-T --initial-tab  Få tabulatorer på linje ved at forudstille en tabulator."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr ""
-#~ "--tabsize=ANTAL  Tabulatorstop for hver ANTAL (som standard 8) udskrevne "
-#~ "kolonner."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr ""
-#~ "-d  --minimal  Grundigt forsøg på at finde et mindre antal ændringer."
-
-#~ msgid ""
-#~ "--speed-large-files  Assume large files and many scattered small changes."
-#~ msgstr ""
-#~ "--speed-large-files  Antag store filer og mange spredte, små ændringer."
-
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr "-A  --show-all  Udlæs alle ændringer, konflikter i paranteser."
-
-#~ msgid "-X  Output overlapping changes, bracketing them."
-#~ msgstr "-X  Udlæs overlappende ændringer, i paranteser."
-
-#~ msgid "-m  --merge  Output merged file instead of ed script (default -A)."
-#~ msgstr ""
-#~ "-m  --merge  Udlæs flettet fil i stedet for ed skript (standard -A)."
-
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L MÆRKE  --label=MÆRKE  Brug MÆRKE i stedet for filnavn."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr "--diff-program=PROGRAM  Brug PROGRAM til at sammenligne filerne."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Ignorer alle mellemrumskarakterer."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w ANTAL  --width=ANTAL  Udskriv højst ANTAL (som standard 130) søjler "
-#~ "per linje."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "-l  --left-column  Vis kun venstre kolonne af identiske linjer."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  Antag store filer og mange spredte, små ændringer."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "læsning mislykkedes"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "skrivning mislykkedes"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "læsning mislykkedes"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "læsning mislykkedes"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "skrivning mislykkedes"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "skrivning mislykkedes"
-
 #~ msgid ""
 #~ "This program comes with NO WARRANTY, to the extent permitted by law.\n"
 #~ "You may redistribute copies of this program\n"
index 89d01fe..26c670a 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index fa80789..84b088e 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -1,19 +1,21 @@
 # German messages for GNU diffutils.
+# This file is distributed under the same license as the diffutils package.
 # Copyright (C) 1996, 2001, 2002 Free Software Foundation, Inc.
 # Karl Eichwalder <keichwa@gmx.net>, 1996
-# Martin von Löwis <martin@v.loewis.de>, 1997, 2001, 2002
+# Martin von Löwis <martin@v.loewis.de>, 1997, 2001, 2002
+# Jakob Kramer <jakob.kramer@gmx.de>, 2012, 2013.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU diffutils 2.8.2\n"
+"Project-Id-Version: GNU diffutils 3.3-pre1\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
-"PO-Revision-Date: 2002-06-13 19:39+0200\n"
-"Last-Translator: Martin von Löwis <martin@v.loewis.de>\n"
-"Language-Team: German <de@li.org>\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
+"PO-Revision-Date: 2013-03-08 22:40+0100\n"
+"Last-Translator: Jakob Kramer <jakob.kramer@gmx.de>\n"
+"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
 
 #: lib/c-stack.c:204 lib/c-stack.c:297
@@ -22,219 +24,219 @@ msgstr "Programmfehler"
 
 #: lib/c-stack.c:205 lib/c-stack.c:298
 msgid "stack overflow"
-msgstr "Stacküberlauf"
+msgstr "Stacküberlauf"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
-msgstr "Unbekannter Systemfehler."
+msgstr "Unbekannter Systemfehler"
 
 #: lib/file-type.c:38
 msgid "regular empty file"
-msgstr ""
+msgstr "normale leere Datei"
 
 #: lib/file-type.c:38
-#, fuzzy
 msgid "regular file"
-msgstr "Lesefehler."
+msgstr "normale Datei"
 
 #: lib/file-type.c:41
 msgid "directory"
-msgstr ""
+msgstr "Verzeichnis"
 
 #: lib/file-type.c:44
 msgid "block special file"
-msgstr ""
+msgstr "Blockorientiertes Gerät"
 
 #: lib/file-type.c:47
 msgid "character special file"
-msgstr ""
+msgstr "Zeichenorientiertes Gerät"
 
 #: lib/file-type.c:50
 msgid "fifo"
-msgstr ""
+msgstr "FIFO"
 
 #: lib/file-type.c:53
 msgid "symbolic link"
-msgstr ""
+msgstr "symbolische Verknüpfung"
 
 #: lib/file-type.c:56
 msgid "socket"
-msgstr ""
+msgstr "Socket"
 
 #: lib/file-type.c:59
 msgid "message queue"
-msgstr ""
+msgstr "Nachrichten-Warteschlange"
 
 #: lib/file-type.c:62
 msgid "semaphore"
-msgstr ""
+msgstr "Semaphor"
 
 #: lib/file-type.c:65
 msgid "shared memory object"
-msgstr ""
+msgstr "gemeinsames Speicherobjekt"
 
 #: lib/file-type.c:68
 msgid "typed memory object"
-msgstr ""
+msgstr "typisiertes Speicherobjekt"
 
 #: lib/file-type.c:70
-#, fuzzy
 msgid "weird file"
-msgstr "Lesefehler."
+msgstr "seltsame Datei"
 
 #: lib/getopt.c:547 lib/getopt.c:576
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: Option »%s« ist mehrdeutig.\n"
+msgstr "%s: Option »%s« ist mehrdeutig, Möglichkeiten:"
 
 #: lib/getopt.c:624 lib/getopt.c:628
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: Option »--%s« verlangt kein Argument.\n"
+msgstr "%s: Option Â»--%s« verlangt kein Argument.\n"
 
 #: lib/getopt.c:637 lib/getopt.c:642
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: Option »%c%s« erlaubt kein Argument.\n"
+msgstr "%s: Option Â»%c%s« erlaubt kein Argument.\n"
 
 #: lib/getopt.c:685 lib/getopt.c:704
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '--%s' requires an argument\n"
-msgstr "%s: Option »%s« verlangt ein Argument.\n"
+msgstr "%s: Option Â»%s« verlangt ein Argument.\n"
 
 #: lib/getopt.c:742 lib/getopt.c:745
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: Unbekannte Option »--%s«.\n"
+msgstr "%s: Unbekannte Option Â»--%s«.\n"
 
 #: lib/getopt.c:753 lib/getopt.c:756
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: Unbekannte Option »%c%s«.\n"
+msgstr "%s: Unbekannte Option Â»%c%s«.\n"
 
 #: lib/getopt.c:805 lib/getopt.c:808
-#, fuzzy, c-format
+#, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: ungültige Option -- %c\n"
+msgstr "%s: ungültige Option -- »%c«\n"
 
 #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: Option verlangt ein Argument -- %c.\n"
+msgstr "%s: Option verlangt ein Argument -- »%c«\n"
 
 #: lib/getopt.c:934 lib/getopt.c:950
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: Option »-W %s« ist mehrdeutig.\n"
+msgstr "%s: Option »-W %s« ist mehrdeutig\n"
 
 #: lib/getopt.c:974 lib/getopt.c:992
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: Option »-W %s« erlaubt kein Argument.\n"
+msgstr "%s: Option Â»-W %s« erlaubt kein Argument.\n"
 
 #: lib/getopt.c:1013 lib/getopt.c:1031
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: Option »%s« verlangt ein Argument.\n"
+msgstr "%s: Option Â»-W %s« verlangt ein Argument.\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
-msgstr ""
+msgstr "»"
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
-msgstr ""
+msgstr "«"
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Erfolg."
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
-msgstr "Keine Übereinstimmung."
+msgstr "Keine Übereinstimmung."
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
-msgstr "Ungültiger regulärer Ausdruck."
+msgstr "Ungültiger regulärer Ausdruck."
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
-msgstr "Ungültiges Sortierzeichen."
+msgstr "Ungültiges Sortierzeichen."
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
-msgstr "Ungültiger Name für Zeichenklasse."
+msgstr "Ungültiger Name für Zeichenklasse."
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Extra Backslash."
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
-msgstr "Ungültige Rückreferenz."
+msgstr "Ungültige Rückreferenz."
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
-msgstr "Öffnende [ oder [^ ohne schließende."
+msgstr "Öffnende [ oder [^ ohne schließende."
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
-msgstr "Öffnende ( oder \\( ohne schließende."
+msgstr "Öffnende ( oder \\( ohne schließende."
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
-msgstr "Öffnende \\{ ohne schließende."
+msgstr "Öffnende \\{ ohne schließende."
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
-msgstr "Ungültiger Inhalt von \\{\\}."
+msgstr "Ungültiger Inhalt von \\{\\}."
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
-msgstr "Ungültiges Bereichsende."
+msgstr "Ungültiges Bereichsende."
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Speicher verbraucht."
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
-msgstr "Ungüliger vorhergehender regulärer Ausdruck."
+msgstr "Ungüliger vorhergehender regulärer Ausdruck."
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
-msgstr "Vorzeitiges Ende des regulären Ausdrucks."
+msgstr "Vorzeitiges Ende des regulären Ausdrucks."
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
-msgstr "Regulärer Ausdruck zu groß."
+msgstr "Regulärer Ausdruck zu groß."
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
-msgstr "Schließende ) oder \\) ohne öffnende."
+msgstr "Schließende ) oder \\) ohne öffnende."
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
-msgstr "Kein vorhergehender regulärer Ausdruck."
+msgstr "Kein vorhergehender regulärer Ausdruck."
 
 #: lib/xalloc-die.c:34
 msgid "memory exhausted"
@@ -242,57 +244,56 @@ msgstr "Speicher verbraucht."
 
 #: lib/xfreopen.c:35
 msgid "stdin"
-msgstr ""
+msgstr "Standardeingabe"
 
 #: lib/xfreopen.c:36
 msgid "stdout"
-msgstr ""
+msgstr "Standardausgabe"
 
 #: lib/xfreopen.c:37
 msgid "stderr"
-msgstr ""
+msgstr "Standardfehlerausgabe"
 
 #: lib/xfreopen.c:38
-#, fuzzy
 msgid "unknown stream"
-msgstr "Unbekannter Systemfehler."
+msgstr "unbekannter Datenstrom"
 
 #: lib/xfreopen.c:39
 #, c-format
 msgid "failed to reopen %s with mode %s"
-msgstr ""
+msgstr "%s konnte mit Modus %s nicht wieder geöffnet werden"
 
 #: lib/xstrtol-error.c:63
-#, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
-msgstr "ungültiger --bytes-Wert »%s«."
+#, c-format
+msgid "invalid %s%s argument '%s'"
+msgstr "ungültiges %s%s Argument »%s«"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "ungültige Horizontlänge '%s'."
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr "ungültiger Suffix in %s%s Argument »%s«"
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
-msgstr ""
+msgid "%s%s argument '%s' too large"
+msgstr "%s%s Argument »%s« zu groß"
 
 #: lib/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
-msgstr ""
+msgstr "Paket erstellt von %s (%s)\n"
 
 #: lib/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
-msgstr ""
+msgstr "Paket erstellt von %s\n"
 
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
 #: lib/version-etc.c:84
 msgid "(C)"
-msgstr "©"
+msgstr "©"
 
 #: lib/version-etc.c:86
 msgid ""
@@ -303,24 +304,31 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 "\n"
 msgstr ""
+"\n"
+"Lizenz GPLv3+: GNU GPL Version 3 oder später <http://www.gnu.org/licenses/"
+"gpl.html>.\n"
+"Dies ist freie Software: Sie dürfen sie verändern und verbreiten.\n"
+"Es gibt KEINE GARANTIE, soweit diese nicht durch das Gesetz vorgeschrieben\n"
+"wird.\n"
+"\n"
 
 #. TRANSLATORS: %s denotes an author name.
 #: lib/version-etc.c:102
-#, fuzzy, c-format
+#, c-format
 msgid "Written by %s.\n"
-msgstr "Geschrieben von Thomas Lord."
+msgstr "Geschrieben von %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: lib/version-etc.c:106
-#, fuzzy, c-format
+#, c-format
 msgid "Written by %s and %s.\n"
-msgstr "Geschrieben von Randy Smith."
+msgstr "Geschrieben von %s und %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: lib/version-etc.c:110
-#, fuzzy, c-format
+#, c-format
 msgid "Written by %s, %s, and %s.\n"
-msgstr "Geschrieben von Randy Smith."
+msgstr "Geschrieben von %s, %s und %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -331,6 +339,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"Geschrieben von %s, %s, %s\n"
+"und %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -341,6 +351,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"Geschrieben von %s, %s, %s,\n"
+"%s und %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -351,6 +363,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, and %s.\n"
 msgstr ""
+"Geschrieben von %s, %s, %s,\n"
+"%s, %s und %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -361,6 +375,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, and %s.\n"
 msgstr ""
+"Geschrieben von %s, %s, %s,\n"
+"%s, %s, %s und %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -372,6 +388,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"Geschrieben von %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"und %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -383,6 +402,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"Geschrieben von %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s und %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -394,6 +416,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "%s, %s, and others.\n"
 msgstr ""
+"Geschrieben von %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s und weiteren.\n"
 
 #. TRANSLATORS: The placeholder indicates the bug-reporting address
 #. for this package.  Please add _another line_ saying
@@ -405,27 +430,32 @@ msgid ""
 "\n"
 "Report bugs to: %s\n"
 msgstr ""
+"\n"
+"Fehlerberichte an %s.\n"
+"Übersetzungsfehler an <http://translationproject.org/team/de.html>.\n"
 
 #: lib/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
-msgstr ""
+msgstr "Berichten Sie Fehler in %s an %s.\n"
 
 #: lib/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
-msgstr ""
+msgstr "Homepage von %s: <%s>.\n"
 
 #: lib/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr ""
+msgstr "Homepage von %s: <http://www.gnu.org/software/%s/>.\n"
 
 #: lib/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
+"Generelle Hilfe zur Benutzung von GNU-Software: <http://www.gnu.org/gethelp/"
+">.\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Dateien %s und %s sind verschieden.\n"
@@ -433,93 +463,89 @@ msgstr "Dateien %s und %s sind verschieden.\n"
 #: src/analyze.c:462
 #, c-format
 msgid "Binary files %s and %s differ\n"
-msgstr "Binärdateien %s and %s sind verschieden.\n"
+msgstr "Binärdateien %s und %s sind verschieden.\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Kein Zeilenumbruch am Dateiende."
 
 #. This is a proper name. See the gettext manual, section Names.
 #: src/cmp.c:43
 msgid "Torbjorn Granlund"
-msgstr ""
+msgstr "Torbjorn Granlund"
 
 #. This is a proper name. See the gettext manual, section Names.
 #: src/cmp.c:44
 msgid "David MacKenzie"
-msgstr ""
+msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
 #, c-format
-msgid "Try `%s --help' for more information."
-msgstr "»%s --help« gibt Ihnen mehr Informationen."
+msgid "Try '%s --help' for more information."
+msgstr "»%s --help« gibt Ihnen mehr Informationen."
 
 #: src/cmp.c:137
 #, c-format
-msgid "invalid --ignore-initial value `%s'"
-msgstr "ungültiger --ignore-initial-Wert »%s«."
+msgid "invalid --ignore-initial value '%s'"
+msgstr "ungültiger --ignore-initial-Wert »%s«"
 
 #: src/cmp.c:147
 #, c-format
 msgid "options -l and -s are incompatible"
 msgstr "Die Optionen -l und -s sind inkompatibel."
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "Schreibfehler."
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "Standardausgabe"
 
 #: src/cmp.c:161
-#, fuzzy
 msgid "-b, --print-bytes          print differing bytes"
-msgstr "-b  --print-bytes  Verschiedene Bytes ausgeben."
+msgstr "-b, --print-bytes          Verschiedene Bytes ausgeben."
 
 #: src/cmp.c:162
-#, fuzzy
 msgid "-i, --ignore-initial=SKIP         skip first SKIP bytes of both inputs"
 msgstr ""
-"-i SKIP  --ignore-initial=SKIP  Die ersten SKIP Bytes der Eingabe "
-"überspringen."
+"-i, --ignore-initial=SKIP         Die ersten SKIP Bytes der Eingabe "
+"überspringen."
 
 #: src/cmp.c:163
-#, fuzzy
 msgid ""
 "-i, --ignore-initial=SKIP1:SKIP2  skip first SKIP1 bytes of FILE1 and\n"
 "                                      first SKIP2 bytes of FILE2"
 msgstr ""
-"  Die ersten SKIP1 Bytes von DATEI1 und die ersten SKIP2 Bytes von DATEI2\n"
-"  überspringen."
+"-i, --ignore-initial=SKIP1:SKIP2  Die ersten SKIP1 Bytes von DATEI1\n"
+"                                  und die ersten SKIP2 Bytes von DATEI2 "
+"überspringen."
 
 #: src/cmp.c:165
-#, fuzzy
 msgid ""
 "-l, --verbose              output byte numbers and differing byte values"
 msgstr ""
-"-l  --verbose  Bytenummern und Werte aller unterschiedlichen Bytes ausgeben."
+"-l, --verbose              Bytenummern und Werte aller unterschiedlichen "
+"Bytes ausgeben."
 
 #: src/cmp.c:166
-#, fuzzy
 msgid "-n, --bytes=LIMIT          compare at most LIMIT bytes"
-msgstr "-n LIMIT  --bytes=LIMIT  Höchstens LIMIT Bytes vergleichen."
+msgstr "-n, --bytes=LIMIT          Höchstens LIMIT Bytes vergleichen."
 
 #: src/cmp.c:167
 msgid "-s, --quiet, --silent      suppress all normal output"
-msgstr ""
+msgstr "-s, --quiet, --silent      Alle normalen Ausgaben unterdrücken."
 
 #: src/cmp.c:168
 msgid "    --help                 display this help and exit"
-msgstr ""
+msgstr "    --help                 Diese Hilfe anzeigen und beenden."
 
 #: src/cmp.c:169
-#, fuzzy
 msgid "-v, --version              output version information and exit"
-msgstr "-v  -version  Versionsinformation ausgeben."
+msgstr "-v, -version               Versionsinformation ausgeben und beenden."
 
 #: src/cmp.c:178
 #, c-format
@@ -528,21 +554,21 @@ msgstr "Aufruf: %s [OPTION]... DATEI1 [DATEI2 [SKIP1 [SKIP2]]]\n"
 
 #: src/cmp.c:180
 msgid "Compare two files byte by byte."
-msgstr "Zwei Dateien Byte für Byte vergleichen."
+msgstr "Zwei Dateien Byte für Byte vergleichen."
 
 #: src/cmp.c:182
-#, fuzzy
 msgid ""
 "The optional SKIP1 and SKIP2 specify the number of bytes to skip\n"
 "at the beginning of each file (zero by default)."
 msgstr ""
-"SKIP1 und SKIP2 ist die Zahl der Bytes, die in jeder Datei übersprungen "
-"werden."
+"Die optionalen Argumente SKIP1 und SKIP2 geben die Zahl der Bytes an,\n"
+"die in jeder Datei übersprungen werden (standardmäßig null)."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
+"Nötige Argumente für lange Optionen sind auch für kurze Optionen nötig.\n"
 
 #: src/cmp.c:191
 msgid ""
@@ -550,37 +576,39 @@ msgid ""
 "kB 1000, K 1024, MB 1,000,000, M 1,048,576,\n"
 "GB 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y."
 msgstr ""
-"SKIP-Werte dürfen die folgenden multiplikativen Anhänge haben:\n"
+"SKIP-Werte dürfen die folgenden multiplikativen Anhänge haben:\n"
 "kB 1000, K 1024, MB 1.000.000, M 1.048.576,\n"
-"GB 1.000.000.000, G 1.073.741.824, und so weiter für T, P, E, Z, Y."
+"GB 1.000.000.000, G 1.073.741.824, und so weiter für T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
-msgstr "Wenn DATEI »-« ist oder fehlt, von der Standardeingabe lesen."
+msgid "If a FILE is '-' or missing, read standard input."
+msgstr "Wenn DATEI Â»-« ist oder fehlt, von der Standardeingabe lesen."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
+"Der Rückgabewert des Programms ist 0, falls die Eingaben identisch\n"
+"sind, 1 falls sie gleich sind und 2 falls es Probleme gab."
 
 #: src/cmp.c:240
 #, c-format
-msgid "invalid --bytes value `%s'"
-msgstr "ungültiger --bytes-Wert »%s«."
+msgid "invalid --bytes value '%s'"
+msgstr "ungültiger --bytes-Wert »%s«"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
 #, c-format
-msgid "missing operand after `%s'"
-msgstr "Fehlender Operand nach »%s«."
+msgid "missing operand after '%s'"
+msgstr "fehlender Operand nach »%s«"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
 #, c-format
-msgid "extra operand `%s'"
-msgstr "extra Argument »%s«."
+msgid "extra operand '%s'"
+msgstr "extra Operand Â»%s«."
 
 #: src/cmp.c:491
 #, c-format
 msgid "%s %s differ: byte %s, line %s\n"
-msgstr "%s %s differieren: Byte %s, Zeile %s.\n"
+msgstr "%s %s differieren: Byte %s, Zeile %s\n"
 
 #: src/cmp.c:507
 #, c-format
@@ -593,348 +621,338 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: EOF auf %s.\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
-msgstr ""
+msgstr "Paul Eggert"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
-msgstr ""
+msgstr "Mike Haertel"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
-msgstr ""
+msgstr "David Hayes"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
-msgstr ""
+msgstr "Richard Stallman"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
-msgstr ""
+msgstr "Len Tower"
 
-#: src/diff.c:340
+#: src/diff.c:339
 #, c-format
-msgid "invalid context length `%s'"
-msgstr "Ungültige Kontextlänge »%s«."
+msgid "invalid context length '%s'"
+msgstr "ungültige Kontextlänge »%s«"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
-msgstr "Seitenumbruch ist auf diesem System nicht unterstützt."
+msgstr "Seitenumbruch ist auf diesem System nicht unterstützt."
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "Zu viele Datei-Label-Optionen."
 
-#: src/diff.c:515
+#: src/diff.c:514
 #, c-format
-msgid "invalid width `%s'"
-msgstr "Ungültig mit »%s«."
+msgid "invalid width '%s'"
+msgstr "ungültige Breite »%s«"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
-msgstr "Widersprüchliche Breitenoptionen"
+msgstr "Widersprüchliche Breitenoptionen"
 
-#: src/diff.c:544
+#: src/diff.c:543
 #, c-format
-msgid "invalid horizon length `%s'"
-msgstr "ungültige Horizontlänge '%s'."
+msgid "invalid horizon length '%s'"
+msgstr "ungültige Horizontlänge »%s«"
 
-#: src/diff.c:595
+#: src/diff.c:598
 #, c-format
-msgid "invalid tabsize `%s'"
-msgstr "Ungültige Tabulatorbreite »%s«."
+msgid "invalid tabsize '%s'"
+msgstr "ungültige Tabulatorbreite »%s«"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
-msgstr "Widersprüchliche Tabulatorbreitenoptionen."
+msgstr "Widersprüchliche Tabulatorbreitenoptionen."
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "--from-file und --to-file sind beide angegeben."
 
-#: src/diff.c:851
-#, fuzzy
+#: src/diff.c:854
 msgid "    --normal                  output a normal diff (the default)"
-msgstr "--normal  Ein normales Diff ausgeben."
+msgstr "    --normal                  Ein normales Diff ausgeben (Standard)."
 
-#: src/diff.c:852
-#, fuzzy
+#: src/diff.c:855
 msgid "-q, --brief                   report only when files differ"
-msgstr "-q  --brief  Nur ausgeben ob die Dateien verschieden sind."
+msgstr ""
+"-q, --brief                   Nur ausgeben, ob die Dateien verschieden sind."
 
-#: src/diff.c:853
-#, fuzzy
+#: src/diff.c:856
 msgid "-s, --report-identical-files  report when two files are the same"
-msgstr "-s  --report-identical-files  Meldung, wenn zwei Dateien gleich sind."
+msgstr "-s, --report-identical-files  Meldung, wenn zwei Dateien gleich sind."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w ZAHL  --width=ZAHL  Maximal ZAHL Druckspalten pro Zeile (Vorgabe: 130)."
+"-c, -C ZAHL, --context[=ZAHL]   ZAHL Zeilen des kopierten Kontexts ausgeben "
+"(Vorgabe: 3)."
 
-#: src/diff.c:855
-#, fuzzy
+#: src/diff.c:858
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
-"-w ZAHL  --width=ZAHL  Maximal ZAHL Druckspalten pro Zeile (Vorgabe: 130)."
+"-u, -U ZAHL, --unified[=ZAHL]   ZAHL Zeilen des Unified-Kontexts ausgeben "
+"(Vorgabe: 3)."
 
-#: src/diff.c:856
-#, fuzzy
+#: src/diff.c:859
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Betrachte alle Dateien als Text."
+msgstr "-e, --ed                      Ein ed-Skript ausgeben."
 
-#: src/diff.c:857
-#, fuzzy
+#: src/diff.c:860
 msgid "-n, --rcs                     output an RCS format diff"
-msgstr "-n  --rcs  Ausgabe im Diff-Format von RCS."
+msgstr "-n, --rcs                     Im RCS-Format ausgeben."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  -version  Versionsinformation ausgeben."
+msgstr "-y, --side-by-side            In zwei Spalten ausgeben."
 
-#: src/diff.c:859
-#, fuzzy
+#: src/diff.c:862
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
-"-w ZAHL  --width=ZAHL  Maximal ZAHL Druckspalten pro Zeile (Vorgabe: 130)."
+"-W, --width=ZAHL              Maximal ZAHL Druckspalten pro Zeile ausgeben "
+"(Vorgabe: 130)."
 
-#: src/diff.c:860
-#, fuzzy
+#: src/diff.c:863
 msgid ""
 "    --left-column             output only the left column of common lines"
-msgstr "-l  --left-column  Nur linke Spalte der gemeinsamen Zeilen ausgeben."
+msgstr ""
+"    --left-column             Nur linke Spalte der gemeinsamen Zeilen "
+"ausgeben."
 
-#: src/diff.c:861
-#, fuzzy
+#: src/diff.c:864
 msgid "    --suppress-common-lines   do not output common lines"
-msgstr "-s  --suppress-common-lines  Keine gemeinsamen Zeilen ausgeben."
+msgstr "    --suppress-common-lines   Keine gemeinsamen Zeilen ausgeben."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
+"-p, --show-c-function         Für jede Änderung zeigen, in welcher C-"
+"Funktion sie ist"
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
+"-F, --show-function-line=RE   Die neueste Zeile, die dem Muster RE "
+"entspricht, zeigen"
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
+"    --label LABEL             LABEL statt Dateinamens benutzen\n"
+"                              (kann wiederholt werden)"
 
-#: src/diff.c:868
-#, fuzzy
+#: src/diff.c:871
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
-msgstr "-t  -expand-tabs  Tabulatoren zu Leerzeichen in der Ausgabe ausdehnen."
+msgstr ""
+"-t, -expand-tabs              Tabulatoren zu Leerzeichen in der Ausgabe "
+"ausdehnen."
 
-#: src/diff.c:869
-#, fuzzy
+#: src/diff.c:872
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
-"-T --initial-tab  Einrückungen durch vorangestellte Tabulatoren erzeugen."
+"-T, --initial-tab             Einrückungen durch vorangestellte Tabulatoren "
+"erzeugen."
 
-#: src/diff.c:870
-#, fuzzy
+#: src/diff.c:873
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
-msgstr "--tabsize=ZAHL Tabulatorstopps sind alle ZAHL Spalten (Vorgabe: 8)."
+msgstr ""
+"    --tabsize=ZAHL            Tabulatorstopps sind alle ZAHL Spalten "
+"(Vorgabe: 8)."
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
+"    --suppress-blank-empty    Leerzeichen oder Tabulator vor leeren\n"
+"                              Ausgabezeilen verhindern."
 
-#: src/diff.c:872
-#, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
-msgstr "-l  --paginate  Ausgabe an »pr« zum Seitenumbruch übergeben."
+#: src/diff.c:875
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
+msgstr ""
+"-l, --paginate                Ausgabe an »pr« zum Seitenumbruch übergeben."
 
-#: src/diff.c:874
-#, fuzzy
+#: src/diff.c:877
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
-msgstr "-r  --recursive  Rekursiv alle Unterverzeichnisse vergleichen."
+msgstr ""
+"-r, --recursive                 Rekursiv alle Unterverzeichnisse vergleichen."
 
-#: src/diff.c:875
-#, fuzzy
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+"    --no-derefence              Symbolischen Verknüpfungen nicht folgen"
+
+#: src/diff.c:879
 msgid "-N, --new-file                  treat absent files as empty"
-msgstr "-N --new-file  Fehlende Dateien als leer betrachten."
+msgstr "-N, --new-file                  Fehlende Dateien als leer betrachten."
 
-#: src/diff.c:876
-#, fuzzy
+#: src/diff.c:880
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
-"--unidirectional-new-file  Die ersten fehlenden Dateien als leer betrachten."
+"    --unidirectional-new-file   Die ersten fehlenden Dateien als leer "
+"betrachten."
 
-#: src/diff.c:877
-#, fuzzy
+#: src/diff.c:881
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
-"--ignore-file-name-case  Unterschiede der Groß/Kleinschreibung von "
+"    --ignore-file-name-case     Unterschiede der Groß/Kleinschreibung von "
 "Dateinamen\n"
-"                         ignorieren."
+"                                ignorieren."
 
-#: src/diff.c:878
-#, fuzzy
+#: src/diff.c:882
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
-"--no-ignore-file-name-case  Unterschiede der Groß/Kleinschreibung von \n"
-"                            Dateinamen beachten."
+"    --no-ignore-file-name-case  Unterschiede der Groß/Kleinschreibung von \n"
+"                                Dateinamen beachten."
 
-#: src/diff.c:879
-#, fuzzy
+#: src/diff.c:883
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr ""
-"-x MUSTER --exclude=MUSTER  Dateien, die auf MUSTER passen, ausschließen."
+"-x, --exclude=MUSTER            Dateien, die auf MUSTER passen, ausschließen."
 
-#: src/diff.c:880
-#, fuzzy
+#: src/diff.c:884
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
-"-X  DATEI  --exclude-from=DATEI  Dateien überspringen, die auf eines der "
+"-X, --exclude-from=DATEI        Dateien überspringen, die auf eines der\n"
 "Muster in DATEI passen."
 
-#: src/diff.c:881
-#, fuzzy
+#: src/diff.c:885
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
-"-S DATEI  --starting-file=DATEI  Beim Verzeichnisvergleich mit DATEI "
-"beginnen."
+"-S, --starting-file=DATEI       Beim Verzeichnisvergleich mit DATEI beginnen."
 
-#: src/diff.c:882
-#, fuzzy
+#: src/diff.c:886
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
 "                                  FILE1 can be a directory"
 msgstr ""
-"--from-file=DATEI1  DATEI1 mit allen Operanden vergleichen.\n"
-"                    DATEI1 kann ein Verzeichnis sein."
+"    --from-file=DATEI1          DATEI1 mit allen Operanden vergleichen.\n"
+"                                DATEI1 kann ein Verzeichnis sein."
 
-#: src/diff.c:884
-#, fuzzy
+#: src/diff.c:888
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
 "                                  FILE2 can be a directory"
 msgstr ""
-"--to-file=DATEI2  Alle Operanden mit DATEI2 vergleichen.\n"
-"                  DATEI2 kann ein Verzeichnis sein."
+"    --to-file=DATEI2            Alle Operanden mit DATEI2 vergleichen.\n"
+"                                DATEI2 kann ein Verzeichnis sein."
 
-#: src/diff.c:887
-#, fuzzy
+#: src/diff.c:891
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr ""
-"-i  --ignore-case  Unterschiede der Groß/Kleinschreibung im Dateiinhalt \n"
+"-i, --ignore-case  Unterschiede der Groß/Kleinschreibung im Dateiinhalt\n"
 "                   ignorieren."
 
-#: src/diff.c:888
-#, fuzzy
+#: src/diff.c:892
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
-"-E  --ignore-tab-expansion  Änderungen aufgrund von Tabausdehnungen "
+"-E, --ignore-tab-expansion     Änderungen aufgrund von Tabausdehnungen "
 "ignorieren."
 
-#: src/diff.c:889
-#, fuzzy
+#: src/diff.c:893
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
-msgstr "-w  --ignore-all-space  Freiraum ignorieren."
+msgstr "-Z, --ignore-trailing-space    Freiraum am Zeilenende ignorieren."
 
-#: src/diff.c:890
-#, fuzzy
+#: src/diff.c:894
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
-msgstr "-b  --ignore-space-change  Ignoriere Änderungen im Leerraum."
+msgstr "-b, --ignore-space-change       Ignoriere Änderungen im Leerraum."
 
-#: src/diff.c:891
-#, fuzzy
+#: src/diff.c:895
 msgid "-w, --ignore-all-space          ignore all white space"
-msgstr "-w  --ignore-all-space  Freiraum ignorieren."
+msgstr "-w, --ignore-all-space          Freiraum ignorieren."
 
-#: src/diff.c:892
-#, fuzzy
+#: src/diff.c:896
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr ""
-"-B, --ignore-blank-lines   Die Änderungen übergehen, wo die Zeilen leer sind."
+"-B, --ignore-blank-lines        Die Änderungen übergehen, wo alle Zeilen "
+"leer sind."
 
-#: src/diff.c:893 src/sdiff.c:178
-#, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+#: src/diff.c:897
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
-"-I RE --ignore-matching-lines=RE  Änderungen ignorieren, deren Zeilen \n"
-"                                  auf das Muster RE passen."
+"-I, --ignore-matching-lines=RE  Änderungen ignorieren, bei denen alle "
+"Zeilen\n"
+"                                auf das Muster RE passen."
 
-#: src/diff.c:895
-#, fuzzy
+#: src/diff.c:899
 msgid "-a, --text                      treat all files as text"
-msgstr "-a  --text  Betrachte alle Dateien als Text."
+msgstr "-a, --text                      Alle Dateien als Text behandeln."
 
-#: src/diff.c:896
-#, fuzzy
+#: src/diff.c:900
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr ""
-"--strip-trailing-cr  Wagenrücklauf (CR) am Zeilenende beim Einlesen "
-"entfernen."
+"    --strip-trailing-cr         Wagenrücklauf (CR) am Zeilenende beim "
+"Einlesen entfernen."
 
-#: src/diff.c:898
-#, fuzzy
+#: src/diff.c:902
 msgid "    --binary                    read and write data in binary mode"
-msgstr "--binary  Daten im Binärmodus lesen und schreiben."
+msgstr ""
+"    --binary                    Daten im Binärmodus lesen und schreiben."
 
-#: src/diff.c:901
-#, fuzzy
+#: src/diff.c:905
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
-msgstr "-D NAME  --ifdef=NAME  Datei mit »#ifdef NAME« in die Ausgabe mischen."
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
+msgstr ""
+"-D, --ifdef=NAME                Zusammengefügte Datei mit »#ifdef NAME« in\n"
+"                                die Ausgabe mischen."
 
-#: src/diff.c:902
-#, fuzzy
+#: src/diff.c:906
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
-msgstr ""
-"--GTYPE-group-format=GFMT   Ähnlich, GTYPE-Eingabe jedoch mit GFMT "
-"formatieren."
+msgstr "    --GTYPE-group-format=GFMT   GTYPE-Eingabe mit GFMT formatieren."
 
-#: src/diff.c:903
-#, fuzzy
+#: src/diff.c:907
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
-"--line-format=LFMT   Ähnlich, aber alle Eingabe-Zeilen mit LFMT formatieren."
+"    --line-format=LFMT          Alle Eingabe-Zeilen mit LFMT formatieren."
 
-#: src/diff.c:904
-#, fuzzy
+#: src/diff.c:908
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
-msgstr ""
-"--LTYPE-line-format=LFMT  Ähnlich, LTYPE-Eingabe jedoch mit LFMT formatieren."
+msgstr "    --LTYPE-line-format=LFMT    LTYPE-Eingabe mit LFMT formatieren."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
+"  Diese Formatoptionen stellen haargenaue Kontrolle über die Eingabe\n"
+"    von diff bereit, indem -D/--ifdef verallgemeinert wird."
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
-"  LTYPE kann »old«, »new« oder »unchanged« sein. GTYPE ist LTYPE oder "
-"»changed«."
+"  LTYPE kann Â»old«, Â»new« oder Â»unchanged« sein. GTYPE ist LTYPE oder "
+"»changed«."
 
-#: src/diff.c:908
-#, fuzzy
+#: src/diff.c:912
 msgid ""
 "  GFMT (only) may contain:\n"
 "    %<  lines from FILE1\n"
@@ -949,34 +967,34 @@ msgid ""
 "        M  L+1\n"
 "    %(A=B?T:E)  if A equals B then T else E"
 msgstr ""
-"  GFMT kann enthalten:\n"
+"  GFMT kann (nur) enthalten:\n"
 "    %<  Zeilen von DATEI1.\n"
 "    %>  Zeilen von DATEI2.\n"
-"    %=  Zeilen, die sowohl zu DATEI1 als auc zu DATEI2 gehören.\n"
-"    %[-][BREITE][.[PRÄZ]]{doxX}BUCHST  Ausgabe nach printf-Regeln für "
+"    %=  Zeilen, die sowohl zu DATEI1 als auc zu DATEI2 gehören.\n"
+"    %[-][BREITE][.[PRÄZ]]{doxX}BUCHST  Ausgabe nach printf-Regeln für "
 "BUCHST.\n"
-"      Folgende BUCHTSTaben gelten für neue Gruppen, Kleinschreibung für "
+"      Folgende BUCHTSTaben gelten für neue Gruppen, Kleinschreibung für "
 "alte:\n"
 "        F  Erste Zeilennummer.\n"
 "        L  Letzte Zeilennummer.\n"
 "        N  Zahl der Zeilen = L-F+1.\n"
-"        E  F-1."
+"        E  F-1.\n"
+"        M  L+1.\n"
+"    %(A=B?T:E)  Falls A gleich B, dann T, sonst E."
 
-#: src/diff.c:920
-#, fuzzy
+#: src/diff.c:924
 msgid ""
 "  LFMT (only) may contain:\n"
 "    %L  contents of line\n"
 "    %l  contents of line, excluding any trailing newline\n"
 "    %[-][WIDTH][.[PREC]]{doxX}n  printf-style spec for input line number"
 msgstr ""
-"  LFMT kann enthalten:\n"
+"  LFMT kann (nur) enthalten:\n"
 "    %L  Inhalt der Zeile.\n"
 "    %l  Inhalt der Zeile, ohne Newline am Ende.\n"
-"    %[-][BREITE][.[PRÄZ]]{doxX}n  Zeilennummer im printf-Stil."
+"    %[-][BREITE][.[PRÄZ]]{doxX}n  Zeilennummer im printf-Stil."
 
-#: src/diff.c:924
-#, fuzzy
+#: src/diff.c:928
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
 "    %%  %\n"
@@ -984,112 +1002,113 @@ msgid ""
 "    %c'\\OOO'  the character with octal code OOO\n"
 "    C    the character C (other characters represent themselves)"
 msgstr ""
-"  Sowohl GFMT als auch LFMT können folgendes enthalten:\n"
+"  GFMT und LFMT können enthalten:\n"
 "    %% %\n"
 "    %c'C'  das einzelne Zeichen C\n"
-"    %c'\\000'  das Zeichen mit dem Oktalcode 000"
+"    %c'\\OOO'  das Zeichen mit dem Oktalcode OOO\n"
+"    C    Das Zeichen C (andere Zeichen stellen sich selbst dar)"
 
-#: src/diff.c:930
-#, fuzzy
+#: src/diff.c:934
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr ""
-"-d  --minimal  Aufwendig nach einem kleineren Satz von Änderungen suchen."
+"-d, --minimal            Aufwendig nach einem kleineren Satz von Änderungen "
+"suchen."
 
-#: src/diff.c:931
-#, fuzzy
+#: src/diff.c:935
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
-"--horizon-lines=ZAHL   Behalte ZAHL Zeilen mit gemeinsamen Pre- und Suffix."
+"    --horizon-lines=ZAHL Behalte ZAHL Zeilen mit gemeinsamem Prä- und Suffix."
 
-#: src/diff.c:932
-#, fuzzy
+#: src/diff.c:936
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr ""
-"-H --speed-large-files  Es werden große Dateien und viele Änderungen "
-"vermutet."
+"    --speed-large-files  Es werden große Dateien und viele verstreute, "
+"kleine\n"
+"                         Änderungen vermutet."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
-msgstr ""
+msgstr "    --help               Diese Hilfe anzeigen und beenden."
 
-#: src/diff.c:935
-#, fuzzy
+#: src/diff.c:939
 msgid "-v, --version            output version information and exit"
-msgstr "-v  -version  Versionsinformation ausgeben."
+msgstr "-v, -version             Versionsinformation ausgeben und beenden."
 
-#: src/diff.c:937
+#: src/diff.c:941
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
-"DATEIEN sind 'DATEI1 DATEI2' oder 'VERZ1 VERZ2' oder \"VERZ DATEI...\" \n"
-"oder \"DATEI... VERZ;"
+"DATEIEN sind »DATEI1 DATEI2« oder »VERZ1 VERZ2« oder »VERZ DATEI...«\n"
+"oder »DATEI... VERZ«."
 
-#: src/diff.c:938
-#, fuzzy
+#: src/diff.c:942
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
-"Wenn --from-file oder --to-file angegeben werden, gibt es keine \n"
-"Einschränkungen für DATEIEN."
+"Wenn --from-file oder --to-file angegeben werden, gibt es keine\n"
+"Einschränkungen für DATEI(EN)."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
-msgstr "Wenn DATEI »-« ist, von der Standardeingabe lesen."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+msgid "If a FILE is '-', read standard input."
+msgstr "Wenn DATEI Â»-« ist, von der Standardeingabe lesen."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Aufruf: %s [OPTION]... DATEIEN\n"
 
-#: src/diff.c:950
-#, fuzzy
+#: src/diff.c:954
 msgid "Compare FILES line by line."
-msgstr "Vergleichen Sie Dateien Zeile für Zeile."
+msgstr "Dateien Zeile für Zeile vergleichen."
 
-#: src/diff.c:984
+#: src/diff.c:988
 #, c-format
-msgid "conflicting %s option value `%s'"
-msgstr "Widersprüchlicher Optionswert %s für »%s«."
+msgid "conflicting %s option value '%s'"
+msgstr "Widersprüchlicher %s Optionswert Â»%s«."
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
-msgstr "Widersprüchliche Optionenen für den Ausgabestil."
+msgstr "Widersprüchliche Optionenen für den Ausgabestil."
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Nur in %s: %s.\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
-msgstr "»-« kann nicht mit Verzeichnis verglichen werden."
+#: src/diff.c:1192
+msgid "cannot compare '-' to a directory"
+msgstr "»-« kann nicht mit Verzeichnis verglichen werden."
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
-msgstr "Option -D nicht unterstützt bei Verzeichnissen"
+msgstr "Option -D nicht unterstützt bei Verzeichnissen"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Gemeinsame Unterverzeichnisse: %s und %s.\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
-msgstr "Datei %s ist ein %s während Datei %s ein %s ist.\n"
+msgstr "Datei %s ist ein %s während Datei %s ein %s ist.\n"
+
+#: src/diff.c:1314
+#, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Symbolische Verknüpfungen %s und %s sind verschieden.\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Dateien %s und %s sind identisch.\n"
 
 #. This is a proper name. See the gettext manual, section Names.
 #: src/diff3.c:41
-#, fuzzy
 msgid "Randy Smith"
-msgstr "Geschrieben von Randy Smith."
+msgstr "Randy Smith"
 
 #: src/diff3.c:313
 #, c-format
@@ -1097,105 +1116,100 @@ msgid "incompatible options"
 msgstr "Inkompatible Optionen."
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
-msgstr "»-« für mehr als eine Eingabedatei angegeben."
+msgid "'-' specified for more than one input file"
+msgstr "»-« für mehr als eine Eingabedatei angegeben."
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "Lesefehler."
 
 #: src/diff3.c:428
-#, fuzzy
 msgid "-A, --show-all              output all changes, bracketing conflicts"
-msgstr "-A  --show-all  Alle Änderungen ausgeben, Konflikte in Klammern."
+msgstr ""
+"-A, --show-all              Alle Änderungen ausgeben, Konflikte in Klammern."
 
 #: src/diff3.c:430
-#, fuzzy
 msgid ""
 "-e, --ed                    output ed script incorporating changes\n"
 "                                from OLDFILE to YOURFILE into MYFILE"
 msgstr ""
-"-e  --ed  Nicht in DEINEDATEI übernommene Änderungen aus ALTEDATEI in "
-"MEINEDATEI abspeichern."
+"-e, --ed                    ed-Script ausgeben, das die Änderungen\n"
+"                            von DEINEDATEI und ALTEDATEI in MEINEDATEI\n"
+"                            integriert."
 
 #: src/diff3.c:432
-#, fuzzy
 msgid "-E, --show-overlap          like -e, but bracket conflicts"
-msgstr ""
-"-E  --show-overlap  Ungemische Änderungen anzeigen, Konflikte in Klammern."
+msgstr "-E  --show-overlap          Wie -e, aber Konflikte in Klammern."
 
 #: src/diff3.c:433
-#, fuzzy
 msgid ""
 "-3, --easy-only             like -e, but incorporate only nonoverlapping "
 "changes"
 msgstr ""
-"-3, --easy-only   Nicht-zusammengeführte (`unmerged') nichtüberlappende "
-"Änderungen ausgeben."
+"-3, --easy-only             Wie -e, aber nur nichtüberlappende Änderungen "
+"integrieren."
 
 #: src/diff3.c:434
-#, fuzzy
 msgid ""
 "-x, --overlap-only          like -e, but incorporate only overlapping changes"
-msgstr "-x  --overlap-only  Überlappende Änderungen ausgeben."
+msgstr ""
+"-x, --overlap-only          Wie -e, aber nur überlappende Änderungen "
+"integrieren."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
-msgstr ""
-"-E  --show-overlap  Ungemische Änderungen anzeigen, Konflikte in Klammern."
+msgstr "-X                          Wie -x, aber Konflikte in Klammern."
 
 #: src/diff3.c:436
-#, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
-msgstr "-i  An ed-Skripte »w«- und »q«-Kommandos anhängen."
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
+msgstr ""
+"-i                          An ed-Skripte »w«- und »q«-Befehle anhängen."
 
 #: src/diff3.c:438
 msgid ""
 "-m, --merge                 output actual merged file, according to\n"
 "                                -A if no other options are given"
 msgstr ""
+"-m, --merge                 Zusammengefügte Datei ausgeben, wie -A,\n"
+"                            falls keine anderen Optionen übergeben wurden."
 
 #: src/diff3.c:441
-#, fuzzy
 msgid "-a, --text                  treat all files as text"
-msgstr "-a  --text  Betrachte alle Dateien als Text."
+msgstr "-a, --text                  Alle Dateien als Text behandeln."
 
 #: src/diff3.c:442
-#, fuzzy
 msgid "    --strip-trailing-cr     strip trailing carriage return on input"
 msgstr ""
-"--strip-trailing-cr  Wagenrücklauf (CR) am Zeilenende beim Einlesen "
+"    --strip-trailing-cr     Wagenrücklauf (CR) am Zeilenende beim Einlesen "
 "entfernen."
 
 #: src/diff3.c:443
-#, fuzzy
 msgid "-T, --initial-tab           make tabs line up by prepending a tab"
 msgstr ""
-"-T --initial-tab  Einrückungen durch vorangestellte Tabulatoren erzeugen."
+"-T, --initial-tab           Einrückungen durch vorangestellte Tabulatoren "
+"erzeugen."
 
 #: src/diff3.c:444
-#, fuzzy
 msgid "    --diff-program=PROGRAM  use PROGRAM to compare files"
 msgstr ""
-"--diff-program=PROGRAMM  PROGRAMM zum Vergleichen von Dateien verwenden."
+"    --diff-program=PROGRAMM  PROGRAMM zum Vergleichen von Dateien verwenden."
 
 #: src/diff3.c:445
 msgid ""
 "-L, --label=LABEL           use LABEL instead of file name\n"
 "                                (can be repeated up to three times)"
 msgstr ""
+"-L, --label=LABEL           LABEL statt Dateinamens benutzen\n"
+"                            (kann bis zu dreimal wiederholt werden)"
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Betrachte alle Dateien als Text."
+msgstr "    --help                  Diese Hilfe anzeigen und beenden."
 
 #: src/diff3.c:449
-#, fuzzy
 msgid "-v, --version               output version information and exit"
-msgstr "-v  -version  Versionsinformation ausgeben."
+msgstr "-v, --version               Versionsinformation ausgeben und beenden."
 
 #: src/diff3.c:458
 #, c-format
@@ -1204,7 +1218,7 @@ msgstr "Benutzung: %s [OPTION]... MEINEDATEI ALTEDATEI DEINEDATEI\n"
 
 #: src/diff3.c:460
 msgid "Compare three files line by line."
-msgstr "Drei Dateien Zeile für Zeile vergleichen."
+msgstr "Drei Dateien Zeile für Zeile vergleichen."
 
 #: src/diff3.c:470
 msgid ""
@@ -1219,202 +1233,211 @@ msgid ""
 "and output the actual merged file.  For unusual input, this is more\n"
 "robust than using ed.\n"
 msgstr ""
+"\n"
+"Das Standardausgabeformat ist eine einigermaßen menschenlesbare\n"
+"Repräsentierung der Änderungen.\n"
+"\n"
+"Die Optionen -e, -E, -x und -X (und deren entsprechende lange Versionen)\n"
+"erzeugen ein ed-Skript als Ausgabe statt des Standards.\n"
+"\n"
+"Abschließend versucht die Option -m (--merge), dass diff3 die Änderungen\n"
+"intern zusammenführt und die eigentliche, zusammengeführte Datei ausgegeben\n"
+"wird. Für ungewöhnliche Eingaben ist dies robuster, als ed zu benutzen.\n"
 
 #: src/diff3.c:482
 msgid "Exit status is 0 if successful, 1 if conflicts, 2 if trouble."
 msgstr ""
+"Der Rückgabewert des Programms ist 0, falls es erfolgreich ist, 1 falls\n"
+"es Konflikte gibt und 2 falls Probleme auftreten."
 
 #: src/diff3.c:675
 msgid "internal error: screwup in format of diff blocks"
-msgstr "Interner Fehler: Format für diff-Blöcke ist durcheinander."
+msgstr "Interner Fehler: Format für diff-Blöcke ist durcheinander."
 
 #: src/diff3.c:968
 #, c-format
 msgid "%s: diff failed: "
-msgstr "%s: »diff« ist gescheitert: "
+msgstr "%s: Â»diff« ist gescheitert: "
 
 #: src/diff3.c:990
 msgid "internal error: invalid diff type in process_diff"
-msgstr "Interner Fehler: Ungültiger diff-Typ in process_diff."
+msgstr "Interner Fehler: Ungültiger diff-Typ in process_diff."
 
 #: src/diff3.c:1015
 msgid "invalid diff format; invalid change separator"
-msgstr "Ungültiges Diff-Format; ungültiger Änderungstrenner."
+msgstr "Ungültiges Diff-Format; ungültiger Änderungstrenner."
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
-msgstr "Ungültiges Diff-Format; felende letzte Zeile."
+msgstr "Ungültiges Diff-Format; felende letzte Zeile."
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, fuzzy, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "Unterprogramm »%s« nicht gefunden."
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, c-format
+msgid "subsidiary program '%s' could not be invoked"
+msgstr "Unterprogramm »%s« konnte nicht aufgerufen werden."
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
-msgstr "Ungültiges Diff-Format; inkorrektes Zeichen in führender Zeile"
+msgstr "Ungültiges Diff-Format; inkorrektes Zeichen in führender Zeile"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
-msgstr "Interner Fehler: Ungültiger diff-Typ an Ausgabe übergeben."
+msgstr "Interner Fehler: Ungültiger diff-Typ an Ausgabe übergeben."
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "Eingabedatei schrumpfte."
 
 #: src/dir.c:158
 #, c-format
-msgid "cannot compare file names `%s' and `%s'"
-msgstr "Die Dateinamen »%s« und »%s« können nicht verglichen werden."
+msgid "cannot compare file names '%s' and '%s'"
+msgstr "Die Dateinamen »%s« und »%s« können nicht verglichen werden."
 
 #: src/dir.c:209
 #, c-format
 msgid "%s: recursive directory loop"
-msgstr ""
+msgstr "%s: Rekursive Verzeichnisschleife"
 
 #. This is a proper name. See the gettext manual, section Names.
 #: src/sdiff.c:42
-#, fuzzy
 msgid "Thomas Lord"
-msgstr "Geschrieben von Thomas Lord."
+msgstr "Thomas Lord"
 
-#: src/sdiff.c:170
-#, fuzzy
+#: src/sdiff.c:173
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
-"-o DATEI  --output=DATEI  Interaktiv arbeiten, Ausgabe in DATEI speichern."
+"-o, --output=DATEI           Interaktiv arbeiten, Ausgabe in DATEI speichern."
 
-#: src/sdiff.c:172
-#, fuzzy
+#: src/sdiff.c:175
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr ""
-"-i  --ignore-case  Nicht zwischen Groß- und Kleinschreibung unterscheiden."
+"-i, --ignore-case            Nicht zwischen Groß- und Kleinschreibung "
+"unterscheiden."
 
-#: src/sdiff.c:173
-#, fuzzy
+#: src/sdiff.c:176
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
-"-E  --ignore-tab-expansion  Änderungen aufgrund von Tabausdehnungen "
+"-E, --ignore-tab-expansion   Änderungen aufgrund von Tabausdehnungen "
 "ignorieren."
 
-#: src/sdiff.c:174
-#, fuzzy
+#: src/sdiff.c:177
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
-msgstr "-w  --ignore-all-space  Freiraum ignorieren."
+msgstr "-Z, --ignore-trailing-space  Freiraum am Zeilenende ignorieren."
 
-#: src/sdiff.c:175
-#, fuzzy
+#: src/sdiff.c:178
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
-msgstr "-b  --ignore-space-change  Ignoriere Änderungen im Leerraum."
+msgstr "-b, --ignore-space-change    Ignoriere Änderungen im Leerraum."
 
-#: src/sdiff.c:176
-#, fuzzy
+#: src/sdiff.c:179
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  Freiraum ignorieren."
+msgstr "-W, --ignore-all-space       Leerraum ignorieren."
 
-#: src/sdiff.c:177
-#, fuzzy
+#: src/sdiff.c:180
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr ""
-"-B, --ignore-blank-lines   Die Änderungen übergehen, wo die Zeilen leer sind."
+"-B, --ignore-blank-lines     Die Änderungen übergehen, wo die Zeilen leer "
+"sind."
 
-#: src/sdiff.c:179
-#, fuzzy
+#: src/sdiff.c:181
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I, --ignore-matching-lines=RE  Änderungen ignorieren, bei denen alle "
+"Zeilen\n"
+"                                auf das Muster RE passen."
+
+#: src/sdiff.c:182
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr ""
-"--strip-trailing-cr  Wagenrücklauf (CR) am Zeilenende beim Einlesen "
+"    --strip-trailing-cr      Wagenrücklauf (CR) am Zeilenende beim Einlesen "
 "entfernen."
 
-#: src/sdiff.c:180
-#, fuzzy
+#: src/sdiff.c:183
 msgid "-a, --text                   treat all files as text"
-msgstr "-a  --text  Betrachte alle Dateien als Text."
+msgstr "-a, --text                   Betrachte alle Dateien als Text."
 
-#: src/sdiff.c:182
-#, fuzzy
+#: src/sdiff.c:185
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
-"-w ZAHL  --width=ZAHL  Maximal ZAHL Druckspalten pro Zeile (Vorgabe: 130)."
+"-w, --width=ZAHL             Maximal ZAHL Druckspalten pro Zeile (Vorgabe: "
+"130)."
 
-#: src/sdiff.c:183
-#, fuzzy
+#: src/sdiff.c:186
 msgid ""
 "-l, --left-column            output only the left column of common lines"
-msgstr "-l  --left-column  Nur linke Spalte der gemeinsamen Zeilen ausgeben."
+msgstr ""
+"-l, --left-column            Nur linke Spalte der gemeinsamen Zeilen "
+"ausgeben."
 
-#: src/sdiff.c:184
-#, fuzzy
+#: src/sdiff.c:187
 msgid "-s, --suppress-common-lines  do not output common lines"
-msgstr "-s  --suppress-common-lines  Keine gemeinsamen Zeilen ausgeben."
+msgstr "-s,  --suppress-common-lines  Keine gemeinsamen Zeilen ausgeben."
 
-#: src/sdiff.c:186
-#, fuzzy
+#: src/sdiff.c:189
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
-msgstr "-t  -expand-tabs  Tabulatoren zu Leerzeichen in der Ausgabe ausdehnen."
+msgstr ""
+"-t, --expand-tabs            Tabulatoren zu Leerzeichen in der Ausgabe "
+"ausdehnen."
 
-#: src/sdiff.c:187
-#, fuzzy
+#: src/sdiff.c:190
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
-msgstr "--tabsize=ZAHL Tabulatorstopps sind alle ZAHL Spalten (Vorgabe: 8)."
+msgstr ""
+"    --tabsize=ZAHL           Tabulatorstopps sind alle ZAHL Spalten "
+"(Vorgabe: 8)."
 
-#: src/sdiff.c:189
-#, fuzzy
+#: src/sdiff.c:192
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr ""
-"-d  --minimal  Aufwendig nach einem kleineren Satz von Änderungen suchen."
+"-d, --minimal                Aufwendig nach einem kleineren Satz von "
+"Änderungen suchen."
 
-#: src/sdiff.c:190
-#, fuzzy
+#: src/sdiff.c:193
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr ""
-"-H --speed-large-files  Es werden große Dateien und viele Änderungen "
-"vermutet."
+"-H, --speed-large-files      Es werden große Dateien und viele verstreute, "
+"kleine\n"
+"                             Änderungen vermutet."
 
-#: src/sdiff.c:191
-#, fuzzy
+#: src/sdiff.c:194
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr ""
-"--diff-program=PROGRAMM  PROGRAMM zum Vergleichen von Dateien verwenden."
+"    --diff-program=PROGRAMM  PROGRAMM zum Vergleichen von Dateien verwenden."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Betrachte alle Dateien als Text."
+msgstr "    --help                   Diese Hilfe anzeigen und beenden."
 
-#: src/sdiff.c:194
-#, fuzzy
+#: src/sdiff.c:197
 msgid "-v, --version                output version information and exit"
-msgstr "-v  -version  Versionsinformation ausgeben."
+msgstr "-v, -version                 Versionsinformation ausgeben und beenden."
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Aufruf: %s [OPTION]... DATEI1 DATEI2\n"
 
 # XXX Was ist das?
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr ""
-"Nebeneinanderstehenden Zusammenbringen (side-by-side merge) der "
-"Dateiunterschiede."
+"Nebeneinanderstehendes Zusammenbringen der Unterschiede zwischen DATEI1 und "
+"DATEI2."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "Kann nicht die Standardeingabe interaktiv mischen."
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "Beide zu vergleichenden Dateien sind Verzeichnisse."
 
-#: src/sdiff.c:827
-#, fuzzy
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
@@ -1427,17 +1450,34 @@ msgid ""
 "v:\tVerbosely include common lines.\n"
 "q:\tQuit.\n"
 msgstr ""
-"ed:\\tEdieren, dann beide Versionen benutzen, jede mit einem Kopf "
+"ed:\tEditieren, dann beide Versionen benutzen, jede mit einem Kopf "
 "dekoriert.\n"
-"eb:\\tEdieren, dann beide Versionen benutzen.\n"
-"el:\\tEdieren, dann linke Version benutzen.\n"
-"er:\\tEdieren, dann rechte Version benutzen.\n"
-"e:\\t Neue Version edieren.\n"
-"l:\\tLinke Version benutzen.\n"
-"r:\\tRechte Version benutzen.\n"
-"s:\\tSchweigend gemeinsame Zeilen übernehmen.\n"
-"v:\\tLauthals gemeinsame Zeilen übernehmen.\n"
-"q:\\tBeenden.\n"
+"eb:\tEditieren, dann beide Versionen benutzen.\n"
+"el oder e1:\tEditieren, dann linke Version benutzen.\n"
+"er oder e2:\tEditieren, dann rechte Version benutzen.\n"
+"e:\tBeide Versionen verwerfen und dann eine neue Version editieren.\n"
+"l:\tLinke Version benutzen.\n"
+"r:\tRechte Version benutzen.\n"
+"s:\tSchweigend gemeinsame Zeilen übernehmen.\n"
+"v:\tLauthals gemeinsame Zeilen übernehmen.\n"
+"q:\tBeenden.\n"
+
+#~ msgid ""
+#~ "This program comes with NO WARRANTY, to the extent permitted by law.\n"
+#~ "You may redistribute copies of this program\n"
+#~ "under the terms of the GNU General Public License.\n"
+#~ "For more information about these matters, see the file named COPYING."
+#~ msgstr ""
+#~ "Dieses Programm wird ohne Gewährleistung geliefert, soweit dies\n"
+#~ "gesetzlich zulässig ist. Sie können es unter den Bedingungen der GNU\n"
+#~ "General Public License weitergeben. \n"
+#~ "Details dazu enthält die Datei COPYING."
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: ungültige Option -- %c.\n"
+
+#~ msgid "Written by Torbjorn Granlund and David MacKenzie."
+#~ msgstr "Geschrieben von Torbjorn Granlund und David MacKenzie."
 
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
@@ -1445,55 +1485,31 @@ msgstr ""
 #~ msgid "-s  --quiet  --silent  Output nothing; yield exit status only."
 #~ msgstr "-s  -quiet  --silent  Keine Ausgabe; nur den Exit-Status setzen."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  -version  Versionsinformation ausgeben."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help   Nur diese Hilfe zeigen."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Drei Dateien Zeile für Zeile vergleichen."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr ""
-#~ "-E  --ignore-tab-expansion  Änderungen aufgrund von Tabausdehnungen "
-#~ "ignorieren."
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
+#~ msgstr "Fehlerberichte bitte an <bug-gnu-utils@gnu.org>."
 
-#, fuzzy
 #~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr "-b  --ignore-space-change  Ignoriere Änderungen im Leerraum."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  -ignore-all-space  Leerraum ignorieren."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
+#~ "Written by Paul Eggert, Mike Haertel, David Hayes,\n"
+#~ "Richard Stallman, and Len Tower."
 #~ msgstr ""
-#~ "-B, --ignore-blank-lines   Die Änderungen übergehen, wo die Zeilen leer "
-#~ "sind."
+#~ "Geschrieben von Paul Eggert, Mike Haertel, David Hayes,\n"
+#~ "Richard Stallman und Len Tower."
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr ""
-#~ "--strip-trailing-cr  Wagenrücklauf (CR) am Zeilenende beim Einlesen "
-#~ "entfernen."
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "Die Option »-%ld« ist veraltet; verwenden Sie »-%c %ld«."
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Betrachte alle Dateien als Text."
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "Die Option »-%ld« ist veraltet; lassen Sie sie weg."
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1505,15 +1521,11 @@ msgstr ""
 #~ "                                   (Vorgabe: 3).\n"
 #~ "  --label LABEL                    LABEL statt Dateiname verwenden.\n"
 #~ "  -p, --show-c-function            Anzeigen, in welcher C-Funktion die "
-#~ "Veränderung\n"
+#~ "Veränderung\n"
 #~ "                                   vorkommt.\n"
-#~ "  -F RE, --show-function-line=RE   Die nächste Zeile anzeigen, auf die RE "
+#~ "  -F RE, --show-function-line=RE   Die nächste Zeile anzeigen, auf die RE "
 #~ "zutrifft."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Ein ed-Skript ausgeben."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1526,132 +1538,25 @@ msgstr ""
 #~ "  --left-column  Nur linke Spalte gemeinsamer Zeilen ausgeben.\n"
 #~ "  ---suppress-common-lines  Keine gemeinsamen Zeilen ausgeben."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr ""
-#~ "-t  -expand-tabs  Tabulatoren zu Leerzeichen in der Ausgabe ausdehnen."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr ""
-#~ "-T --initial-tab  Einrückungen durch vorangestellte Tabulatoren erzeugen."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr "--tabsize=ZAHL Tabulatorstopps sind alle ZAHL Spalten (Vorgabe: 8)."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr ""
-#~ "-d  --minimal  Aufwendig nach einem kleineren Satz von Änderungen suchen."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
-#~ "--speed-large-files  Es werden große Dateien und viele Änderungen "
+#~ "--speed-large-files  Es werden große Dateien und viele Änderungen "
 #~ "vermutet."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr "-A  --show-all  Alle Änderungen ausgeben, Konflikte in Klammern."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
-#~ msgstr "-X  Überlappende Änderungen geklammert ausgeben."
+#~ msgstr "-X  Überlappende Änderungen geklammert ausgeben."
 
 #~ msgid "-m  --merge  Output merged file instead of ed script (default -A)."
 #~ msgstr ""
-#~ "-m  --merge  Zusammengeführte Datei anstelle von ed-Skript ausgeben "
+#~ "-m  --merge  Zusammengeführte Datei anstelle von ed-Skript ausgeben "
 #~ "(Vorgabe -A)."
 
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L LABEL  --label=LABEL  LABEL anstelle des Dateinamens verwenden."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr ""
-#~ "--diff-program=PROGRAMM  PROGRAMM zum Vergleichen von Dateien verwenden."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  -ignore-all-space  Leerraum ignorieren."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w ZAHL  --width=ZAHL  Maximal ZAHL Druckspalten pro Zeile (Vorgabe: 130)."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr ""
-#~ "-l  --left-column  Nur linke Spalte der gemeinsamen Zeilen ausgeben."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  Es werden große Dateien und viele Änderungen "
-#~ "vermutet."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "Lesefehler."
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "Schreibfehler."
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "Lesefehler."
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "Lesefehler."
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "Schreibfehler."
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "Schreibfehler."
-
-#~ msgid ""
-#~ "This program comes with NO WARRANTY, to the extent permitted by law.\n"
-#~ "You may redistribute copies of this program\n"
-#~ "under the terms of the GNU General Public License.\n"
-#~ "For more information about these matters, see the file named COPYING."
-#~ msgstr ""
-#~ "Dieses Programm wird ohne Gewährleistung geliefert, soweit dies\n"
-#~ "gesetzlich zulässig ist. Sie können es unter den Bedingungen der GNU\n"
-#~ "General Public License weitergeben. \n"
-#~ "Details dazu enthält die Datei COPYING."
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: ungültige Option -- %c.\n"
-
-#~ msgid "Written by Torbjorn Granlund and David MacKenzie."
-#~ msgstr "Geschrieben von Torbjorn Granlund und David MacKenzie."
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr "Fehlerberichte bitte an <bug-gnu-utils@gnu.org>."
-
-#~ msgid ""
-#~ "Written by Paul Eggert, Mike Haertel, David Hayes,\n"
-#~ "Richard Stallman, and Len Tower."
-#~ msgstr ""
-#~ "Geschrieben von Paul Eggert, Mike Haertel, David Hayes,\n"
-#~ "Richard Stallman und Len Tower."
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "Die Option »-%ld« ist veraltet; verwenden Sie »-%c %ld«."
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "Die Option »-%ld« ist veraltet; lassen Sie sie weg."
-
 #~ msgid "subsidiary program `%s' failed"
-#~ msgstr "Unterprogramm »%s« schlug fehl."
+#~ msgstr "Unterprogramm Â»%s« schlug fehl."
 
 #~ msgid "subsidiary program `%s' not executable"
-#~ msgstr "Unterprogramm »%s« ist nicht ausführbar."
+#~ msgstr "Unterprogramm »%s« ist nicht ausführbar."
index 6f674e1..2535f9e 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU diffutils 3.2\n"
+"Project-Id-Version: GNU diffutils 3.3\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -25,7 +25,7 @@ msgstr ""
 msgid "stack overflow"
 msgstr ""
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr ""
 
@@ -138,100 +138,102 @@ msgstr ""
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr ""
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr ""
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr ""
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr ""
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr ""
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr ""
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr ""
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr ""
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr ""
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr ""
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr ""
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr ""
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr ""
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr ""
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr ""
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr ""
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr ""
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr ""
 
@@ -262,17 +264,17 @@ msgstr ""
 
 #: lib/xstrtol-error.c:63
 #, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr ""
 
 #: lib/xstrtol-error.c:68
 #, c-format
-msgid "invalid suffix in %s%s argument `%s'"
+msgid "invalid suffix in %s%s argument '%s'"
 msgstr ""
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr ""
 
 #: lib/version-etc.c:74
@@ -423,7 +425,7 @@ msgstr ""
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr ""
@@ -433,7 +435,7 @@ msgstr ""
 msgid "Binary files %s and %s differ\n"
 msgstr ""
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr ""
 
@@ -447,14 +449,14 @@ msgstr ""
 msgid "David MacKenzie"
 msgstr ""
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
 #, c-format
-msgid "Try `%s --help' for more information."
+msgid "Try '%s --help' for more information."
 msgstr ""
 
 #: src/cmp.c:137
 #, c-format
-msgid "invalid --ignore-initial value `%s'"
+msgid "invalid --ignore-initial value '%s'"
 msgstr ""
 
 #: src/cmp.c:147
@@ -462,14 +464,14 @@ msgstr ""
 msgid "options -l and -s are incompatible"
 msgstr ""
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr ""
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr ""
 
@@ -523,7 +525,7 @@ msgid ""
 "at the beginning of each file (zero by default)."
 msgstr ""
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -536,26 +538,26 @@ msgid ""
 msgstr ""
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr ""
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 
 #: src/cmp.c:240
 #, c-format
-msgid "invalid --bytes value `%s'"
+msgid "invalid --bytes value '%s'"
 msgstr ""
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
 #, c-format
-msgid "missing operand after `%s'"
+msgid "missing operand after '%s'"
 msgstr ""
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
 #, c-format
-msgid "extra operand `%s'"
+msgid "extra operand '%s'"
 msgstr ""
 
 #: src/cmp.c:491
@@ -574,274 +576,278 @@ msgid "cmp: EOF on %s\n"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr ""
 
-#: src/diff.c:340
+#: src/diff.c:339
 #, c-format
-msgid "invalid context length `%s'"
+msgid "invalid context length '%s'"
 msgstr ""
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr ""
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr ""
 
-#: src/diff.c:515
+#: src/diff.c:514
 #, c-format
-msgid "invalid width `%s'"
+msgid "invalid width '%s'"
 msgstr ""
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr ""
 
-#: src/diff.c:544
+#: src/diff.c:543
 #, c-format
-msgid "invalid horizon length `%s'"
+msgid "invalid horizon length '%s'"
 msgstr ""
 
-#: src/diff.c:595
+#: src/diff.c:598
 #, c-format
-msgid "invalid tabsize `%s'"
+msgid "invalid tabsize '%s'"
 msgstr ""
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr ""
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr ""
 
-#: src/diff.c:851
+#: src/diff.c:854
 msgid "    --normal                  output a normal diff (the default)"
 msgstr ""
 
-#: src/diff.c:852
+#: src/diff.c:855
 msgid "-q, --brief                   report only when files differ"
 msgstr ""
 
-#: src/diff.c:853
+#: src/diff.c:856
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr ""
 
-#: src/diff.c:854
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
 
-#: src/diff.c:855
+#: src/diff.c:858
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 
-#: src/diff.c:856
+#: src/diff.c:859
 msgid "-e, --ed                      output an ed script"
 msgstr ""
 
-#: src/diff.c:857
+#: src/diff.c:860
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr ""
 
-#: src/diff.c:858
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
 msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
 
-#: src/diff.c:860
+#: src/diff.c:863
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr ""
 
-#: src/diff.c:861
+#: src/diff.c:864
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr ""
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr ""
 
-#: src/diff.c:869
+#: src/diff.c:872
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
 
-#: src/diff.c:870
+#: src/diff.c:873
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr ""
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 
-#: src/diff.c:872
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+#: src/diff.c:875
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr ""
 
-#: src/diff.c:874
+#: src/diff.c:877
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr ""
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr ""
 
-#: src/diff.c:876
+#: src/diff.c:880
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 
-#: src/diff.c:877
+#: src/diff.c:881
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
 
-#: src/diff.c:878
+#: src/diff.c:882
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 
-#: src/diff.c:879
+#: src/diff.c:883
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr ""
 
-#: src/diff.c:880
+#: src/diff.c:884
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
 
-#: src/diff.c:881
+#: src/diff.c:885
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
 
-#: src/diff.c:882
+#: src/diff.c:886
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
 "                                  FILE1 can be a directory"
 msgstr ""
 
-#: src/diff.c:884
+#: src/diff.c:888
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
 "                                  FILE2 can be a directory"
 msgstr ""
 
-#: src/diff.c:887
+#: src/diff.c:891
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr ""
 
-#: src/diff.c:888
+#: src/diff.c:892
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 
-#: src/diff.c:889
+#: src/diff.c:893
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr ""
 
-#: src/diff.c:890
+#: src/diff.c:894
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr ""
 
-#: src/diff.c:891
+#: src/diff.c:895
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr ""
 
-#: src/diff.c:892
+#: src/diff.c:896
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr ""
 
-#: src/diff.c:893 src/sdiff.c:178
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+#: src/diff.c:897
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 
-#: src/diff.c:895
+#: src/diff.c:899
 msgid "-a, --text                      treat all files as text"
 msgstr ""
 
-#: src/diff.c:896
+#: src/diff.c:900
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr ""
 
-#: src/diff.c:898
+#: src/diff.c:902
 msgid "    --binary                    read and write data in binary mode"
 msgstr ""
 
-#: src/diff.c:901
+#: src/diff.c:905
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 
-#: src/diff.c:902
+#: src/diff.c:906
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 
-#: src/diff.c:903
+#: src/diff.c:907
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
 
-#: src/diff.c:904
+#: src/diff.c:908
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 
-#: src/diff.c:908
+#: src/diff.c:912
 msgid ""
 "  GFMT (only) may contain:\n"
 "    %<  lines from FILE1\n"
@@ -857,7 +863,7 @@ msgid ""
 "    %(A=B?T:E)  if A equals B then T else E"
 msgstr ""
 
-#: src/diff.c:920
+#: src/diff.c:924
 msgid ""
 "  LFMT (only) may contain:\n"
 "    %L  contents of line\n"
@@ -865,7 +871,7 @@ msgid ""
 "    %[-][WIDTH][.[PREC]]{doxX}n  printf-style spec for input line number"
 msgstr ""
 
-#: src/diff.c:924
+#: src/diff.c:928
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
 "    %%  %\n"
@@ -874,84 +880,89 @@ msgid ""
 "    C    the character C (other characters represent themselves)"
 msgstr ""
 
-#: src/diff.c:930
+#: src/diff.c:934
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr ""
 
-#: src/diff.c:931
+#: src/diff.c:935
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 
-#: src/diff.c:932
+#: src/diff.c:936
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr ""
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 msgid "-v, --version            output version information and exit"
 msgstr ""
 
-#: src/diff.c:937
+#: src/diff.c:941
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 
-#: src/diff.c:938
+#: src/diff.c:942
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+msgid "If a FILE is '-', read standard input."
 msgstr ""
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr ""
 
-#: src/diff.c:950
+#: src/diff.c:954
 msgid "Compare FILES line by line."
 msgstr ""
 
-#: src/diff.c:984
+#: src/diff.c:988
 #, c-format
-msgid "conflicting %s option value `%s'"
+msgid "conflicting %s option value '%s'"
 msgstr ""
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr ""
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr ""
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+msgid "cannot compare '-' to a directory"
 msgstr ""
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr ""
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr ""
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr ""
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr ""
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr ""
@@ -967,11 +978,11 @@ msgid "incompatible options"
 msgstr ""
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+msgid "'-' specified for more than one input file"
 msgstr ""
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr ""
 
@@ -1005,7 +1016,7 @@ msgid "-X                          like -x, but bracket conflicts"
 msgstr ""
 
 #: src/diff3.c:436
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr ""
 
 #: src/diff3.c:438
@@ -1088,30 +1099,30 @@ msgstr ""
 msgid "invalid diff format; invalid change separator"
 msgstr ""
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr ""
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
 #, c-format
-msgid "subsidiary program `%s' could not be invoked"
+msgid "subsidiary program '%s' could not be invoked"
 msgstr ""
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr ""
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr ""
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr ""
 
 #: src/dir.c:158
 #, c-format
-msgid "cannot compare file names `%s' and `%s'"
+msgid "cannot compare file names '%s' and '%s'"
 msgstr ""
 
 #: src/dir.c:209
@@ -1124,107 +1135,111 @@ msgstr ""
 msgid "Thomas Lord"
 msgstr ""
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr ""
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr ""
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr ""
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 msgid "-W, --ignore-all-space       ignore all white space"
 msgstr ""
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr ""
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+
+#: src/sdiff.c:182
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr ""
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 msgid "-a, --text                   treat all files as text"
 msgstr ""
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr ""
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr ""
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr ""
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr ""
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr ""
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr ""
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr ""
 
-#: src/sdiff.c:193
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
 msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 msgid "-v, --version                output version information and exit"
 msgstr ""
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr ""
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr ""
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr ""
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr ""
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
index 490c09a..36be0ad 100644 (file)
Binary files a/po/el.gmo and b/po/el.gmo differ
index 1f78d91..abc2119 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: diffutils-2.8.7\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2004-12-28 15:50+0000\n"
 "Last-Translator: Lefteris Dimitroulakis <edimitro@tee.gr>\n"
 "Language-Team: Greek <nls@tux.hellug.gr>\n"
@@ -26,7 +26,7 @@ msgstr "σφάλμα προγράμματος"
 msgid "stack overflow"
 msgstr "υπερχείλιση στοίβας"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Άγνωστο σφάλμα συστήματος"
 
@@ -139,100 +139,102 @@ msgstr "%s: η επιλογή «%s» απαιτεί όρισμα\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Επιτυχία"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Δεν υπάρχει ταίριασμα"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Άκυρη κανονική έκφραση"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Άκυρος χαρακτήρας διαταξινόμησης"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Άκυρο όνομα κλάσεως χαρακτήρων"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Αντιπλαγία στο τέλος"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Άκυρη πίσω παραπομπή"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "Δε βρέθηκε [ ή [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "Δε βρέθηκε ( ή \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "Δε βρέθηκε \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Το περιεχόμενο του \\{\\} είναι άκυρο"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Άκυρο πέρας διαστήματος"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Η μνήμη εξαντλήθηκε"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Η προηγούμενη κανονική έκφραση είναι άκυρη"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Πρόωρο τέλος κανονικής έκφρασης"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Πολύ μεγάλη κανονική έκφραση"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "Δε βρέθηκε ) ή \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Δεν προηγήθηκε κανονική έκφραση"
 
@@ -264,17 +266,17 @@ msgstr ""
 
 #: lib/xstrtol-error.c:63
 #, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "άκυρη τιμή «%s» για την επιλογή --bytes "
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "άκυρο μήκος ορίζοντα «%s»"
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr ""
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr ""
 
 #: lib/version-etc.c:74
@@ -442,7 +444,7 @@ msgstr ""
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Τα αρχεία %s και %s διαφέρουν\n"
@@ -452,7 +454,7 @@ msgstr "Τα αρχεία %s και %s διαφέρουν\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "Τα αρχεία %s και %s διαφέρουν\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Δεν υπάρχει χαρακτήρας νέας γραμμής στο τέλος του αρχείου"
 
@@ -466,14 +468,14 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr ""
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "Δοκιμάστε `%s --help' για περισσότερες πληροφορίες."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "άκυρη τιμή --ignore-initial `%s'"
 
 #: src/cmp.c:147
@@ -481,14 +483,14 @@ msgstr "άκυρη τιμή --ignore-initial `%s'"
 msgid "options -l and -s are incompatible"
 msgstr "οι επιλογές -l και -s είναι ασύμβατες"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "η εγγραφή απέτυχε"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "κανονική έξοδος"
 
@@ -553,7 +555,7 @@ msgid ""
 "at the beginning of each file (zero by default)."
 msgstr "SKIP1 και  SKIP2 είναι ο αριθμός των byte προς παράλειψη ανά αρχείο."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -570,28 +572,29 @@ msgstr ""
 "GB 1,000,000,000, G 1,073,741,824, κτλ γιά T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "Αν ένα ΑΡΧΕΙΟ είναι `-' ή απών, τότε ανάγνωση από την κανονική είσοδο."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "Η έξοδος είναι 0 αν τα δεδομένα αρχεία είναι ίδια, 1 αν είναι διαφορετικά,\n"
 "2 αν υπάρχει πρόβλημα."
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "άκυρη τιμή «%s» για την επιλογή --bytes "
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "απών τελεστέος μετά από «%s»"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "συμπληρωματικός τελεστέος «%s»"
 
 #: src/cmp.c:491
@@ -610,214 +613,215 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: Τέλος-Αρχείου (EOF) σε %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr ""
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "άκυρο μήκος συμφραζομένων «%s»"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "Η αρίθμιση σελίδων δεν υποστηρίζεται σ' αυτόν τον υπολογιστή"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "πάρα πολλές επιλογές ετικέτας αρχείου"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "άκυρο πλάτος «%s»"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "αντικρουόμενες επιλογές πλάτους"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "άκυρο μήκος ορίζοντα «%s»"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "άκυρο μήκος στηλοθέτησης `%s'"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "αντικρουόμενες επιλογές μήκους στηλοθέτησης"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "--from-file και --to-file έχουν οριστεί μαζί"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal  Δημιουργία ενός `diff' σε κανονική μορφή."
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q  --brief  Έξοδος μόνο όταν τα αρχεία διαφέρουν."
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files  Ειδοποιεί όταν δύο αρχεία είναι ίδια."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w ΑΡ  --width=ΑΡ  Έξοδος με το πολύ ΑΡ στήλες εκτύπωσης (προεπιλογή 130)."
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 "-w ΑΡ  --width=ΑΡ  Έξοδος με το πολύ ΑΡ στήλες εκτύπωσης (προεπιλογή 130)."
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Θεωρεί όλα τα αρχεία ως κείμενο."
+msgstr "-e  --ed  Δημιουργία προγράμματος εντολών για τον `ed'."
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs  Δημιουργία αρχείου `diff' σε μορφή RCS."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  Έξοδος ονόματος κι έκδοσης."
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
 "-w ΑΡ  --width=ΑΡ  Έξοδος με το πολύ ΑΡ στήλες εκτύπωσης (προεπιλογή 130)."
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr ""
 "-l  --left-column  Εμφάνιση στην αριστερή στήλη των ταυτόσημων γραμμών."
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  Οι ταυτόσημες γραμμές δεν εμφανίζονται."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Μετατροπή στηλοθετών σε διαστήματα στην έξοδο."
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
 "-T  --initial-tab  Στοίχιση των στηλοθετών με την επιπρόσθεση ενός στην αρχή."
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr ""
 "--tabsize=ΑΡ  Ο αριθμός διαστημάτων του στηλοθέτη είναι ΑΡ (προεπιλογή 8)."
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr ""
 "-l  --paginate  Έξοδος δια μέσου του `pr' ώστε να αριθμιθούν οι σελίδες."
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr "-r  --recursive  Αναδρομική σύγκριση όσων υποκαταλόγων βρεθούν."
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N  --new-file  Θεωρεί τα απόντα αρχεία ως κενά."
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr "--unidirectional-new-file  Θεωρεί τα απόντα πρώτα αρχεία ως κενά."
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
 "--ignore-file-name-case  Αγνοεί τις διαφορές λόγω πεζών-κεφαλαίων\n"
 "                                      κατά τη σύγκριση ονομάτων αρχείων."
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "--no-ignore-file-name-case  Λαμβάνει υπ' όψιν τις διαφορές λόγω\n"
 "                      πεζών-κεφαλαίων κατά τη σύγκριση ονομάτων αρχείων."
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr "-x PAT  --exclude=PAT  Εξαίρεση αρχείων με όνομα που ταιριάζει με PAT."
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
@@ -825,7 +829,7 @@ msgstr ""
 "-X ΑΡΧΕΙΟ  --exclude-from=ΑΡΧΕΙΟ    Εξαίρεση αρχείων με όνομα που ταιράζει\n"
 "                                  με τα ονόματα που βρίσκονται στο ΑΡΧΕΙΟ."
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
@@ -833,7 +837,7 @@ msgstr ""
 "-S ΑΡΧΕΙΟ  --starting-file=ΑΡΧΕΙΟ  Εκκίνηση σύγκρισης καταλόγων από το "
 "ΑΡΧΕΙΟ."
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -843,7 +847,7 @@ msgstr ""
 "                                Σύγκριση ΑΡΧΕΙΟ1 με όλους τους τελεστέους.\n"
 "                                        ΑΡΧΕΙΟ1 μπορεί να είναι κατάλογος."
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -853,7 +857,7 @@ msgstr ""
 "                                Σύγκριση όλων των τελεστέων στο ΑΡΧΕΙΟ2.\n"
 "                                        ΑΡΧΕΙΟ2 μπορεί να είναι κατάλογος."
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
@@ -861,99 +865,100 @@ msgstr ""
 "-i  --ignore-case  Αγνοεί τις διαφορές λόγω πεζών-κεφαλαίων\n"
 "στα περιεχόμενα αρχείων."
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Αγνοεί αλλαγές οφειλόμενες στη στηλοθέτηση."
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-space  Αγνοεί όλα τα λευκά διαστήματα."
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr ""
 "-b  --ignore-space-change  Αγνοεί αλλαγές οφειλόμενες στα λευκά διαστήματα."
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space  Αγνοεί όλα τα λευκά διαστήματα."
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr ""
 "-B  --ignore-blank-lines  Αγνοεί αλλαγές οφειλόμενες στις λευκές γραμμές."
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I RE  --ignore-matching-lines=RE  Αγνοεί αλλαγές που οι γραμμές τους "
 "ταιριάζουν με RE."
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text  Θεωρεί όλα τα αρχεία ως κείμενο."
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Απαλειφή του χαρακτήρα επιστροφής στην είσοδο."
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary  Ανάγνωση και εγγραφή πληροφορίας σε δυαδική μορφή."
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D ΟΝΟΜΑ  --ifdef=ΟΝΟΜΑ  Έξοδος συγχωνευμένου αρχείου\n"
 "με τις διαφορές `#ifdef NAME'."
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "--GTYPE-group-format=GFMT  Αντίστοιχο, αλλά μορφοποίηση ομάδων\n"
 "                                        εισόδου GTYPE με GFMT."
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
 "--line-format=LFMT  Αντίστοιχο, αλλά μορφοποίηση\n"
 "όλων των γραμμών εισόδου με LFMT."
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "--LTYPE-line-format=LFMT  Αντίστοιχο, αλλά μορφοποίηση \n"
 "γραμμών εισόδου LTYPE με LFMT."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  LTYPE είναι `old', `new', ή `unchanged'.  GTYPE είναι LTYPE ή `changed'."
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -982,7 +987,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -996,7 +1001,7 @@ msgstr ""
 "    %[-][ΠΛΑΤΟΣ][.[PREC]]{doxX}n  την προδιαγραφή του αριθμού γραμμής\n"
 "                                  εισόδου ανάλογα με τη μορφή της printf()"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -1010,19 +1015,19 @@ msgstr ""
 "    %c'C'  τον ίδιο το χαρακτήρα C\n"
 "    %c'\\OOO'  το χαρακτήρα με οκταδικό κωδικό OOO"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr ""
 "-d  --minimal  Αν είναι δυνατόν εμφάνιση του μικρότερου συνόλου διαφορών."
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 "--horizon-lines=ΑΡ  Διατηρεί ΑΡ γραμμές με ταυτόσημα προθέματα κι επιθέματα."
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
@@ -1030,23 +1035,24 @@ msgstr ""
 "-H  --speed-large-files  Υποθέτει μεγάλα αρχεία με πολλές σκόρπιες "
 "μικροαλλαγές."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version  Έξοδος ονόματος κι έκδοσης."
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "ΑΡΧΕΙΑ είναι `ΑΡΧΕΙΟ1 ΑΡΧΕΙΟ2' ή `ΚΑΤ1 ΚΑΤ2' ή `ΚΑΤ ΑΡΧΕΙΟ...' ή `ΑΡΧΕΙΟ... "
 "ΚΑΤ'."
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
@@ -1054,54 +1060,61 @@ msgstr ""
 "Αν το --from-file ή --to-file είναι δεδομένο, τότε δεν υπάρχει περιορισμός "
 "στα ΑΡΧΕΙΑ."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "Αν ένα ΑΡΧΕΙΟ είναι `-', τότε ανάγνωση από την τυπική είσοδο."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΑΡΧΕΙΑ\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "Σύγκριση αρχείων γραμμή προς γραμμή."
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "η επιλογή %s είναι αντικρουόμενη με την τιμή «%s»"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "αντικρουόμενες επιλογές για τη μορφή εξόδου"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Μόνο στο %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "Αδύνατη η σύγκριση του `-' με ένα κατάλογο"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "Η επιλογή -D δεν υποστηρίζεται για καταλόγους."
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Οι υποκατάλογοι %s και %s είναι ταυτόσημοι\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "Το αρχείο %s είναι %s ενώ το αρχείο %s είναι %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Τα αρχεία %s και %s διαφέρουν\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Τα αρχεία %s καί %s είναι πανομοιότυπα\n"
@@ -1117,11 +1130,12 @@ msgid "incompatible options"
 msgstr "ασύμβατες επιλογές"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "`-' ορίστηκε για περισσότερα από ένα αρχεία εισόδου"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "αποτυχία ανάγνωσης"
 
@@ -1157,13 +1171,12 @@ msgid ""
 msgstr "-x  --overlap-only  Έξοδος μόνο των αλλαγών που επικαλύπτονται."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
-msgstr "-E  --show-overlap  Έξοδος ασυγχώνευτων αλλαγών σε αγκύλες."
+msgstr ""
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "-i  Προσάρτηση των διαταγών `w' και `q' στα σενάρια του `ed'."
 
 #: src/diff3.c:438
@@ -1200,9 +1213,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Θεωρεί όλα τα αρχεία ως κείμενο."
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1253,30 +1265,30 @@ msgstr "εσωτερικό σφάλμα: άκυρος τύπος `diff' στο p
 msgid "invalid diff format; invalid change separator"
 msgstr "άκυρη μορφή `diff': άκυρος οριοθέτης αλλαγής"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "άκυρη μορφή `diff': ασυμπλήρωτη τελευταία γραμμή"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "το υποπρόγραμμα «%s» δεν ήταν δυνατόν να κληθεί"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "άκυρη μορφή `diff': λάθος χαρακτήρες στη γραμμή αποτελεσμάτων"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "εσωτερικό σφάλμα: άκυρος τύπος `diff' πέρασε στην έξοδο"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "Το αρχείο εισόδου συρρικνώθηκε"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "αδύνατη η σύγκριση των ονομάτων αρχείων «%s» και «%s»"
 
 #: src/dir.c:209
@@ -1289,7 +1301,7 @@ msgstr ""
 msgid "Thomas Lord"
 msgstr ""
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
@@ -1297,89 +1309,96 @@ msgstr ""
 "-o ΑΡΧΕΙΟ  --output=ΑΡΧΕΙΟ  Αλληλεπιδραστική λειτουργία\n"
 " με αποστολή εξόδου στο ΑΡΧΕΙΟ."
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i  --ignore-case  Θεωρεί πεζά-κεφαλαία ίδια."
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Αγνοεί αλλαγές οφειλόμενες στη στηλοθέτηση."
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-space  Αγνοεί όλα τα λευκά διαστήματα."
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr ""
 "-b  --ignore-space-change  Αγνοεί αλλαγές οφειλόμενες στα λευκά διαστήματα."
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  Αγνοεί όλα τα λευκά διαστήματα."
+msgstr "-W  --ignore-all-space  Αγνοεί όλα τα λευκά διαστήματα."
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr ""
 "-B  --ignore-blank-lines  Αγνοεί αλλαγές οφειλόμενες στις λευκές γραμμές."
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I RE  --ignore-matching-lines=RE  Αγνοεί αλλαγές που οι γραμμές τους "
+"ταιριάζουν με RE."
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Απαλειφή του χαρακτήρα επιστροφής στην είσοδο."
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text  Θεωρεί όλα τα αρχεία ως κείμενο."
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 "-w ΑΡ  --width=ΑΡ  Έξοδος με το πολύ ΑΡ στήλες εκτύπωσης (προεπιλογή 130)."
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr ""
 "-l  --left-column  Εμφάνιση στην αριστερή στήλη των ταυτόσημων γραμμών."
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  Οι ταυτόσημες γραμμές δεν εμφανίζονται."
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Μετατροπή στηλοθετών σε διαστήματα στην έξοδο."
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr ""
 "--tabsize=ΑΡ  Ο αριθμός διαστημάτων του στηλοθέτη είναι ΑΡ (προεπιλογή 8)."
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr ""
 "-d  --minimal  Αν είναι δυνατόν εμφάνιση του μικρότερου συνόλου διαφορών."
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
@@ -1387,40 +1406,39 @@ msgstr ""
 "-H  --speed-large-files  Υποθέτει μεγάλα αρχεία με πολλές σκόρπιες "
 "μικροαλλαγές."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr "--diff-program=ΠΡΟΓΡ  Χρήση του ΠΡΟΓΡάμματος στη σύγκριση αρχείων."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Θεωρεί όλα τα αρχεία ως κείμενο."
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version  Έξοδος ονόματος κι έκδοσης."
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΑΡΧΕΙΟ1 ΑΡΧΕΙΟ2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Συγχώνευση δίπλα-δίπλα των διαφορών του αρχείου."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "αδυνατώ να συγχωνεύσω αλληλεπιδραστικά την πρότυπη είσοδο."
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "και τα δύο προς σύγκριση αρχεία είναι κατάλογοι"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 #, fuzzy
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
@@ -1446,6 +1464,20 @@ msgstr ""
 "v:\tΣυμπεριλαμβάνει τις ταυτόσημες γραμμές και το επισημαίνει.\n"
 "q:\tΈξοδος.\n"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: η επιλογή -- %c είναι παράτυπη\n"
+
+#~ msgid ""
+#~ "This is free software; see the source for copying conditions.  There is "
+#~ "NO\n"
+#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
+#~ "PURPOSE.\n"
+#~ msgstr ""
+#~ "This is free software; see the source for copying conditions.  There is "
+#~ "NO\n"
+#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
+#~ "PURPOSE.\n"
+
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 
@@ -1453,53 +1485,24 @@ msgstr ""
 #~ msgstr ""
 #~ "-s  --quiet  --silent  Ουδεμία έξοδος, μόνο μήνυμα πέρατος εκτέλεσης."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  Έξοδος ονόματος κι έκδοσης."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  Έξοδος αυτής εδώ της βοήθειας."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Σύγκριση τριών αρχείων γραμμή προς γραμμή."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr ""
-#~ "-E  --ignore-tab-expansion  Αγνοεί αλλαγές οφειλόμενες στη στηλοθέτηση."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr ""
-#~ "-b  --ignore-space-change  Αγνοεί αλλαγές οφειλόμενες στα λευκά "
-#~ "διαστήματα."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Αγνοεί όλα τα λευκά διαστήματα."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr ""
-#~ "-B  --ignore-blank-lines  Αγνοεί αλλαγές οφειλόμενες στις λευκές γραμμές."
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
+#~ msgstr "Αναφέρατε σφάλματα στη <bug-gnu-utils@gnu.org>."
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr "--strip-trailing-cr  Απαλειφή του χαρακτήρα επιστροφής στην είσοδο."
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "η επιλογή «-%ld» έχει καταργηθεί, χρησιμοποιείστε την «-%c %ld»"
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Θεωρεί όλα τα αρχεία ως κείμενο."
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "η επιλογή «-%ld» έχει καταργηθεί, παραλείψτε την "
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1513,10 +1516,6 @@ msgstr ""
 #~ "-F RE  --show-function-line=RE  Δείχνει την πιο πρόσφατη γραμμή\n"
 #~ "                                που ταιριάζει με τη RE."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Δημιουργία προγράμματος εντολών για τον `ed'."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1529,36 +1528,12 @@ msgstr ""
 #~ "  --left-column  Έξοδος μόνο αριστερής στήλης με τις ταυτόσημες γραμμές.\n"
 #~ "  --suppress-common-lines  Δεν εμφανίζει τις ταυτόσημες γραμμές."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs  Μετατροπή στηλοθετών σε διαστήματα στην έξοδο."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr ""
-#~ "-T  --initial-tab  Στοίχιση των στηλοθετών με την επιπρόσθεση ενός στην "
-#~ "αρχή."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr ""
-#~ "--tabsize=ΑΡ  Ο αριθμός διαστημάτων του στηλοθέτη είναι ΑΡ (προεπιλογή 8)."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr ""
-#~ "-d  --minimal  Αν είναι δυνατόν εμφάνιση του μικρότερου συνόλου διαφορών."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files  Υποθέτει μεγάλα αρχεία και πολλές σκόρπιες "
 #~ "μικροαλλαγές."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr "-A  --show-all  Έξοδος όλων των αλλαγών σε αγκύλες."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "-X  Έξοδος των αλλαγών που επικαλύπτονται, σε αγκύλες."
 
@@ -1570,79 +1545,6 @@ msgstr ""
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L ΕΤΙΚ  --label=ΕΤΙΚ  Χρήση  ΕΤΙΚέτας αντί του ονόματος αρχείου."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr "--diff-program=ΠΡΟΓΡ  Χρήση του ΠΡΟΓΡάμματος στη σύγκριση αρχείων."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Αγνοεί όλα τα λευκά διαστήματα."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w ΑΡ  --width=ΑΡ  Έξοδος με το πολύ ΑΡ στήλες εκτύπωσης (προεπιλογή 130)."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr ""
-#~ "-l  --left-column  Εμφάνιση στην αριστερή στήλη των ταυτόσημων γραμμών."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  Υποθέτει μεγάλα αρχεία και πολλές σκόρπιες "
-#~ "μικροαλλαγές."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "αποτυχία ανάγνωσης"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "η εγγραφή απέτυχε"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "αποτυχία ανάγνωσης"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "αποτυχία ανάγνωσης"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "η εγγραφή απέτυχε"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "η εγγραφή απέτυχε"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: η επιλογή -- %c είναι παράτυπη\n"
-
-#~ msgid ""
-#~ "This is free software; see the source for copying conditions.  There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-#~ msgstr ""
-#~ "This is free software; see the source for copying conditions.  There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr "Αναφέρατε σφάλματα στη <bug-gnu-utils@gnu.org>."
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "η επιλογή «-%ld» έχει καταργηθεί, χρησιμοποιείστε την «-%c %ld»"
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "η επιλογή «-%ld» έχει καταργηθεί, παραλείψτε την "
-
 #~ msgid "subsidiary program `%s' not found"
 #~ msgstr "Δε βρέθηκε το βοηθητικό πρόγραμμα <%s>"
 
index 66e025a..e23cbeb 100644 (file)
Binary files a/po/eo.gmo and b/po/eo.gmo differ
index c5dacff..1170654 100644 (file)
--- a/po/eo.po
+++ b/po/eo.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU diffutils 2.8.7\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2004-05-22 15:31+0100\n"
 "Last-Translator: Edmund GRIMLEY EVANS <edmundo@rano.org>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -23,7 +23,7 @@ msgstr "programeraro"
 msgid "stack overflow"
 msgstr "stako tro granda"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Nekonata sistemeraro"
 
@@ -136,100 +136,102 @@ msgstr "%s opcio '%s' postulas argumenton\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Sukceso"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Nenia trafo"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Nevalida regula esprimo"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Nevalida ordiga signo"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Nevalida nomo de signoklaso"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "'\\' ĉe la fino"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Nevalida retroreferenco"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "Neparigita [ aŭ [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "Neparigita ( aŭ \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "Neparigita \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Nevalida kunteksto de \\{\\}"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Nevalida fino de gamo"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Memoro elĉerpiĝis"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Nevalida antaŭa regula esprimo"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Neatendita fino de regula esprimo"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Regula esprimo estas tro granda"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "Neparigita ) aŭ \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Mankas antaŭa regula esprimo"
 
@@ -261,17 +263,17 @@ msgstr ""
 
 #: lib/xstrtol-error.c:63
 #, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "nevalida valoro '%s' de --bytes"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "nevalida horizonta longo '%s'"
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr ""
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr ""
 
 #: lib/version-etc.c:74
@@ -439,7 +441,7 @@ msgstr ""
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Dosieroj %s kaj %s estas malsamaj\n"
@@ -449,7 +451,7 @@ msgstr "Dosieroj %s kaj %s estas malsamaj\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "Dosieroj %s kaj %s estas malsamaj\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Mankas linifino ĉe fino de dosiero"
 
@@ -463,14 +465,14 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr ""
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "Provu '%s --help' por pli da informoj."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "nevalida valoro '%s' de --ignore-initial"
 
 #: src/cmp.c:147
@@ -478,14 +480,14 @@ msgstr "nevalida valoro '%s' de --ignore-initial"
 msgid "options -l and -s are incompatible"
 msgstr "opcioj -l kaj -s malkongruas"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "skriberaro"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "normala eligo"
 
@@ -548,7 +550,7 @@ msgid ""
 "at the beginning of each file (zero by default)."
 msgstr "N1 kaj N2 estas la nombro de bitokoj ignorendaj en ĉiu dosiero."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -564,27 +566,28 @@ msgstr ""
 "GB 1 000 000 000, G 1 073 741 824, kaj tiel plu por T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "Se DOSIERO estas '-' aŭ mankas, legi la normalan enigon."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "Elig-valoro estas 0, se enigoj estas samaj, 1, se malsamaj, 2 se problemo."
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "nevalida valoro '%s' de --bytes"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "argumento mankas post '%s'"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "kroma argumento '%s'"
 
 #: src/cmp.c:491
@@ -603,207 +606,209 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: EOF ĉe %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr ""
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "nevalida longo '%s' de kunteksto"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "dispaĝigo ne eblas kun ĉi tiu sistemo"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "tro da dosieretikedopcioj"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "nevalida larĝo '%s'"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "malkongruaj opcioj pri larĝo"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "nevalida horizonta longo '%s'"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "nevalida TAB-larĝo '%s'"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "malkongruaj opcioj pri TAB-larĝo"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "--from-file kaj --to-file ambaŭ specifitaj"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal  Eligi normalan diferencaron."
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q  --brief  Eligi nur, ĉu la dosieroj estas malsamaj."
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files  Raporti, kiam du dosieroj estas samaj."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
-msgstr "-w NOM  --width=NOM  Eligi maksimume NOM (implicite 130) kolumnojn."
+msgstr ""
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr "-w NOM  --width=NOM  Eligi maksimume NOM (implicite 130) kolumnojn."
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Trakti ĉiujn dosierojn kiel tekstajn."
+msgstr "-e  --ed  Eligi ed-programeton."
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs  Eligi diferencaron en RCS-formo."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  Eligi informojn pri la versio."
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr "-w NOM  --width=NOM  Eligi maksimume NOM (implicite 130) kolumnojn."
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr ""
 "-l  --left-column  Montri nur la maldekstran kolumnon de komunaj linioj."
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  Ne eligi komunajn liniojn."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Konverti TABojn al spacetoj en la eligo."
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr "-T  --initial-tab  Ĝustigi TABojn per antaŭmetado de spaceto."
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr "--tabsize=NOM  TAB-lokoj estas post ĉiuj NOM (implicite 8) kolumnoj."
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr "-l  --paginate  Pasigi la eligon tra 'pr' por enpaĝigi ĝin."
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr "-r  --recursive  Rekurse kompari trovitajn subdosierujojn."
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N  --new-file  Trakti mankantajn dosierojn kiel malplenajn."
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 "--unidirectional-new-file  Trakti mankantajn unuajn dosierojn kiel "
 "malplenajn."
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr "--ignore-file-name-case  Ignori usklecon en komparado de dosiernomoj."
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "--no-ignore-file-name-case  Konsideri usklecon en komparado de dosiernomoj."
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr "-x ŜAB  --exclude=ŜAB  Ignori dosierojn, kiuj kongruas kun ŜABlono."
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
@@ -811,14 +816,14 @@ msgstr ""
 "-X DOS   --exclude-from=DOS   Ignori dosierojn, kiuj kongruas kun iu ŝablono "
 "en DOSiero."
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
 "-S DOS   --starting-file=DOS   Komenci per DOSiero, komparante dosierujojn."
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -827,7 +832,7 @@ msgstr ""
 "--from-file=DOS1   Kompari DOS1 kun ĉiuj argumentoj. DOS1 povas esti "
 "dosierujo."
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -836,98 +841,99 @@ msgstr ""
 "--to-file=DOS2   Kompari ĉiujn argumentoj kun DOS2. DOS2 povas esti "
 "dosierujo."
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr "-i  --ignore-case  Ignori diferencojn en uskleco en dosierenhavo."
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr "-E  --ignore-tab-expansion  Ignori ŝanĝojn kaŭzatajn de TAB-oj."
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-space  Ignori ĉian blankan spacon."
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Ignori ŝanĝojn en blanka spaco."
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space  Ignori ĉian blankan spacon."
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr "-B  --ignore-blank-lines  Ignori ŝanĝojn, kies linioj estas malplenaj."
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I RE  --ignore-matching-lines=RE  Ignori ŝanĝojn, kies linioj ĉiuj kongruas "
 "kun RE."
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text  Trakti ĉiujn dosierojn kiel tekstajn."
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Forigi linifinan CR ĉe enigo."
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary  Legi kaj skribi datenojn binare."
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D NOMO  --ifdef=NOMO  Eligi kunfanditan dosieron por montri '#ifdef NOMO'-"
 "diferencojn."
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "--GTYPE-group-format=GFMT  Simile, sed montri GTYPE-enig-grupojn per GFMT."
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr "--line-format=LFMT  Simile, sed montri ĉiujn enigliniojn per LFMT."
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "--LTYPE-line-format=LFMT  Simile, sed montri LTYPE-enig-grupojn per LFMT."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  LTYPE estas 'old', 'new' aŭ 'unchanged'. GTYPE estas LTYPE aŭ 'changed'."
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -955,7 +961,7 @@ msgstr ""
 "       E  F-1\n"
 "       M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -968,7 +974,7 @@ msgstr ""
 "    %l  enhavo linio, sen eventuala linifino\n"
 "    %[-][LARĜO][.[PREC]]{doxX}n  printf-stila specifo de lininumero"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -982,18 +988,18 @@ msgstr ""
 "    %c'C'  la unuopa signo C\n"
 "    %c'\\000'  la signo kun okuma kodo OOO"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Pene serĉi malpli grandan aron da ŝanĝoj."
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 "--horizon-lines=NOM  Gardi NOM liniojn de la komuna prefikso kaj sufikso."
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
@@ -1001,77 +1007,85 @@ msgstr ""
 "-H  --speed-large-files  Atendi grandajn dosierojn kaj multajn disajn "
 "ŝanĝetojn."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version  Eligi informojn pri la versio."
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "DOSIEROJ estas 'DOSIERO1 DOSIERO2' aŭ 'DOSIERUJO1 DOSIERUJO2' aŭ DOSIERUJO "
 "DOSIERO...' aŭ 'DOSIERO... DOSIERUJO'."
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
 "Se --from-file aŭ --to-file estas donita, ne estas limigoj de DOSIEROJ."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "Se DOSIERO estas '-', legi la normalan enigon."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Uzado: %s [OPCIO]... DOSIEROJ\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "Kompari dosierojn linion post linio."
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "malkongrua valoro de opcio %s: '%s'"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "malkongruaj opcioj pri eligostilo"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Nur en %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "ne povas kompari '-' kun dosierujo"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "opcio -D ne eblas kun dosierujoj"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Komunaj subdosierujoj: %s kaj %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "Dosiero %s estas %s, dum dosiero %s estas %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Dosieroj %s kaj %s estas malsamaj\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Dosieroj %s kaj %s estas samaj\n"
@@ -1087,11 +1101,12 @@ msgid "incompatible options"
 msgstr "malkongruaj opcioj"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "'-' donita por pli ol unu enigdosiero"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "legeraro"
 
@@ -1129,15 +1144,12 @@ msgid ""
 msgstr "-x  --overlap-only  Eligi interkovriĝantajn ŝanĝojn."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap  Eligi nekunfanditajn ŝanĝojn, kun konfliktoj en "
-"parentezoj."
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "-i  Aldoni la komandojn 'w' kaj 'q' al ed-programetoj."
 
 #: src/diff3.c:438
@@ -1173,9 +1185,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Trakti ĉiujn dosierojn kiel tekstajn."
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1226,30 +1237,30 @@ msgstr "interna eraro: nevalida diff-speco en process_diff"
 msgid "invalid diff format; invalid change separator"
 msgstr "nevalida diff-formato; nevalida ŝanĝ-apartigilo"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "nevalida diff-formato; malkompleta lasta linio"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "ne povis alvoki la subprogramon '%s'"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "nevalida diff-formato; malĝusta signo en antaŭa linio"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "interna eraro: nevalida diff-speco donita al eligo"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "enigdosiero ŝrumpis"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "ne povas kompari dosiernomojn '%s' kaj '%s'"
 
 #: src/dir.c:209
@@ -1262,89 +1273,96 @@ msgstr ""
 msgid "Thomas Lord"
 msgstr ""
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr "-o DOS   --output=DOS   Funkcii interage, sendante eligon al DOSiero."
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i  --ignore-case  Trakti majusklojn kaj minusklojn kiel samajn."
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr "-E  --ignore-tab-expansion  Ignori ŝanĝojn kaŭzatajn de TAB-oj."
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-space  Ignori ĉian blankan spacon."
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Ignori ŝanĝojn en blanka spaco."
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  Ignori ĉian blankan spacon."
+msgstr "-W  --ignore-all-space  Ignori ĉian blankan spacon."
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr "-B  --ignore-blank-lines  Ignori ŝanĝojn, kies linioj estas malplenaj."
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I RE  --ignore-matching-lines=RE  Ignori ŝanĝojn, kies linioj ĉiuj kongruas "
+"kun RE."
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Forigi linifinan CR ĉe enigo."
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text  Trakti ĉiujn dosierojn kiel tekstajn."
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr "-w NOM  --width=NOM  Eligi maksimume NOM (implicite 130) kolumnojn."
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr ""
 "-l  --left-column  Montri nur la maldekstran kolumnon de komunaj linioj."
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  Ne eligi komunajn liniojn."
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Konverti TABojn al spacetoj en la eligo."
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr "--tabsize=NOM  TAB-lokoj estas post ĉiuj NOM (implicite 8) kolumnoj."
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Pene serĉi malpli grandan aron da ŝanĝoj."
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
@@ -1352,40 +1370,39 @@ msgstr ""
 "-H  --speed-large-files  Atendi grandajn dosierojn kaj multajn disajn "
 "ŝanĝetojn."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr "--diff-program=PROGRAMO  Uzi PROGRAMOn por kompari dosierojn."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Trakti ĉiujn dosierojn kiel tekstajn."
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version  Eligi informojn pri la versio."
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Uzado: %s [OPCIO]... DOSIERO1 DOSIERO2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Ĉeflanka kunfando de dosierodiferencoj."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "ne povas interage kunfandi la normalan enigon"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "ambaŭ komparendaj dosieroj estas dosierujoj"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 #, fuzzy
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
@@ -1410,56 +1427,43 @@ msgstr ""
 "v:\tlaŭte transpreni komunajn liniojn\n"
 "q:\tfini\n"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: nepermesita opcio -- %c.\n"
+
+#~ msgid ""
+#~ "This is free software; see the source for copying conditions.  There is "
+#~ "NO\n"
+#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
+#~ "PURPOSE.\n"
+#~ msgstr ""
+#~ "Ĉi tio estas libera programo; vidu la fonton por kopi-kondiĉoj. Estas\n"
+#~ "NENIA GARANTIO; eĉ ne por KOMERCA KVALITO aŭ ADEKVATECO POR DIFINITA "
+#~ "CELO.\n"
+
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i N1:N2  --ignore-initial=N1:N2"
 
 #~ msgid "-s  --quiet  --silent  Output nothing; yield exit status only."
 #~ msgstr "-s  --quiet  --silent  Eligi nenion; doni nur elig-valoron."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  Eligi informojn pri la versio."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  Montri ĉi tiun helpon."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Kompari tri dosierojn linion post linio."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr "-E  --ignore-tab-expansion  Ignori ŝanĝojn kaŭzatajn de TAB-oj."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr "-b  --ignore-space-change  Ignori ŝanĝojn en blanka spaco."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Ignori ĉian blankan spacon."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr ""
-#~ "-B  --ignore-blank-lines  Ignori ŝanĝojn, kies linioj estas malplenaj."
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
+#~ msgstr "Raportu pri cimoj al <bug-gnu-utils@gnu.org>."
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr "--strip-trailing-cr  Forigi linifinan CR ĉe enigo."
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "opcio '-%ld' estas malnova; uzu '-%c %ld'"
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Trakti ĉiujn dosierojn kiel tekstajn."
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "opcio '-%ld' estas malnova; ellasu ĝin"
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1472,10 +1476,6 @@ msgstr ""
 #~ "  -F RE  -show-function-line=RE  Montri la plej lastan linion, kiu "
 #~ "kongruas kun RE."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Eligi ed-programeton."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1488,33 +1488,12 @@ msgstr ""
 #~ "  --left-column  Eligi nur la maldekstran kolumnon de komunaj linioj.\n"
 #~ "  --suppress-common-lines  Ne eligi komunajn liniojn."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs  Konverti TABojn al spacetoj en la eligo."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr "-T  --initial-tab  Ĝustigi TABojn per antaŭmetado de spaceto."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr ""
-#~ "--tabsize=NOM  TAB-lokoj estas post ĉiuj NOM (implicite 8) kolumnoj."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  Pene serĉi malpli grandan aron da ŝanĝoj."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files  Atendi grandajn dosierojn kaj multajn disajn "
 #~ "ŝanĝetojn."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr "-A  --show-all  Eligi ĉiujn ŝanĝojn, kun konfliktoj en parentezoj."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "-X  Eligi interkovriĝantajn ŝanĝojn, en parentezoj."
 
@@ -1526,77 +1505,6 @@ msgstr ""
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L ETIK   --label=ETIK   Uzi ETIKedon anstataŭ la dosiernomo."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr "--diff-program=PROGRAMO  Uzi PROGRAMOn por kompari dosierojn."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Ignori ĉian blankan spacon."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr "-w NOM  --width=NOM  Eligi maksimume NOM (implicite 130) kolumnojn."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr ""
-#~ "-l  --left-column  Montri nur la maldekstran kolumnon de komunaj linioj."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  Atendi grandajn dosierojn kaj multajn disajn "
-#~ "ŝanĝetojn."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "legeraro"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "skriberaro"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "legeraro"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "legeraro"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "skriberaro"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "skriberaro"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: nepermesita opcio -- %c.\n"
-
-#~ msgid ""
-#~ "This is free software; see the source for copying conditions.  There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-#~ msgstr ""
-#~ "Ĉi tio estas libera programo; vidu la fonton por kopi-kondiĉoj. Estas\n"
-#~ "NENIA GARANTIO; eĉ ne por KOMERCA KVALITO aŭ ADEKVATECO POR DIFINITA "
-#~ "CELO.\n"
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr "Raportu pri cimoj al <bug-gnu-utils@gnu.org>."
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "opcio '-%ld' estas malnova; uzu '-%c %ld'"
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "opcio '-%ld' estas malnova; ellasu ĝin"
-
 #~ msgid "subsidiary program `%s' not found"
 #~ msgstr "subprogramo '%s' ne trovita"
 
index cc01531..644d3e4 100644 (file)
Binary files a/po/es.gmo and b/po/es.gmo differ
index b87ee43..7e0435a 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -1,15 +1,15 @@
 # Mensajes en español para GNU diffutils.
-# Copyright (C) 1996, 2001, 2002, 2004, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996, 2001, 2002, 2004, 2009, 2010, 2011, 2013 Free Software Foundation, Inc.
 # This file is distributed under the same license as the diffutils package.
 # Iñaky Pérez González <inaky@peloncho.fis.ucm.es>, 1996.
-# Santiago Vila Doncel <sanvila@unex.es>, 2001, 2002, 2004, 2009, 2010, 2011.
+# Santiago Vila Doncel <sanvila@unex.es>, 2001, 2002, 2004, 2009, 2010, 2011, 2013.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU diffutils 3.1-pre1\n"
+"Project-Id-Version: GNU diffutils 3.3-pre1\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
-"PO-Revision-Date: 2011-08-08 00:55+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
+"PO-Revision-Date: 2013-02-19 00:30+0100\n"
 "Last-Translator: Santiago Vila Doncel <sanvila@unex.es>\n"
 "Language-Team: Spanish <es@li.org>\n"
 "Language: es\n"
@@ -25,7 +25,7 @@ msgstr "error del programa"
 msgid "stack overflow"
 msgstr "desbordamiento de pila"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Error del sistema desconocido"
 
@@ -144,55 +144,57 @@ msgstr "%s: la opción '-W %s' requiere un argumento\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr "«"
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr "»"
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Conseguido"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "No hay ninguna coincidencia"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Expresión regular inválida"
 
 # Se refiere probablemente a cosas tales como que la c con la h es "ch",
 # aunque este ejemplo ya no es válido, pues la Real Academia dice
 # que para propósitos de ordenación son letras independientes.
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Carácter de unión inválido"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Carácter de clase inválido"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Barra invertida al final"
 
@@ -238,51 +240,51 @@ msgstr "Barra invertida al final"
 # no estoy dispuesto a matar por ello... sv
 # :) Gracias, pero por ahora dejaré retro-referencia, me parece más clara
 # en cuanto al significado preciso de la frase. ipg
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Retro-referencia inválida"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "[ ó [^ desemparejados"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "( ó \\( desemparejado"
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "\\{ desemparejado"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "El contenido de \\{\\} no es válido"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Final de rango inválido"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Memoria agotada"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Expresión regular precedente inválida"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Final prematuro de la expresión regular"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "La expresión regular es demasiado grande"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr ") ó \\) desemparejado"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "No hay ninguna expresión regular previa"
 
@@ -313,17 +315,17 @@ msgstr "fallo al reabrir %s con modo %s"
 
 #: lib/xstrtol-error.c:63
 #, c-format
-msgid "invalid %s%s argument `%s'"
-msgstr "argumento de %s%s inválido `%s'"
+msgid "invalid %s%s argument '%s'"
+msgstr "argumento de %s%s inválido '%s'"
 
 #: lib/xstrtol-error.c:68
 #, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "sufijo inválido en el argumento de %s%s `%s'"
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr "sufijo inválido en el argumento de %s%s '%s'"
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr "%s%s argumento '%s' demasiado grande"
 
 #: lib/version-etc.c:74
@@ -502,7 +504,7 @@ msgstr ""
 "Ayuda general sobre el uso de software de GNU: <http://www.gnu.org/gethelp/"
 ">\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Los ficheros %s y %s son distintos\n"
@@ -512,7 +514,7 @@ msgstr "Los ficheros %s y %s son distintos\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "Los ficheros binarios %s y %s son distintos\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "No hay ningún carácter de nueva línea al final del fichero"
 
@@ -526,29 +528,29 @@ msgstr "Torbjörn Granlund"
 msgid "David MacKenzie"
 msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
 #, c-format
-msgid "Try `%s --help' for more information."
-msgstr "Pruebe `%s --help' para más información."
+msgid "Try '%s --help' for more information."
+msgstr "Pruebe '%s --help' para más información."
 
 #: src/cmp.c:137
 #, c-format
-msgid "invalid --ignore-initial value `%s'"
-msgstr "valor --ignore-initial inválido `%s'"
+msgid "invalid --ignore-initial value '%s'"
+msgstr "valor --ignore-initial inválido '%s'"
 
 #: src/cmp.c:147
 #, c-format
 msgid "options -l and -s are incompatible"
 msgstr "las opciones -l y -s son incompatibles"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "la escritura falló"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "salida estándar"
 
@@ -615,7 +617,7 @@ msgstr ""
 "Los parámetros opcionales SALTO1 y SALTO2 especifican el número de\n"
 "bytes que se saltan en cada fichero (cero por omisión)."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -635,10 +637,10 @@ msgstr ""
 "GB 1.000.000.000, G 1.073.741.824, y así en adelante para T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
-msgstr "Si un FICHERO es `-' o no se especifica, lee la entrada estándar."
+msgid "If a FILE is '-' or missing, read standard input."
+msgstr "Si un FICHERO es '-' o no se especifica, lee la entrada estándar."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "El estado de salida es 0 si las entradas son iguales, 1 si son diferentes,\n"
@@ -646,18 +648,18 @@ msgstr ""
 
 #: src/cmp.c:240
 #, c-format
-msgid "invalid --bytes value `%s'"
-msgstr "valor --bytes inválido `%s'"
+msgid "invalid --bytes value '%s'"
+msgstr "valor --bytes inválido '%s'"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
 #, c-format
-msgid "missing operand after `%s'"
-msgstr "falta un operando después de `%s'"
+msgid "missing operand after '%s'"
+msgstr "falta un operando después de '%s'"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
 #, c-format
-msgid "extra operand `%s'"
-msgstr "operando extra `%s'"
+msgid "extra operand '%s'"
+msgstr "operando extra '%s'"
 
 #: src/cmp.c:491
 #, c-format
@@ -675,36 +677,36 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: fin de fichero encontrado en %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr "Paul Eggert"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr "Mike Haertel"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr "David Hayes"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr "Richard Stallman"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr "Len Tower"
 
-#: src/diff.c:340
+#: src/diff.c:339
 #, c-format
-msgid "invalid context length `%s'"
-msgstr "longitud de contexto inválida `%s'"
+msgid "invalid context length '%s'"
+msgstr "longitud de contexto inválida '%s'"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "este sistema no admite paginación"
@@ -718,78 +720,78 @@ msgstr "este sistema no admite paginación"
 # se refiere. la opción de etiqueta de fichero se ha especificado demasiadas
 # veces. O más cortito, dejarlo como está :) em+
 # Me parece que así está bien ...
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "demasiadas opciones de etiqueta de fichero"
 
-#: src/diff.c:515
+#: src/diff.c:514
 #, c-format
-msgid "invalid width `%s'"
-msgstr "ancho inválido `%s'"
+msgid "invalid width '%s'"
+msgstr "ancho inválido '%s'"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "opciones de ancho conflictivas"
 
-#: src/diff.c:544
+#: src/diff.c:543
 #, c-format
-msgid "invalid horizon length `%s'"
-msgstr "longitud del horizonte inválida `%s'"
+msgid "invalid horizon length '%s'"
+msgstr "longitud del horizonte inválida '%s'"
 
-#: src/diff.c:595
+#: src/diff.c:598
 #, c-format
-msgid "invalid tabsize `%s'"
-msgstr "tamaño de tab inválido `%s'"
+msgid "invalid tabsize '%s'"
+msgstr "tamaño de tab inválido '%s'"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "opciones de tamaño de tab conflictivas"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "se ha especificado tanto --from-file como --to-file"
 
-#: src/diff.c:851
+#: src/diff.c:854
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "    --normal                  produce un diff normal (predeterminado)"
 
-#: src/diff.c:852
+#: src/diff.c:855
 msgid "-q, --brief                   report only when files differ"
 msgstr ""
 "-q  --brief                   indica sólo si los ficheros son diferentes o no"
 
-#: src/diff.c:853
+#: src/diff.c:856
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr ""
 "-s  --report-identical-files  notifica cuándo dos ficheros son idénticos"
 
-#: src/diff.c:854
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
 "-c, -C NÚM, --context[=NÚM]   muestra NÚM (por omisión 3) líneas de contexto"
 
-#: src/diff.c:855
+#: src/diff.c:858
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 "-u, -U NÚM, --unified[=NÚM]   muestra NÚM (por omisión 3) línea de contexto\n"
 "                              unificado"
 
-#: src/diff.c:856
+#: src/diff.c:859
 msgid "-e, --ed                      output an ed script"
 msgstr "-e  --ed                      produce un script ed"
 
-#: src/diff.c:857
+#: src/diff.c:860
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs                     produce un diff en formato RCS"
 
-#: src/diff.c:858
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
 msgstr "-y, --side-by-side            muestra en dos columnas"
 
-#: src/diff.c:859
+#: src/diff.c:862
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
@@ -797,28 +799,28 @@ msgstr ""
 "impresión\n"
 "                                    (por omisión 130)"
 
-#: src/diff.c:860
+#: src/diff.c:863
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr ""
 "  --left-column        muestra sólo en la columna izquierda las líneas "
 "comunes"
 
-#: src/diff.c:861
+#: src/diff.c:864
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "    --suppress-common-lines   no muestra las líneas comunes"
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 "-p, --show-c-function         muestra en qué función C está cada cambio"
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 "-F, --show-function-line=ER   muestra la línea más reciente que encaje con ER"
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
@@ -828,18 +830,18 @@ msgstr ""
 "                                (se puede repetir)"
 
 # Aquí a lo mejor también: la salida -> el resultado. sv
-#: src/diff.c:868
+#: src/diff.c:871
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr ""
 "-t  --expand-tabs             expande los tabuladores a espacios en la salida"
 
-#: src/diff.c:869
+#: src/diff.c:872
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
 "-T, --initial-tab             hace que los tabuladores se alineen\n"
 "                              anteponiendo uno"
 
-#: src/diff.c:870
+#: src/diff.c:873
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr ""
@@ -847,7 +849,7 @@ msgstr ""
 "columnas\n"
 "                    de impresión (por omisión, 8)"
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
@@ -865,49 +867,53 @@ msgstr ""
 # Te mandaré el gettext, para que veas lo que vale un peine... sv
 # X'D ... no soy tan malo ... ipg
 # Medita de nuevo si no usas resultado em
-#: src/diff.c:872
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+#: src/diff.c:875
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr ""
-"-l, --paginate                pasa la salida a través de `pr' para paginarla"
+"-l, --paginate                pasa la salida a través de 'pr' para paginarla"
 
-#: src/diff.c:874
+#: src/diff.c:877
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr ""
 "-r, --recursive                 compara recursivamente todos los "
 "subdirectorios"
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr "    --no-dereference            no sigue los enlaces simbólicos"
+
+#: src/diff.c:879
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr ""
 "-N, --new-file                  trata los ficheros que no existan como vacíos"
 
-#: src/diff.c:876
+#: src/diff.c:880
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 "        --unidirectional-new-file   trata los ficheros originales que no "
 "existan\n"
 "                                    como vacíos"
 
-#: src/diff.c:877
+#: src/diff.c:881
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
 "    --ignore-file-name-case   descarta las diferencias entre mayúsculas y\n"
 "                              minúsculas al comparar los nombres de los "
 "ficheros"
 
-#: src/diff.c:878
+#: src/diff.c:882
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "--no-ignore-file-name-case  considera distintas mayúsculas y minúsculas\n"
 "                            cuando compara los nombres de los ficheros"
 
-#: src/diff.c:879
+#: src/diff.c:883
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr ""
 "-x, --exclude=PAT               excluye los ficheros que coincidan con PAT"
 
-#: src/diff.c:880
+#: src/diff.c:884
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
@@ -915,14 +921,14 @@ msgstr ""
 "alguna\n"
 "                                expresión regular de FICHERO"
 
-#: src/diff.c:881
+#: src/diff.c:885
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
 "-S, --starting-file=FICHERO     comienza por FICHERO cuando se comparan\n"
 "                                directorios"
 
-#: src/diff.c:882
+#: src/diff.c:886
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
 "                                  FILE1 can be a directory"
@@ -930,7 +936,7 @@ msgstr ""
 "    --from-file=FICHERO1        compara FICHERO1 con todos los operandos;\n"
 "                                  FICHERO1 puede ser un directorio"
 
-#: src/diff.c:884
+#: src/diff.c:888
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
 "                                  FILE2 can be a directory"
@@ -938,7 +944,7 @@ msgstr ""
 "    --to-file=FICHERO2          compara todos los operandos con FICHERO2\n"
 "                                  FICHERO2 puede ser un directorio"
 
-#: src/diff.c:887
+#: src/diff.c:891
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr ""
@@ -946,60 +952,60 @@ msgstr ""
 "minúsculas\n"
 "                         en el contenido de los ficheros"
 
-#: src/diff.c:888
+#: src/diff.c:892
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "-E, --ignore-tab-expansion      descarta cambios debidos a expansiones de "
 "tabs"
 
-#: src/diff.c:889
-#, fuzzy
+#: src/diff.c:893
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
-msgstr "-W, --ignore-all-space       descarta todo el espacio en blanco"
+msgstr ""
+"-Z, --ignore-trailing-space     descarta espacio en blanco al final de línea"
 
-#: src/diff.c:890
+#: src/diff.c:894
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr ""
 "-b, --ignore-space-change      descarta las diferencias en la cantidad de\n"
 "                               espacio en blanco"
 
-#: src/diff.c:891
+#: src/diff.c:895
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w, --ignore-all-space          descarta los espacios en blanco"
 
-#: src/diff.c:892
+#: src/diff.c:896
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr ""
-"-B, --ignore-blank-lines        descarta los cambios cuyas líneas son todas "
+"-B, --ignore-blank-lines        descarta los cambios en líneas completamente "
 "vacías"
 
-#: src/diff.c:893 src/sdiff.c:178
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+#: src/diff.c:897
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I, --ignore-matching-lines=EXPR-REG  descarta las líneas que coincidan con "
 "EXPR-REG"
 
-#: src/diff.c:895
+#: src/diff.c:899
 msgid "-a, --text                      treat all files as text"
 msgstr ""
 "-a, --text                      trata todos los ficheros como de tipo texto"
 
-#: src/diff.c:896
+#: src/diff.c:900
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr ""
 "    --strip-trailing-cr         elimina los retornos de carro finales en la "
 "entrada"
 
-#: src/diff.c:898
+#: src/diff.c:902
 msgid "    --binary                    read and write data in binary mode"
 msgstr ""
 "    --binary                    lee y escribe los datos en modo binario"
 
-#: src/diff.c:901
+#: src/diff.c:905
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D, --ifdef=NOMBRE        genera un fichero combinado que muestra las\n"
 "                          diferencias con '#ifdef NOMBRE'"
@@ -1007,23 +1013,23 @@ msgstr ""
 # Propongo similar -> parecida. Ver gettext. sv
 # Hmmm ... prefiero similar. Antes estaba puesto `parecida' y la verdad,
 # no quedaba tan bien. ipg
-#: src/diff.c:902
+#: src/diff.c:906
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "    --GTYPE-group-format=GFMT   formatea los grupos de entrada GTYPE con GFMT"
 
-#: src/diff.c:903
+#: src/diff.c:907
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
 "    --line-format=LFMT          formatea todas las líneas de entrada con LFMT"
 
 # ídem. sv
-#: src/diff.c:904
+#: src/diff.c:908
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "    --LTYPE-line-format=LFMT    formatea las líneas de entrada LTYPE con LFMT"
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
@@ -1032,13 +1038,13 @@ msgstr ""
 "resultado\n"
 "    de diff, generalizando -D/--ifdef."
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
-"  LTYPE es `old' (antiguo), `new' (nuevo) o `unchanged' (sin cambios).\n"
-"  GTYPE es como LTYPE o `changed' (cambiado)."
+"  LTYPE es 'old' (antiguo), 'new' (nuevo) o 'unchanged' (sin cambios).\n"
+"  GTYPE es como LTYPE o 'changed' (cambiado)."
 
-#: src/diff.c:908
+#: src/diff.c:912
 msgid ""
 "  GFMT (only) may contain:\n"
 "    %<  lines from FILE1\n"
@@ -1067,7 +1073,7 @@ msgstr ""
 "      M  L+1\n"
 "  %(A=B?T:E)  si A es igual a B entonces T en caso contrario E"
 
-#: src/diff.c:920
+#: src/diff.c:924
 msgid ""
 "  LFMT (only) may contain:\n"
 "    %L  contents of line\n"
@@ -1081,7 +1087,7 @@ msgstr ""
 "el\n"
 "                                      número de línea de entrada"
 
-#: src/diff.c:924
+#: src/diff.c:928
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
 "    %%  %\n"
@@ -1095,17 +1101,17 @@ msgstr ""
 "    %c'\\OOO'  el carácter con código octal OOO\n"
 "    C    el carácter C (los otros caracteres se representan a sí mismos)"
 
-#: src/diff.c:930
+#: src/diff.c:934
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr ""
 "-d, --minimal            se esfuerza en encontrar un grupo de cambios menor"
 
-#: src/diff.c:931
+#: src/diff.c:935
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 "    --horizon-lines=NÚM  mantiene NÚM líneas de prefijos y sufijos comunes"
 
-#: src/diff.c:932
+#: src/diff.c:936
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr ""
@@ -1113,75 +1119,80 @@ msgstr ""
 "son\n"
 "                         numerosos, pequeños y dispersos"
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr "    --help               muestra esta ayuda y finaliza"
 
-#: src/diff.c:935
+#: src/diff.c:939
 msgid "-v, --version            output version information and exit"
 msgstr "-v, --version            informa de la versión y finaliza"
 
-#: src/diff.c:937
+#: src/diff.c:941
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
-"FICHEROS puede ser `FICHERO1 FICHERO2' o `DIRECTORIO1 DIRECTORIO2'\n"
-"  o `DIRECTORIO FICHERO...' o `FICHERO... DIRECTORIO'."
+"FICHEROS puede ser 'FICHERO1 FICHERO2' o 'DIRECTORIO1 DIRECTORIO2'\n"
+"  o 'DIRECTORIO FICHERO...' o 'FICHERO... DIRECTORIO'."
 
-#: src/diff.c:938
+#: src/diff.c:942
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr "Si se da --from-file o --to-file, no hay restricciones en FICHERO(s)."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
-msgstr "Si un FICHERO es `-', lee la entrada estándar."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+msgid "If a FILE is '-', read standard input."
+msgstr "Si un FICHERO es '-', lee la entrada estándar."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Modo de empleo: %s [OPCIÓN]... FICHEROS\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 msgid "Compare FILES line by line."
 msgstr "Compara FICHEROS línea por línea."
 
-#: src/diff.c:984
+#: src/diff.c:988
 #, c-format
-msgid "conflicting %s option value `%s'"
-msgstr "la opción %s tiene el valor conflictivo `%s'"
+msgid "conflicting %s option value '%s'"
+msgstr "la opción %s tiene el valor conflictivo '%s'"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "las especificaciones del estilo de salida son conflictivas"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Sólo en %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
-msgstr "no se puede comparar `-' con un directorio"
+#: src/diff.c:1192
+msgid "cannot compare '-' to a directory"
+msgstr "no se puede comparar '-' con un directorio"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "la opción -D no se puede usar con directorios"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Subdirectorios comunes: %s y %s\n"
 
 # Nota: El segundo y el cuarto `%s' son tipos de fichero.
 # Por ejemplo, "texto C", "texto FORTRAN", etc.
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "El fichero %s es un %s mientras que el %s es un %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Los enlaces simbólicos %s y %s son distintos\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Los ficheros %s y %s son idénticos\n"
@@ -1197,11 +1208,11 @@ msgid "incompatible options"
 msgstr "opciones incompatibles"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
-msgstr "se ha especificado `-' para más de un fichero de entrada"
+msgid "'-' specified for more than one input file"
+msgstr "se ha especificado '-' para más de un fichero de entrada"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "la lectura falló"
 
@@ -1258,9 +1269,9 @@ msgstr ""
 "-X                          como -x, pero encierra conflictos entre corchetes"
 
 #: src/diff3.c:436
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr ""
-"-i                          añade las órdenes `w' y `q' a los `scripts' ed"
+"-i                          añade las órdenes 'w' y 'q' a los scripts ed"
 
 #: src/diff3.c:438
 msgid ""
@@ -1370,32 +1381,32 @@ msgstr "error interno: tipo de diff inválido en process_diff"
 msgid "invalid diff format; invalid change separator"
 msgstr "formato de diff inválido; separador de cambio inválido"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "formato de diff inválido; línea final incompleta"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
 #, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "no se ha podido invocar al programa subsidiario `%s'"
+msgid "subsidiary program '%s' could not be invoked"
+msgstr "no se ha podido invocar al programa subsidiario '%s'"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr ""
 "formato de diff inválido; caracteres incorrectos al comienzo de la línea"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "error interno: tipo de diff inválido pasado a la salida"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "el fichero de entrada ha menguado"
 
 #: src/dir.c:158
 #, c-format
-msgid "cannot compare file names `%s' and `%s'"
-msgstr "no se pueden comparar los nombres de fichero `%s' y `%s'"
+msgid "cannot compare file names '%s' and '%s'"
+msgstr "no se pueden comparar los nombres de fichero '%s' y '%s'"
 
 #: src/dir.c:209
 #, c-format
@@ -1407,7 +1418,7 @@ msgstr "%s: bucle de directorio recursivo"
 msgid "Thomas Lord"
 msgstr "Thomas Lord"
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
@@ -1415,22 +1426,22 @@ msgstr ""
 "resultado\n"
 "                                al fichero FICHERO"
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i, --ignore-case            considera iguales mayúsculas y minúsculas"
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "-E, --ignore-tab-expansion   descarta cambios debidos a expansiones de tabs"
 
-#: src/sdiff.c:174
-#, fuzzy
+#: src/sdiff.c:177
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
-msgstr "-W, --ignore-all-space       descarta todo el espacio en blanco"
+msgstr ""
+"-Z, --ignore-trailing-space  descarta espacio en blanco al final de línea"
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr ""
@@ -1438,52 +1449,58 @@ msgstr ""
 "espacio\n"
 "                             en blanco"
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 msgid "-W, --ignore-all-space       ignore all white space"
 msgstr "-W, --ignore-all-space       descarta todo el espacio en blanco"
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr ""
 "-B, --ignore-blank-lines     descarta los cambios cuyas líneas son todas "
 "vacías"
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I, --ignore-matching-lines=EXPR-REG  descarta las líneas que coincidan con "
+"EXPR-REG"
+
+#: src/sdiff.c:182
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr ""
 "    --strip-trailing-cr      elimina los retornos de carro finales en la "
 "entrada"
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 msgid "-a, --text                   treat all files as text"
 msgstr ""
 "-a, --text                   trata todos los ficheros como de tipo texto"
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 "-w,  --width=NÚM             muestra como mucho NÚM columnas de impresión\n"
 "                             (por omisión 130)"
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr ""
 "-l, --left-column            muestra sólo la columna izquierda de líneas "
 "comunes"
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s, --suppress-common-lines  no muestra las líneas comunes"
 
 # Aquí a lo mejor también: la salida -> el resultado. sv
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr ""
 "-t, --expand-tabs            expande los tabuladores a espacios en la salida"
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr ""
@@ -1491,13 +1508,13 @@ msgstr ""
 "NÚM\n"
 "                             columnas de impresión (por omisión, 8)"
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr ""
 "-d, --minimal                se esfuerza en encontrar un grupo de cambios "
 "menor"
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr ""
@@ -1505,35 +1522,35 @@ msgstr ""
 "cambios\n"
 "                             son numerosos, pequeños y dispersos"
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr ""
 "    --diff-program=PROGRAMA  utiliza PROGRAMA para comparar los ficheros"
 
-#: src/sdiff.c:193
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
 msgstr "    --help                   muestra esta ayuda y finaliza"
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 msgid "-v, --version                output version information and exit"
 msgstr "-v, --version                informa de la versión y finaliza"
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Modo de empleo: %s [OPCIÓN]... FICHERO1 FICHERO2\n"
 
 # Se admiten sugerencias.
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr ""
 "Combinación a dos columnas de las diferencias entre FICHERO1 y FICHERO2."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "no se puede mezclar interactivamente con la entrada estándar"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "los dos ficheros que hay que comparar son directorios"
 
@@ -1578,7 +1595,7 @@ msgstr "los dos ficheros que hay que comparar son directorios"
 # ## verbosidad
 # ## I. De verbo.
 # ##    1. (sustantivo femenino). Verborrea.
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
index 7f5d617..ac7d95e 100644 (file)
Binary files a/po/fi.gmo and b/po/fi.gmo differ
index e51a424..cc8093d 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: diffutils 2.8.7\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2004-04-19 14:36+03:00\n"
 "Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -23,7 +23,7 @@ msgstr "ohjelmavirhe"
 msgid "stack overflow"
 msgstr "pinon ylivuoto"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Tuntematon järjestelmävirhe"
 
@@ -136,100 +136,102 @@ msgstr "%s: valitsin \"%s\" vaatii argumentin\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Onnistui"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Ei vastaavuutta"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Virheellinen säännöllinen lauseke"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Virheellinen vertailumerkki"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Virheellinen merkkiluokan nimi"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Kenoviiva lopussa"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Virheellinen takaisinviittaus"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "Pariton [ tai [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "Pariton ( tai \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "Pariton \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Virheellinen \"\\{\\}\":n sisältö"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Virheellinen välin loppu"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Muisti lopussa"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Virheellinen edeltävä säännöllinen lauseke"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Ennenaikainen säännöllisen lausekkeen loppu"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Liian suuri säännöllinen lauseke"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "Pariton ) tai \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Ei edellistä säännöllistä lauseketta"
 
@@ -261,17 +263,17 @@ msgstr ""
 
 #: lib/xstrtol-error.c:63
 #, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "virheellinen arvo \"%s\" valitsimelle --bytes"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "virheellinen horisontin pituus \"%s\""
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr ""
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr ""
 
 #: lib/version-etc.c:74
@@ -440,7 +442,7 @@ msgstr ""
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Tiedostot %s ja %s eroavat\n"
@@ -450,7 +452,7 @@ msgstr "Tiedostot %s ja %s eroavat\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "Binääritiedostot %s ja %s eroavat\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Ei rivinvaihtoa tiedoston lopussa"
 
@@ -464,14 +466,14 @@ msgstr "Torbjörn Granlund"
 msgid "David MacKenzie"
 msgstr ""
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "Kokeile \"%s --help\" saadaksesi lisää tietoa."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "virheellinen arvo \"%s\" valitsimelle --ignore-initial"
 
 #: src/cmp.c:147
@@ -479,14 +481,14 @@ msgstr "virheellinen arvo \"%s\" valitsimelle --ignore-initial"
 msgid "options -l and -s are incompatible"
 msgstr "valitsimet -l ja -s eivät ole yhteensopivia"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "kirjoitus epäonnistui"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "vakiotuloste"
 
@@ -551,7 +553,7 @@ msgid ""
 msgstr ""
 "OHITA1 ja OHITA2 ovat jokaisessa tiedostossa ohitettavien tavujen määrä."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -567,28 +569,29 @@ msgstr ""
 "GB 1,000,000,000, G 1,073,741,824, sekä T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "Jos TIEDOSTO on \"-\" tai puuttuu, luetaan vakiosyötteestä."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "Paluuarvo on 0, jos syötteet ovat samoja, 1 jos erilaisia, "
 "ongelmatilanteissa 2."
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "virheellinen arvo \"%s\" valitsimelle --bytes"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "puuttuva operandi argumentin \"%s\" jälkeen"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "ylimääräinen operandi \"%s\""
 
 #: src/cmp.c:491
@@ -607,212 +610,213 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: Tiedoston %s loppu\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr ""
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "virheellinen kontekstin pituus \"%s\""
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "tämä isäntä ei tue sivunumerointia"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "liian monta tiedostonimivalitsinta"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "virheellinen leveys \"%s\""
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "ristiriitaiset leveysvalinnat"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "virheellinen horisontin pituus \"%s\""
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "virheellinen sarkaimen koko \"%s\""
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "ristiriitaiset sarkaimen kokovalinnat"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "sekä valitsin --from-file että --to-file on määritetty"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal  Tulosta normaali diff."
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q  --brief  Kertoo vain, eroavatko tiedostot."
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files  Ilmoita, jos kaksi tiedostoa ovat samat."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w MÄÄRÄ  --width=MÄÄRÄ  Tulosta enintään MÄÄRÄ (oletus 130) merkkiä riville."
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 "-w MÄÄRÄ  --width=MÄÄRÄ  Tulosta enintään MÄÄRÄ (oletus 130) merkkiä riville."
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Käsittelee kaikki tiedostot tekstinä."
+msgstr "-e  --ed  Tulosta ed-skripti."
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs  Tulosta RCS-muotoinen diff."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  Näyttää versiotiedot."
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
 "-w MÄÄRÄ  --width=MÄÄRÄ  Tulosta enintään MÄÄRÄ (oletus 130) merkkiä riville."
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr "-l  --left-column  Tulosta vain yhteisten rivien vasen palsta"
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  Älä tulosta yhteisiä rivejä."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Laajentaa sarkaimet välilyönneiksi tulosteessa."
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr "-T  --initial-tab  Lisää sarkain rivien alkuun."
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr "--tabsize=KOKO Sarkaimen koko on KOKO (oletus 8) merkkiä."
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr ""
 "-l  --paginate  Ohjaa tuloste ohjelman \"pr\" läpi sivunumerointia varten."
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr "-r  --recursive  Vertaa löytyneitä alihakemistoja rekursiivisesti."
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N  --new-file  Käsittele puuttuvia tiedostoja tyhjinä."
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr "--unidirectional-new-file  Käsittele puuttuvia tiedostoja tyhjinä."
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
 "--ignore-file-name-case  Älä huomioi kirjainkokoa tiedostojen nimiä "
 "verrattaessa."
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "--no-ignore-file-name-case  Kirjainkoko huomioidaan tiedostonimiä "
 "verrattaessa."
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr ""
 "-x HAHMO  --exclude=HAHMO  Jätä pois tiedostot, jotka vastaavat HAHMOa."
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
@@ -820,7 +824,7 @@ msgstr ""
 "-X TIEDOSTO --exclude-from=TIEDOSTO  Jätä pois TIEDOSTOssa listatut "
 "tiedostot."
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
@@ -828,7 +832,7 @@ msgstr ""
 "-S TIEDOSTO  --starting-file=TIEDOSTO  Aloita TIEDOSTOlla verrattaessa "
 "hakemistoja."
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -837,7 +841,7 @@ msgstr ""
 "--from-file=TIEDOSTO1  Vertaa TIEDOSTO1:ä kaikkiin operandeihin. TIEDOSTO1 "
 "voi olla hakemisto."
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -846,7 +850,7 @@ msgstr ""
 "--to-file=TIEDOSTO2  Vertaa kaikkia operandeja TIEDOSTO2:een. TIEDOSTO2 voi "
 "olla hakemisto."
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
@@ -854,98 +858,99 @@ msgstr ""
 "-i  --ignore-case  Älä huomioi kirjainkokoa tiedostojen sisältöä "
 "verrattaessa."
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Älä huomioi sarkainten laajennuksesta johtuvia "
 "eroja."
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-white-space  Älä huomioi tyhjiä merkkejä."
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr ""
 "-b  --ignore-space-change  Älä huomioi tyhjistä merkeistä johtuvia eroja."
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-white-space  Älä huomioi tyhjiä merkkejä."
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr ""
 "-B  --ignore-blank-lines  Älä huomioi tyhjistä riveistä johtuvia eroja."
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I SI  --ignore-matching-lines=SI  Älä huomioi eroavia rivejä, jotka "
 "vastaavat säännöllistä lauseketta."
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text  Käsittelee kaikki tiedostot tekstinä."
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Poista lopussa oleva vaununpalautus syötteestä."
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary  Lukee ja kirjoittaa dataa binääritilassa."
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D NIMI  --ifdef=NIMI  Tulosta yhdistetty tiedosto näyttämään \"#ifdef NIMI"
 "\"-erot."
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "--GTYYPPI-group-format=GMUOTO  Sama, muotoile GTYYPPIset syöteryhmät "
 "GMUOTOon."
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr "--line-format=LMUOTO  Sama, muotoile kaikki syöterivit LMUOTOon."
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "--LTYYPPI-line-format=MUOTO  Sama, muotoile LTYYPPIset syöterivit LMUOTOon."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  LTYYPPI on \"old\", \"new\" tai \"unchanged\". GTYYPPI on LTYYPPI tai "
 "\"changed\"."
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -974,7 +979,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -987,7 +992,7 @@ msgstr ""
 "    %l  rivin sisältö, mahdollinen edeltävä rivinvaihto poislukien\n"
 "    %[-][LEVEYS][.[TARKK]]{doxX}n syöterivin numero printf-tyylillä"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -1001,19 +1006,19 @@ msgstr ""
 "    %c'C'  yksittäinen merkki C\n"
 "    %c'\\OOO'  yksittäinen merkki oktaalikoodilla OOO"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Yrittää löytää pienemmän määrän muutoksia."
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 "--horizon-lines=MÄÄRÄ  Säilytä MÄÄRÄ riviä yhteisestä etu- ja "
 "jälkiliitteestä."
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
@@ -1021,23 +1026,24 @@ msgstr ""
 "-H  --speed-large-files  Oleta suuret tiedostot, joissa pieniä muutoksia "
 "ympäri tiedoston."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version  Näyttää versiotiedot."
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "TIEDOSTOT ovat \"TIEDOSTO1 TIEDOSTO2\" tai \"HAK1 HAK2\" tai \"HAK "
 "TIEDOSTO...\" tai \"TIEDOSTO... HAK\"."
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
@@ -1045,54 +1051,61 @@ msgstr ""
 "Jos valitsin --from-file tai --to-file on annettu, TIEDOSTOILLE ei ole "
 "rajoituksia."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "Jos TIEDOSTO on \"-\", luetaan vakiosyötteestä."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Käyttö: %s [VALITSIN]... TIEDOSTOT\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "Vertaa tiedostoja rivi riviltä."
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "ristiriitainen arvo \"%2$s\" valitsimelle %1$s"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "ristiriitaiset tulostustyylin valinnat"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Vain hakemistossa %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "ei voi verrata syötettä \"-\" hakemistoon"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "valitsin -D ei toimi hakemistojen kanssa"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Yhteiset alihakemistot: %s ja %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "Tiedosto %s on %s, kun taas tiedosto %s on %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Tiedostot %s ja %s eroavat\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Tiedostot %s ja %s ovat identtiset\n"
@@ -1108,11 +1121,12 @@ msgid "incompatible options"
 msgstr "yhteensopimattomat valitsimet"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "\"-\" on määritetty useammaksi kuin yhdeksi syötetiedostoksi"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "lukeminen epäonnistui"
 
@@ -1150,14 +1164,12 @@ msgid ""
 msgstr "-x  --overlap-only  Tulosta päällekkäiset muutokset."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap  Tulosta yhdistämättömät muutokset, ristiriidat merkiten."
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "-i  Lisää komennot \"w\" ja \"q\" ed-skripteihin."
 
 #: src/diff3.c:438
@@ -1193,9 +1205,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Käsittelee kaikki tiedostot tekstinä."
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1247,30 +1258,30 @@ msgstr "sisäinen virhe: virheellinen diff-tyyppi funktiossa process_diff"
 msgid "invalid diff format; invalid change separator"
 msgstr "virheellinen diff-muoto; virheellinen muutoserotin"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "virheellinen diff-muoto; viimeinen rivi vajaa"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "apuohjelmaa \"%s\" ei voitu käynnistää"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "virheellinen diff-muoto; väärät rivin alkumerkit"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "sisäinen virhe: virheellinen diff-muoto välitetty tulosteeseen"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "syötetiedosto kutistui"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "ei voi verrata tiedostonimiä \"%s\" ja \"%s\""
 
 #: src/dir.c:209
@@ -1283,7 +1294,7 @@ msgstr ""
 msgid "Thomas Lord"
 msgstr ""
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
@@ -1291,87 +1302,94 @@ msgstr ""
 "-o TIEDOSTO  --output=TIEDOSTO  Vuorovaikutteinen toiminta, tuloste "
 "TIEDOSTOon."
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i  --ignore-case  Käsittele isot ja pienet kirjaimet samoina."
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Älä huomioi sarkainten laajennuksesta johtuvia "
 "eroja."
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-white-space  Älä huomioi tyhjiä merkkejä."
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr ""
 "-b  --ignore-space-change  Älä huomioi tyhjistä merkeistä johtuvia eroja."
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-white-space  Älä huomioi tyhjiä merkkejä."
+msgstr "-W  --ignore-all-white  Älä huomioi tyhjiä merkkejä."
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr ""
 "-B  --ignore-blank-lines  Älä huomioi tyhjistä riveistä johtuvia eroja."
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I SI  --ignore-matching-lines=SI  Älä huomioi eroavia rivejä, jotka "
+"vastaavat säännöllistä lauseketta."
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Poista lopussa oleva vaununpalautus syötteestä."
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text  Käsittelee kaikki tiedostot tekstinä."
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 "-w MÄÄRÄ  --width=MÄÄRÄ  Tulosta enintään MÄÄRÄ (oletus 130) merkkiä riville."
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr "-l  --left-column  Tulosta vain yhteisten rivien vasen palsta"
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  Älä tulosta yhteisiä rivejä."
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Laajentaa sarkaimet välilyönneiksi tulosteessa."
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr "--tabsize=KOKO Sarkaimen koko on KOKO (oletus 8) merkkiä."
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Yrittää löytää pienemmän määrän muutoksia."
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
@@ -1379,40 +1397,39 @@ msgstr ""
 "-H  --speed-large-files  Oleta suuret tiedostot, joissa pieniä muutoksia "
 "ympäri tiedoston."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr "--diff-program=OHJELMA  Käytä OHJELMAa tiedostojen vertaamiseen."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Käsittelee kaikki tiedostot tekstinä."
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version  Näyttää versiotiedot."
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Käyttö: %s [VALITSIN]...TIEDOSTO1 TIEDOSTO2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Tiedostojen erojen yhdistäminen vierekkäisillä palstoilla."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "vakiosyötettä ei voi yhdistää vuorovaikutteisesti"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "molemmat vertailtavat tiedostot ovat hakemistoja"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 #, fuzzy
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
@@ -1437,60 +1454,47 @@ msgstr ""
 "v:\tSisällytä yhteiset rivit automaattisesti ja ilmoita niistä.\n"
 "q:\tLopeta.\n"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: virheellinen valitsin -- %c\n"
+
+#~ msgid ""
+#~ "This is free software; see the source for copying conditions.  There is "
+#~ "NO\n"
+#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
+#~ "PURPOSE.\n"
+#~ msgstr ""
+#~ "Tämä on vapaa ohjelmisto; katsokaa kopiointiehdot lähdekoodista. Takuuta "
+#~ "EI\n"
+#~ "OLE; ei edes KAUPALLISESTI HYVÄKSYTTÄVÄSTÄ LAADUSTA tai SOPIVUUDESTA "
+#~ "TIETTYYN\n"
+#~ "TARKOITUKSEEN.\n"
+
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i OHITA1:OHITA2 --ignore-initial=OHITA1:OHITA2"
 
 #~ msgid "-s  --quiet  --silent  Output nothing; yield exit status only."
 #~ msgstr "-s  --quiet  --silent  Ei tulostusta; vain paluuarvo."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  Näyttää versiotiedot."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  Näyttää tämän ohjeen."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Vertaa kolmea tiedostoa rivi riviltä."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr ""
-#~ "-E  --ignore-tab-expansion  Älä huomioi sarkainten laajennuksesta "
-#~ "johtuvia eroja."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr ""
-#~ "-b  --ignore-space-change  Älä huomioi tyhjistä merkeistä johtuvia eroja."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-white  Älä huomioi tyhjiä merkkejä."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
 #~ msgstr ""
-#~ "-B  --ignore-blank-lines  Älä huomioi tyhjistä riveistä johtuvia eroja."
+#~ "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen <bug-gnu-utils@gnu."
+#~ "org>."
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr ""
-#~ "--strip-trailing-cr  Poista lopussa oleva vaununpalautus syötteestä."
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "valitsin \"-%ld\" on vanhentunut, käytä \"-%c %ld\""
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Käsittelee kaikki tiedostot tekstinä."
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "valitsin \"-%ld\" on vanhentunut; jätä se pois"
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1504,10 +1508,6 @@ msgstr ""
 #~ "  -F SI  --show-function-line=SI  Näytä viimeisin säännöllistä lauseketta "
 #~ "vastaava rivi."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Tulosta ed-skripti."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1520,32 +1520,12 @@ msgstr ""
 #~ "  --left-column  Tulosta vain yhteisten rivien vasen palsta.\n"
 #~ "  --suppress-common-lines  Älä tulosta yhteisiä rivejä."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs  Laajentaa sarkaimet välilyönneiksi tulosteessa."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr "-T  --initial-tab  Lisää sarkain rivien alkuun."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr "--tabsize=KOKO Sarkaimen koko on KOKO (oletus 8) merkkiä."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  Yrittää löytää pienemmän määrän muutoksia."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files  Olettaa tiedostojen olevan suuria ja muutosten "
 #~ "pieniä sekä hajanaisia."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr "-A  --show-all  Tulosta kaikki muutokset, ristiriidat merkiten."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "-X  Tulosta päällekkäiset muutokset sulkeiden sisään."
 
@@ -1556,82 +1536,6 @@ msgstr ""
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L NIMIÖ  --label=NIMIÖ  Käytä NIMIÖtä tiedostonimen sijaan."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr "--diff-program=OHJELMA  Käytä OHJELMAa tiedostojen vertaamiseen."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-white  Älä huomioi tyhjiä merkkejä."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w MÄÄRÄ  --width=MÄÄRÄ  Tulosta enintään MÄÄRÄ (oletus 130) merkkiä "
-#~ "riville."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "-l  --left-column  Tulosta vain yhteisten rivien vasen palsta"
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  Olettaa tiedostojen olevan suuria ja muutosten "
-#~ "pieniä sekä hajanaisia."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "lukeminen epäonnistui"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "kirjoitus epäonnistui"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "lukeminen epäonnistui"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "lukeminen epäonnistui"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "kirjoitus epäonnistui"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "kirjoitus epäonnistui"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: virheellinen valitsin -- %c\n"
-
-#~ msgid ""
-#~ "This is free software; see the source for copying conditions.  There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-#~ msgstr ""
-#~ "Tämä on vapaa ohjelmisto; katsokaa kopiointiehdot lähdekoodista. Takuuta "
-#~ "EI\n"
-#~ "OLE; ei edes KAUPALLISESTI HYVÄKSYTTÄVÄSTÄ LAADUSTA tai SOPIVUUDESTA "
-#~ "TIETTYYN\n"
-#~ "TARKOITUKSEEN.\n"
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr ""
-#~ "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen <bug-gnu-utils@gnu."
-#~ "org>."
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "valitsin \"-%ld\" on vanhentunut, käytä \"-%c %ld\""
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "valitsin \"-%ld\" on vanhentunut; jätä se pois"
-
 #~ msgid "subsidiary program `%s' not found"
 #~ msgstr "apuohjelmaa \"%s\" ei löytynyt"
 
index e479930..3ce30ac 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index 9000c1d..8c9a57a 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,15 +1,15 @@
 # Messages français pour GNU concernant diffutils.
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the diffutils package.
 #
 # Michel Robitaille <robitail@IRO.UMontreal.CA>, 1996.
-# Frédéric Marchal <fmarchal@perso.be>, 2011.
+# Frédéric Marchal <fmarchal@perso.be>, 2012.
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU diffutils 3.1\n"
+"Project-Id-Version: GNU diffutils 3.3-pre1\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
-"PO-Revision-Date: 2011-08-18 17:41+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
+"PO-Revision-Date: 2012-10-31 08:16+0100\n"
 "Last-Translator: Frédéric Marchal <fmarchal@perso.be>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
@@ -17,7 +17,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 1.2\n"
+"X-Generator: Lokalize 1.0\n"
 
 #: lib/c-stack.c:204 lib/c-stack.c:297
 msgid "program error"
@@ -27,7 +27,7 @@ msgstr "erreur du programme"
 msgid "stack overflow"
 msgstr "débordement de pile"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Erreur système inconnue"
 
@@ -53,7 +53,7 @@ msgstr "fichier spécial-caractères"
 
 #: lib/file-type.c:50
 msgid "fifo"
-msgstr "«fifo»"
+msgstr "« fifo »"
 
 #: lib/file-type.c:53
 msgid "symbolic link"
@@ -61,7 +61,7 @@ msgstr "lien symbolique"
 
 #: lib/file-type.c:56
 msgid "socket"
-msgstr "«socket»"
+msgstr "« socket »"
 
 #: lib/file-type.c:59
 msgid "message queue"
@@ -140,100 +140,102 @@ msgstr "%s: l'option « -W %s » requiert un argument\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr "« "
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr " »"
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Succès"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Pas de concordance"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "L'expression régulière est invalide"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Le caractère de regroupement est invalide"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Le nom d'un ensemble de caractères est invalide"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Barre oblique inverse à la fin"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "La référence arrière est invalide"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "[ or [^ sans vis-à-vis"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr " ( ou \\( sans vis-à-vis"
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "\\{ sans vis-à-vis"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Le contenu de \\{\\} est invalide"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "La fin d'intervalle est invalide"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Mémoire épuisée"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "L'expression régulière précédente est invalide"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Fin prématurée de l'expression régulière"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Expression régulière trop grande"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr ") or \\) sans vis-à-vis"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "N'est pas précédé d'une expression régulière"
 
@@ -264,17 +266,17 @@ msgstr "impossible de ré-ouvrir %s avec le mode %s"
 
 #: lib/xstrtol-error.c:63
 #, c-format
-msgid "invalid %s%s argument `%s'"
-msgstr "argument pour %s%s pas valable: «%s»"
+msgid "invalid %s%s argument '%s'"
+msgstr "argument pour %s%s pas valable: « %s »"
 
 #: lib/xstrtol-error.c:68
 #, c-format
-msgid "invalid suffix in %s%s argument `%s'"
+msgid "invalid suffix in %s%s argument '%s'"
 msgstr "suffixe par valable dans l'argument de %s%s: « %s »"
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr "%s%s: argument « %s » trop grand"
 
 #: lib/version-etc.c:74
@@ -455,7 +457,7 @@ msgstr ""
 "Aide générale sur l'utilisation des logiciels GNU: <http://www.gnu.org/"
 "gethelp/>\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Les fichiers %s et %s sont différents\n"
@@ -465,7 +467,7 @@ msgstr "Les fichiers %s et %s sont différents\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "Les fichiers binaires %s et %s sont différents\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Pas de fin de ligne à la fin du fichier"
 
@@ -479,29 +481,29 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
 #, c-format
-msgid "Try `%s --help' for more information."
-msgstr "Pour en savoir davantage, utilisez: « %s --help »."
+msgid "Try '%s --help' for more information."
+msgstr "Utilisez « %s --help » pour en savoir d'avantage."
 
 #: src/cmp.c:137
 #, c-format
-msgid "invalid --ignore-initial value `%s'"
-msgstr "valeur invalide pour --ignore-initial : « %s »"
+msgid "invalid --ignore-initial value '%s'"
+msgstr "valeur invalide pour --ignore-initial: « %s »"
 
 #: src/cmp.c:147
 #, c-format
 msgid "options -l and -s are incompatible"
 msgstr "options -l et -s sont incompatibles"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "échec d'écriture"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "sortie standard"
 
@@ -565,7 +567,7 @@ msgstr ""
 "escamoter\n"
 "au début de chaque fichier (zéro par défaut)."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -584,10 +586,10 @@ msgstr ""
 "GB 1.000.000.000, G 1.073.741.824, et ainsi de suite pour T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
-msgstr "Si FICHIER spécifié est «-» ou manquant, lire sur l'entrée standard."
+msgid "If a FILE is '-' or missing, read standard input."
+msgstr "Si un FICHIER est « - » ou manquant, lire sur l'entrée standard."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "Le statut de fin d'exécution est 0 si les entrées sont les mêmes, 1 si "
@@ -595,18 +597,18 @@ msgstr ""
 
 #: src/cmp.c:240
 #, c-format
-msgid "invalid --bytes value `%s'"
-msgstr "valeur invalide pour --bytes: «%s»"
+msgid "invalid --bytes value '%s'"
+msgstr "valeur invalide pour --bytes: « %s »"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
 #, c-format
-msgid "missing operand after `%s'"
-msgstr "opérande manquante après «%s»"
+msgid "missing operand after '%s'"
+msgstr "opérande manquante après « %s »"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
 #, c-format
-msgid "extra operand `%s'"
-msgstr "opérande supplémentaire «%s»"
+msgid "extra operand '%s'"
+msgstr "opérande supplémentaire « %s »"
 
 #: src/cmp.c:491
 #, c-format
@@ -624,146 +626,146 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: Fin-de-fichier (EOF) sur %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr "Paul Eggert"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr "Mike Haertel"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr "David Hayes"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr "Richard Stallman"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr "Len Tower"
 
-#: src/diff.c:340
+#: src/diff.c:339
 #, c-format
-msgid "invalid context length `%s'"
-msgstr "longueur du contexte invalide «%s»"
+msgid "invalid context length '%s'"
+msgstr "longueur du contexte invalide « %s »"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "La pagination n'est pas supporté sur cette machine"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "Trop de noms de fichiers dans les options"
 
-#: src/diff.c:515
+#: src/diff.c:514
 #, c-format
-msgid "invalid width `%s'"
-msgstr "largeur invalide «%s»"
+msgid "invalid width '%s'"
+msgstr "largeur invalide « %s »"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "options de largeur conflictuelles"
 
-#: src/diff.c:544
+#: src/diff.c:543
 #, c-format
-msgid "invalid horizon length `%s'"
-msgstr "longueur d'horizon invalide «%s»"
+msgid "invalid horizon length '%s'"
+msgstr "longueur d'horizon invalide « %s »"
 
-#: src/diff.c:595
+#: src/diff.c:598
 #, c-format
-msgid "invalid tabsize `%s'"
-msgstr "taille de tabulation invalide «%s»"
+msgid "invalid tabsize '%s'"
+msgstr "taille de tabulation invalide « %s »"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "options conflictuelles de taille de tabulation"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "--from-file et --to-file ont été spécifiés ensemble"
 
-#: src/diff.c:851
+#: src/diff.c:854
 msgid "    --normal                  output a normal diff (the default)"
 msgstr ""
 "    --normal                  Produire un « diff » en format normal (par "
 "défaut)"
 
-#: src/diff.c:852
+#: src/diff.c:855
 msgid "-q, --brief                   report only when files differ"
 msgstr ""
 "-q, --brief                   Indiquer seulement si les fichiers diffèrent"
 
-#: src/diff.c:853
+#: src/diff.c:856
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr ""
 "-s, --report-identical-files  Indiquer si les deux fichiers sont identiques"
 
-#: src/diff.c:854
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
 "-c, -C N, --context[=N]              Afficher N (3 par défaut) lignes du "
 "contexte copié"
 
-#: src/diff.c:855
+#: src/diff.c:858
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 "-u, -U N, --unified[=N]              Afficher N (3 par défaut) lignes dans "
 "le context unifié"
 
-#: src/diff.c:856
+#: src/diff.c:859
 msgid "-e, --ed                      output an ed script"
 msgstr "-e, --ed                      Générer un script pour « ed »"
 
-#: src/diff.c:857
+#: src/diff.c:860
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr ""
 "-n, --rcs                     Générer un fichier « diff » au format RCS"
 
-#: src/diff.c:858
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
 msgstr "-y, --side-by-side            Affichage sur deux colonnes"
 
-#: src/diff.c:859
+#: src/diff.c:862
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
 "-w, --width=N                Limiter la sortie à au plus N colonnes "
 "imprimées (130 par défaut)"
 
-#: src/diff.c:860
+#: src/diff.c:863
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr ""
 "    --left-column            Afficher les lignes identiques uniquement dans "
 "la colonne de gauche"
 
-#: src/diff.c:861
+#: src/diff.c:864
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "    --suppress-common-lines   Ne pas afficher les lignes identiques"
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 "-p, --show-c-function         Afficher dans quelle fonction C le changement "
 "se trouve"
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 "-F, --show-function-line=RE   Montrer la ligne la plus récente correspondant "
 "à RE"
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
@@ -771,89 +773,93 @@ msgstr ""
 "    --label ÉTIQUETTE        Utiliser ÉTIQUETTE au lieu du nom de fichier\n"
 "                                (peut être répété)"
 
-#: src/diff.c:868
+#: src/diff.c:871
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr ""
 "-t, --expand-tabs             Étaler les tabulateurs en espaces dans la "
 "sortie"
 
-#: src/diff.c:869
+#: src/diff.c:872
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
 "-T, --initial-tab            Aligner les tabulateurs en préfixant un "
 "tabulateur"
 
-#: src/diff.c:870
+#: src/diff.c:873
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr ""
 "    --tabsize=N              Les balises de tabulation sont à chaque N (8 "
 "par défaut) colonnes"
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 "    --suppress-blank-empty   Supprimer les espaces et les tabulations avant "
 "les lignes vides"
 
-#: src/diff.c:872
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+#: src/diff.c:875
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr ""
 "-l, --paginate                Relayer la sortie à « pr » afin de la paginer"
 
-#: src/diff.c:874
+#: src/diff.c:877
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr ""
 "-r, --recursive               Comparer récursivement les sous-répertoires "
 "trouvés"
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr "    --no-dereference            Ne pas suivre les liens symboliques"
+
+#: src/diff.c:879
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr ""
 "-N, --new-file                Traiter les fichiers absents comme des "
 "fichiers vides"
 
-#: src/diff.c:876
+#: src/diff.c:880
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 "    --unidirectional-new-file Traiter les premiers fichiers absents comme "
 "vides"
 
-#: src/diff.c:877
+#: src/diff.c:881
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
 "    --ignore-file-name-case   Ignorer la casse lors de la comparaison des "
 "noms de fichiers"
 
-#: src/diff.c:878
+#: src/diff.c:882
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "    --no-ignore-file-name-case Tenir compte de la casse lors de la "
 "comparaison des noms de fichiers"
 
-#: src/diff.c:879
+#: src/diff.c:883
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr ""
 "-x, --exclude=PAT            Exclure les fichiers dont les noms concordent "
 "avec le PATron"
 
-#: src/diff.c:880
+#: src/diff.c:884
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
 "-X, --exclude-from=FICHIER   Exclure les fichiers dont les noms\n"
 "                              concordent avec ceux contenus dans le FICHIER"
 
-#: src/diff.c:881
+#: src/diff.c:885
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
 "-S, --starting-file=FICHIER  Débuter la comparaison des répertoires par le "
 "FICHIER"
 
-#: src/diff.c:882
+#: src/diff.c:886
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
 "                                  FILE1 can be a directory"
@@ -861,7 +867,7 @@ msgstr ""
 "    --from-file=FICHIER1     Comparer le FICHIER1 à toutes les opérandes.\n"
 "                                  FICHIER1 peut être un répertoire"
 
-#: src/diff.c:884
+#: src/diff.c:888
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
 "                                  FILE2 can be a directory"
@@ -869,85 +875,86 @@ msgstr ""
 "    --to-file=FICHIER2       Comparer toutes les opérandes à FICHIER2.\n"
 "                                  FICHIER2 peut être un répertoire"
 
-#: src/diff.c:887
+#: src/diff.c:891
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr ""
 "-i, --ignore-case            Ignorer les différences de casses dans le "
 "contenu des fichiers"
 
-#: src/diff.c:888
+#: src/diff.c:892
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "-E, --ignore-tab-expansion   Ignorer les changements liés à l'expansion des "
 "tabulations"
 
-#: src/diff.c:889
-#, fuzzy
+#: src/diff.c:893
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
-msgstr "-W, --ignore-all-space       Ignorer tout blanc d'espacement"
+msgstr ""
+"-Z, --ignore-trailing-space       Ignorer les blancs d'espacement à la fin "
+"de la ligne"
 
-#: src/diff.c:890
+#: src/diff.c:894
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr ""
 "-b, --ignore-space-change     Ignorer les changements dans le nombre "
 "d'espaces"
 
-#: src/diff.c:891
+#: src/diff.c:895
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w, --ignore-all-space        Ignorer tout blanc d'espacement"
 
-#: src/diff.c:892
+#: src/diff.c:896
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr ""
 "-B, --ignore-blank-lines     Ignorer les changements dont toutes les lignes "
 "sont blanches"
 
-#: src/diff.c:893 src/sdiff.c:178
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+#: src/diff.c:897
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I, --ignore-matching-lines=RE Ignorer les différences dont toutes les\n"
 "                       lignes concordent avec l'expression régulière RE"
 
-#: src/diff.c:895
+#: src/diff.c:899
 msgid "-a, --text                      treat all files as text"
 msgstr ""
 "-a, --text                    Traiter tous les fichiers comme des textes"
 
-#: src/diff.c:896
+#: src/diff.c:900
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr ""
 "    --strip-trailing-cr       Éliminer les retours de chariot de l'entrée"
 
-#: src/diff.c:898
+#: src/diff.c:902
 msgid "    --binary                    read and write data in binary mode"
 msgstr "    --binary                  Lire et écrire les données en binaire"
 
-#: src/diff.c:901
+#: src/diff.c:905
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D, --ifdef=NOM              Afficher les fichiers fusionnés en marquant les "
 "différences par des « #ifdef NOM »"
 
-#: src/diff.c:902
+#: src/diff.c:906
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "    --GTYPE-group-format=GFMT Formater les groupes d'entrée GTYPE avec GFMT"
 
-#: src/diff.c:903
+#: src/diff.c:907
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
 "    --line-format=LFMT       Formater toutes les lignes d'entrée avec LFMT"
 
-#: src/diff.c:904
+#: src/diff.c:908
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "    --LTYPE-line-format=LFMT Formater les lignes d'entrée LTYPE avec LFMT"
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
@@ -955,13 +962,13 @@ msgstr ""
 "  Ces options de formatage fournissent un contrôle fin sur la sortie\n"
 "    de diff et généralise -D/--ifdef."
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  LTYPE peut être soit « old », « new », ou « unchanged ».  GTYPE prend une "
 "des valeurs de LTYPE ou « changed »."
 
-#: src/diff.c:908
+#: src/diff.c:912
 msgid ""
 "  GFMT (only) may contain:\n"
 "    %<  lines from FILE1\n"
@@ -991,7 +998,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1    %(A=B?T:E)  si A égal B alors T sinon E"
 
-#: src/diff.c:920
+#: src/diff.c:924
 msgid ""
 "  LFMT (only) may contain:\n"
 "    %L  contents of line\n"
@@ -1004,7 +1011,7 @@ msgstr ""
 "      %[-][LARGEUR][.[PREC]]{doxX}n  la spécification du numéro de ligne\n"
 "                            d'entrée selon le format de printf"
 
-#: src/diff.c:924
+#: src/diff.c:928
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
 "    %%  %\n"
@@ -1018,96 +1025,101 @@ msgstr ""
 "    %c'\\OOO» le caractère dont le code octal est OOO    C         le "
 "caractère C (les autres caractères se représentent eux-mêmes)"
 
-#: src/diff.c:930
+#: src/diff.c:934
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr ""
 "-d, --minimal                Rechercher assidûment le plus petit ensemble de "
 "différences"
 
-#: src/diff.c:931
+#: src/diff.c:935
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 "    --horizon-lines=N        Retenir N lignes ayant des préfixes et suffixes "
 "identiques"
 
-#: src/diff.c:932
+#: src/diff.c:936
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr ""
 "    --speed-large-files      Suppose de grands fichiers et de nombreux "
 "petits changements éparpillés"
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr "    --help                    Afficher cette aide et terminer"
 
-#: src/diff.c:935
+#: src/diff.c:939
 msgid "-v, --version            output version information and exit"
 msgstr ""
 "-v, --version                 Afficher le nom et la version du logiciel et "
 "terminer"
 
-#: src/diff.c:937
+#: src/diff.c:941
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "FICHIERS sont « FICHIER1 FICHIER2 » ou « RÉP1 RÉP2 » ou « RÉP FICHIER... » "
 "ou « FICHIER... RÉP »."
 
-#: src/diff.c:938
+#: src/diff.c:942
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
 "Si --from-file ou --to-file sont fournis, il n'y a pas de restriction sur "
 "les FICHIERS."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
-msgstr "Si le FICHIER spécifié est « - » alors lire depuis l'entrée standard."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+msgid "If a FILE is '-', read standard input."
+msgstr "Si un FICHIER est « - » alors lire depuis l'entrée standard."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Usage: %s [OPTION]... FICHIERS\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 msgid "Compare FILES line by line."
 msgstr "Comparer les fichiers ligne par ligne."
 
-#: src/diff.c:984
+#: src/diff.c:988
 #, c-format
-msgid "conflicting %s option value `%s'"
+msgid "conflicting %s option value '%s'"
 msgstr "valeur conflictuelle de l'option %s: « %s »"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "options de style de sortie conflictuelles"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Seulement dans %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
-msgstr "Ne peut comparer « - » avec un répertoire"
+#: src/diff.c:1192
+msgid "cannot compare '-' to a directory"
+msgstr "ne peut comparer « - » avec un répertoire"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "L'option -D ne traite pas les répertoires"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Les sous-répertoires %s et %s sont identiques\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "Le fichier %s est un %s alors que le fichier %s est un %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Les liens symboliques %s et %s sont différents\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Les fichiers %s et %s sont identiques\n"
@@ -1123,11 +1135,11 @@ msgid "incompatible options"
 msgstr "options incompatibles"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+msgid "'-' specified for more than one input file"
 msgstr "« - » fourni pour plus d'un fichier d'entrée"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "lecture non-réussie"
 
@@ -1172,7 +1184,7 @@ msgstr ""
 "-X                          Comme -x mais le conflits sont entre crochets"
 
 #: src/diff3.c:436
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr ""
 "-i                            Ajouter les commandes « w » et « q » au script "
 "« ed »"
@@ -1285,31 +1297,31 @@ msgstr "erreur interne: type de « diff » invalide dans process_diff"
 msgid "invalid diff format; invalid change separator"
 msgstr "format de « diff » invalide ; séparateur de changement invalide"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "format de « diff » invalide ; dernière ligne incomplète"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
 #, c-format
-msgid "subsidiary program `%s' could not be invoked"
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "programme subsidiaire « %s » n'a pu être invoqué"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr ""
 "format de « diff » invalide ; caractères incorrects au début de la ligne"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "erreur interne : type de « diff » invalide fourni en sortie"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "le fichier d'entrée a rétréci"
 
 #: src/dir.c:158
 #, c-format
-msgid "cannot compare file names `%s' and `%s'"
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "ne peut comparer les noms de fichier « %s » et « %s »"
 
 #: src/dir.c:209
@@ -1322,129 +1334,136 @@ msgstr "%s: boucle récursive dans le répertoire"
 msgid "Thomas Lord"
 msgstr "Thomas Lord"
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
 "-o, --output=FICHIER         Agir interactivement, avec sortie sur FICHIER"
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i, --ignore-case            Banaliser majuscules et minuscules"
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "-E, --ignore-tab-expansion   Ignorer les changements liés à l'expansion des "
 "tabulations"
 
-#: src/sdiff.c:174
-#, fuzzy
+#: src/sdiff.c:177
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
-msgstr "-W, --ignore-all-space       Ignorer tout blanc d'espacement"
+msgstr ""
+"-Z, --ignore-trailing-space       Ignorer les blancs d'espacement à la fin "
+"de la ligne"
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "-b, --ignore-space-change    Ignorer les changements dans l'espacement"
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 msgid "-W, --ignore-all-space       ignore all white space"
 msgstr "-W, --ignore-all-space       Ignorer tout blanc d'espacement"
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr ""
 "-B, --ignore-blank-lines     Ignorer les changements dont toutes les lignes "
 "sont blanches"
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I, --ignore-matching-lines=RE Ignorer les différences dont toutes les\n"
+"                       lignes concordent avec l'expression régulière RE"
+
+#: src/sdiff.c:182
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr ""
 "    --strip-trailing-cr      Éliminer les retours de chariot de l'entrée"
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 msgid "-a, --text                   treat all files as text"
 msgstr ""
 "-a, --text                   Traiter tous les fichiers comme des textes"
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 "-w, --width=N                Limiter la sortie à au plus N colonnes "
 "imprimées (130 par défaut)"
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr ""
 "-l, --left-column            Afficher uniquement la colonne de gauche des "
 "lignes identiques"
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s, --suppress-common-lines  Ne pas afficher les lignes identiques"
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr ""
 "-t, --expand-tabs            Étaler les tabulateurs en espaces dans la sortie"
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr ""
 "    --tabsize=N              Les balises de tabulation sont à chaque N (8 "
 "par défaut) colonnes"
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr ""
 "-d, --minimal                Rechercher assidûment le plus petit ensemble de "
 "différences"
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr ""
 "-H, --speed-large-files      Suppose de grands fichiers et de nombreux "
 "petits changements éparpillés"
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr ""
 "    --diff-program=PROG      Utiliser le PROGramme pour comparer les fichiers"
 
-#: src/sdiff.c:193
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
 msgstr "    --help                   Afficher cette aide et terminer"
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 msgid "-v, --version                output version information and exit"
 msgstr ""
 "-v, --version                Afficher le nom et la version du logiciel et "
 "terminer"
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Usage: %s [OPTION]... FICHIER1 FICHIER2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Fusion côte à côte des différences des fichiers."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "ne peut fusionner l'entrée standard interactivement"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "les deux fichiers à comparer sont des répertoires"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
index 7226192..f60d223 100644 (file)
Binary files a/po/ga.gmo and b/po/ga.gmo differ
index 504d472..6ab8bf0 100644 (file)
--- a/po/ga.po
+++ b/po/ga.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: diffutils 2.8.7\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2004-12-03 13:47-0500\n"
 "Last-Translator: Kevin Patrick Scannell <scannell@SLU.EDU>\n"
 "Language-Team: Irish <ga@li.org>\n"
@@ -24,7 +24,7 @@ msgstr "earr
 msgid "stack overflow"
 msgstr "cruach thar maoil"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Earráid chórais anaithnid"
 
@@ -139,104 +139,106 @@ msgstr "%s: n
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Bua!"
 
 # #-#-#-#-#  findutils-4.2.6.ga.po (findutils 4.2.6)  #-#-#-#-#
 # ugh.  Not clear what kind of things we're matching -- KPS
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Níl a leithéid ann"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Slonn ionadaíochta neamhbhailí"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Carachtar cóimheasa neamhbhailí"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Aicme charachtair neamhbhailí"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Cúlslais ag deireadh"
 
 # #-#-#-#-#  sed-4.1.1.ga.po (sed 4.1.1)  #-#-#-#-#
 # coinage - KPS
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Cúltagairt neamhbhailí"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "[ nó [^ corr"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "( nó \\( corr"
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "\\{ corr"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Ábhar neamhbhailí idir \\{\\}"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Deireadh raoin neamhbhailí"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Cuimhne ídithe"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Is neamhbhailí an slonn ionadaíochta roimhe seo"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Deireadh le slonn ionadaíochta gan choinne"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Slonn ionadaíochta rómhór"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr ") nó \\) corr"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Níl aon slonn ionadaíochta roimhe seo"
 
@@ -268,17 +270,17 @@ msgstr ""
 
 #: lib/xstrtol-error.c:63
 #, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "luach neamhbhailí --bytes `%s'"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "fad léaslíne neamhbhailí `%s'"
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr ""
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr ""
 
 #: lib/version-etc.c:74
@@ -446,7 +448,7 @@ msgstr ""
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Tá difríocht idir na comhaid %s agus %s\n"
@@ -456,7 +458,7 @@ msgstr "T
 msgid "Binary files %s and %s differ\n"
 msgstr "Tá difríocht idir na comhaid %s agus %s\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Gan líne nua ag an chomhadchríoch"
 
@@ -470,14 +472,14 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr ""
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "Bain triail as `%s --help' chun tuilleadh eolais a fháil."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "luach neamhbhailí --ignore-initial `%s'"
 
 #: src/cmp.c:147
@@ -485,14 +487,14 @@ msgstr "luach neamhbhail
 msgid "options -l and -s are incompatible"
 msgstr "Níl na roghanna -l agus -s comhoiriúnach"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "teipeadh ag scríobh"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "aschur caighdeánach"
 
@@ -557,7 +559,7 @@ msgid ""
 msgstr ""
 "Is éard atá i SCIP1 agus SCIP2 ná líonta na mbeart a scipeáil i ngach comhad."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -573,26 +575,27 @@ msgstr ""
 "GB 1,000,000,000, G 1,073,741,824, srl. do T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "Mura bhfuil COMHAD ann, nó más `-' é, léigh ón ionchur caighdeánach."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr "Stádas scortha: 0 más ionann iad, 1 más difriúil, 2 má tá fadhb ann."
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "luach neamhbhailí --bytes `%s'"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "ní foláir argóint i ndiaidh `%s'"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "oibreann breise `%s'"
 
 #: src/cmp.c:491
@@ -611,212 +614,213 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: EOF ar %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr ""
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "Fad neamhbhailí comhthéacs `%s'"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "Ní thacaítear leis an uimhriú leathanach ar an óstríomhaire seo"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "an iomarca argóintí do lipéid chomhaid"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "leithead neamhbhailí `%s'"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "roghanna leithid contrártha"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "fad léaslíne neamhbhailí `%s'"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "tá an mhéid tháib `%s' neamhbhailí"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "Roghanna tábmhéid contrártha"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "tugadh --from-file agus --to-file lena chéile"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal  Aschuir diff coitianta."
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q  --brief  Ná taispeáin ach difriúil nó nach ea."
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr ""
 "-s  --report-identical-files  Tuairiscigh nuair atá dhá chomhad comhionanna."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w UIMH --width=UIMH  UIMH colún priontála ar a mhéad (réamhshocrú=130)."
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 "-w UIMH --width=UIMH  UIMH colún priontála ar a mhéad (réamhshocrú=130)."
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Caith le gach comhad mar théacschomhad."
+msgstr "-e  --ed  Aschuir script `ed'."
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs  Aschuir diff i gcruth RCS."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  Taispeáin eolas faoin leagan."
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
 "-w UIMH --width=UIMH  UIMH colún priontála ar a mhéad (réamhshocrú=130)."
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr "-l  --left-column  Ná taispeáin an colún ar dheis más ionann iad."
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  Ná taispeáin línte atá i bpáirt acu."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  leathnaigh táib go spásanna san aschur."
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
 "-T  --initial-tab  Ailínigh táib trí tháb a chur in ionad spás tosaigh."
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr "--tabsize=UIMH Tábstop gach UIMH colún (réamhshocrú=8)."
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr "-l  --paginate  uimhrigh leathanaigh le `pr'."
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr "-r  --recursive  Cuir fochomhadlanna i gcomparáid go hathchúrsach."
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N  --new-file  Caith le comhad ar iarraidh mar chomhad folamh."
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 "--unidirectional-new-file  Más ar iarraidh, caith leis an chéad chomhad\n"
 "                                     mar chomhad folamh."
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr "--ignore-file-name-case  Ná bí cásíogair le hainmneacha comhaid."
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "--no-ignore-file-name-case  Bí cásíogair maidir le hainmneacha comhaid."
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr ""
 "-X SLONN --exclude=SLONN Fág comhaid as má tá siad comhoiriúnacha le SLONN."
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
@@ -825,7 +829,7 @@ msgstr ""
 "haon\n"
 "                                    slonn ionadaíochta as an CHOMHAD."
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
@@ -833,7 +837,7 @@ msgstr ""
 "-S COMHAD --starting-file=COMHAD Tosaigh le COMHAD agus comhadlanna á "
 "gcóimheas."
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -841,7 +845,7 @@ msgid ""
 msgstr ""
 "--from-file=COMHAD Cuir COMHAD (nó comhadlann) i gcomparáid le gach oibreann."
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -849,100 +853,101 @@ msgid ""
 msgstr ""
 "--to-file=COMHAD Cuir gach oibreann i gcomparáid le COMHAD (nó comhadlann)."
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr "-i  --ignore-case  Ná bí cásíogair le hinneachar na gcomhad."
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Déan neamhshuim ar athruithe ó leathnú na dtáib."
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-space  Déan neamhshuim ar spás bán go hiomlán."
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Déan neamhshuim ar mhéid an spáis bán."
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space  Déan neamhshuim ar spás bán go hiomlán."
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr "-B  --ignore-blank-lines  Déan neamhshuim ar línte folmha."
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I SI  --ignore-matching-lines=RE  Déan neamhshuim ar línte atá "
 "comhoiriúnach\n"
 "                                     leis an slonn SI."
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text  Caith le gach comhad mar théacschomhad."
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr ""
 "--strip-trailing-cr  Dealaigh aisfhilleadh carráiste ó gach líne ionchurtha."
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary  Léigh agus scríobh sonraí sa mhód dénártha."
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D AINM  --ifdef=AINM  Taispeáin comhad cumaiscthe chun na diff-aí\n"
 "                                `#ifdef AINM' a léiriú"
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "--GCINL-group-format=GFMD  Taispeáin grúpaí GCINL ionchuir de réir GFMD."
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr "--line-format=LFMD  Taispeáin gach líne ionchuir de réir LFMD."
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "--LCINL-line-format=LFMD   Taispeáin línte LCINL ionchuir de réir LFMD."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr "  LCINL = `old', `new', nó `unchanged'.  GCINL = LCINL nó `changed'."
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -970,7 +975,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -983,7 +988,7 @@ msgstr ""
 "    %l  ábhar na líne, gan aon líne nua\n"
 "    %[-][LEITHEAD][.[SONRÚ]]{doxX}n  sonrú do líne-uimhir mar C `printf'"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -997,94 +1002,102 @@ msgstr ""
 "    %c'C'  an carachtar litriúil C\n"
 "    %c'\\OOO'  an carachtar le cód ochtnártha OOO"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Obair go crua le haghaidh níos lú athruithe."
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr "--horizon-lines=UIMH  Coinnigh UIMH líne den réimír/iarmhír choiteann."
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr ""
 "-H  --speed-large-files  Comhaid móra agus go leor mionathruithe forleata."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version  Taispeáin eolas faoin leagan."
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "COMHAID = `COMHAD1 COMHAD2' nó `COMHADLANN1 COMHADLANN2' nó `COMHADLANN "
 "COMHAD...' nó `COMHAD... COMHADLANN'."
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
 "Má tá --from-file nó --to-file tugtha, níl a leithéid de shrian ar COMHAID."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "Más '-' é an COMHAD, léigh ón ionchur caighdeánach."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Úsáid: %s [ROGHA]... COMHAID\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "Déan comparáid idir na comhaid, líne ar líne."
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "luach contrártha don rogha %s: `%s'"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "roghanna contrártha le haghaidh na stíle aschuir"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "I %s amháin: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "ní féidir `-' a chur i gcomparáid le comhadlann"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "Níl an rogha -D ar fáil do chomhadlanna"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Fochomhadlanna i gcoitianta: %s agus %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "Tá comhad %s ina %s ach tá comhad %s ina %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Tá difríocht idir na comhaid %s agus %s\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Is comhionann iad na comhaid %s agus %s\n"
@@ -1100,11 +1113,12 @@ msgid "incompatible options"
 msgstr "roghanna neamh-chomhoiriúnacha"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "bhí `-' tugtha le haghaidh níos mó ná inchomhad amháin"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "theip ar léamh"
 
@@ -1144,15 +1158,12 @@ msgid ""
 msgstr "-x  --overlap-only  Taispeáin na hathruithe forluiteacha."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap  Taispeáin na hathruithe neamhchumaiscthe agus cuir "
-"coinbhleachtaí idir lúibíní."
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "-i  Cuir na horduithe `w' agus `q' le scripteanna `ed'."
 
 #: src/diff3.c:438
@@ -1192,9 +1203,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Caith le gach comhad mar théacschomhad."
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1245,31 +1255,31 @@ msgstr "earr
 msgid "invalid diff format; invalid change separator"
 msgstr "formáid diff neamhbhailí; teorantóir neamhbhailí idir athruithe"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "formáid neamhbhailí diff; líne deiridh neamhiomlán"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "níorbh fhéidir an fochlár `%s' a rith"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "formáid neamhbhailí diff; carachtair mhíchearta ag tosach na líne"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr ""
 "earráid inmheánach: seachadadh cineál neamhbhailí diff go dtí an aschur"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "crapadh an t-inchomhad"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr ""
 "ní féidir na hainmneacha comhaid `%s' agus `%s' a chur i gcomparáid le chéile"
 
@@ -1283,7 +1293,7 @@ msgstr ""
 msgid "Thomas Lord"
 msgstr ""
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
@@ -1291,127 +1301,134 @@ msgstr ""
 "-o COMHAD --output=COMHAD Mód idirghníomhach, ag scríobh an aschuir i "
 "gCOMHAD."
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i  --ignore-case  Ná bí cásíogair."
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Déan neamhshuim ar athruithe ó leathnú na dtáib."
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-space  Déan neamhshuim ar spás bán go hiomlán."
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Déan neamhshuim ar mhéid an spáis bán."
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  Déan neamhshuim ar spás bán go hiomlán."
+msgstr "-W  --ignore-all-space  Déan neamhshuim ar spásanna bán go hiomlán."
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr "-B  --ignore-blank-lines  Déan neamhshuim ar línte folmha."
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I SI  --ignore-matching-lines=RE  Déan neamhshuim ar línte atá "
+"comhoiriúnach\n"
+"                                     leis an slonn SI."
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr ""
 "--strip-trailing-cr  Dealaigh aisfhilleadh carráiste ó gach líne ionchurtha."
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text  Caith le gach comhad mar théacschomhad."
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 "-w UIMH --width=UIMH  UIMH colún priontála ar a mhéad (réamhshocrú=130)."
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr "-l  --left-column  Ná taispeáin an colún ar dheis más ionann iad."
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  Ná taispeáin línte atá i bpáirt acu."
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  leathnaigh táib go spásanna san aschur."
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr "--tabsize=UIMH Tábstop gach UIMH colún (réamhshocrú=8)."
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Obair go crua le haghaidh níos lú athruithe."
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr ""
 "-H  --speed-large-files  Comhaid móra agus go leor mionathruithe forleata."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr ""
 "--diff-program=CLÁR     Bain úsáid as an CLÁR chun comhaid a chur i "
 "gcomparáid."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Caith le gach comhad mar théacschomhad."
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version  Taispeáin eolas faoin leagan."
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Úsáid: %s [ROGHA]... COMHAD1 COMHAD2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Cumaisc difríochtaí idir na comhaid, taobh le taobh."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "ní féidir an t-ionchur caighdeánach a chumasc go hidirghníomhach"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "is comhadlanna iad na comhaid le cur i gcomparáid"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 #, fuzzy
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
@@ -1436,59 +1453,43 @@ msgstr ""
 "v:\tCuir comhlínte san áireamh go foclach.\n"
 "q:\tScoir.\n"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: rogha neamhcheadaithe -- %c\n"
+
+#~ msgid ""
+#~ "This is free software; see the source for copying conditions.  There is "
+#~ "NO\n"
+#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
+#~ "PURPOSE.\n"
+#~ msgstr ""
+#~ "Is saorbhogearra an ríomhchlár seo; féach ar an bhunchód le haghaidh\n"
+#~ "coinníollacha cóipeála.  Níl baránta ar bith ann; go fiú níl baránta ann\n"
+#~ "d'INDÍOLTACHT nó FEILIÚNACHT DO FHEIDHM AR LEITH.\n"
+
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i SCIP1:SCIP2  --ignore-initial=SCIP1:SCIP2"
 
 #~ msgid "-s  --quiet  --silent  Output nothing; yield exit status only."
 #~ msgstr "-s  --quiet  --silent  Ná haschuir rud ar bith; gin stádas scortha."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  Taispeáin eolas faoin leagan."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  Taispeáin an chabhair seo.."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Cuir trí chomhad i gcomparáid, líne ar líne."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr ""
-#~ "-E  --ignore-tab-expansion  Déan neamhshuim ar athruithe ó leathnú na "
-#~ "dtáib."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr "-b  --ignore-space-change  Déan neamhshuim ar mhéid an spáis bán."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Déan neamhshuim ar spásanna bán go hiomlán."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr "-B  --ignore-blank-lines  Déan neamhshuim ar línte folmha."
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
+#~ msgstr "Seol tuairiscí fabhtanna chuig <bug-gnu-utils@gnu.org>."
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr ""
-#~ "--strip-trailing-cr  Dealaigh aisfhilleadh carráiste ó gach líne "
-#~ "ionchurtha."
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "tá an rogha `-%ld' as feidhm; bain úsáid as `-%c %ld'"
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Caith le gach comhad mar théacschomhad."
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "tá an rogha `-%ld' as feidhm; fág é ar lár"
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1501,10 +1502,6 @@ msgstr ""
 #~ "  -F SI  --show-function-line=SI  Taispeáin an líne is déanaí atá\n"
 #~ "                                    comhoiriúnach leis an slonn SI."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Aschuir script `ed'."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1517,34 +1514,11 @@ msgstr ""
 #~ "  --left-column  Ná taispeáin ach an colún ar clé do línte céanna\n"
 #~ "  --suppress-common-lines  Ná taispeáin línte céanna."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs  leathnaigh táib go spásanna san aschur."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr ""
-#~ "-T  --initial-tab  Ailínigh táib trí tháb a chur in ionad spás tosaigh."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr "--tabsize=UIMH Tábstop gach UIMH colún (réamhshocrú=8)."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  Obair go crua le haghaidh níos lú athruithe."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files   Comhaid móra agus go leor mionathruithe forleata."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr ""
-#~ "-A  --show-all  Taispeáin gach athrú agus cuir coinbhleachtaí idir "
-#~ "lúibíní."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "-X  Taispeáin na hathruithe forluiteacha, idir lúibíní."
 
@@ -1556,78 +1530,6 @@ msgstr ""
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L LIPÉAD  --label=LIPÉAD  Úsáid LIPÉAD in ionad ainm comhaid."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr ""
-#~ "--diff-program=CLÁR     Bain úsáid as an CLÁR chun comhaid a chur i "
-#~ "gcomparáid."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Déan neamhshuim ar spásanna bán go hiomlán."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w UIMH --width=UIMH  UIMH colún priontála ar a mhéad (réamhshocrú=130)."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "-l  --left-column  Ná taispeáin an colún ar dheis más ionann iad."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files   Comhaid móra agus go leor mionathruithe forleata."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "theip ar léamh"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "teipeadh ag scríobh"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "theip ar léamh"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "theip ar léamh"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "teipeadh ag scríobh"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "teipeadh ag scríobh"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: rogha neamhcheadaithe -- %c\n"
-
-#~ msgid ""
-#~ "This is free software; see the source for copying conditions.  There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-#~ msgstr ""
-#~ "Is saorbhogearra an ríomhchlár seo; féach ar an bhunchód le haghaidh\n"
-#~ "coinníollacha cóipeála.  Níl baránta ar bith ann; go fiú níl baránta ann\n"
-#~ "d'INDÍOLTACHT nó FEILIÚNACHT DO FHEIDHM AR LEITH.\n"
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr "Seol tuairiscí fabhtanna chuig <bug-gnu-utils@gnu.org>."
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "tá an rogha `-%ld' as feidhm; bain úsáid as `-%c %ld'"
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "tá an rogha `-%ld' as feidhm; fág é ar lár"
-
 #~ msgid "subsidiary program `%s' not found"
 #~ msgstr "fochlár `%s' gan aimsiú"
 
index 11c7500..ad6a870 100644 (file)
Binary files a/po/gl.gmo and b/po/gl.gmo differ
index 1fc11d9..26c38c0 100644 (file)
--- a/po/gl.po
+++ b/po/gl.po
@@ -1,19 +1,22 @@
 # Galician translation of GNU diffutils
-# Copyright © 2000, 2001, 2002 Free Software Foundation, Inc.
-# Jacobo Tarrío Barreiro <jtarrio@trasno.net>, 2000, 2001, 2002.
+# Copyright © 2000, 2001, 2002 Free Software Foundation, Inc.
+# This file is distributed under the same license as the diffutils package.
+# Jacobo Tarrío Barreiro <jtarrio@trasno.net>, 2000, 2001, 2002.
+# Miguel Anxo Bouzada <mbouzada@gmail.com>, 2011.
+# Leandro Regueiro <leandro.regueiro@gmail.com>, 2011.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: diffutils 2.8.3\n"
+"Project-Id-Version: GNU diffutils 3.2\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
-"PO-Revision-Date: 2002-06-17 10:39+0200\n"
-"Last-Translator: Jacobo Tarrío Barreiro <jtarrio@trasno.net>\n"
-"Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
+"PO-Revision-Date: 2011-10-17 12:43+0100\n"
+"Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n"
+"Language-Team: Galician <proxecto@trasno.net>\n"
 "Language: gl\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
 
 #: lib/c-stack.c:204 lib/c-stack.c:297
 msgid "program error"
@@ -23,17 +26,17 @@ msgstr "erro do programa"
 msgid "stack overflow"
 msgstr "desbordamento da pila"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
-msgstr "Erro do sistema descoñecido"
+msgstr "Produciuse un erro descoñecido do sistema"
 
 #: lib/file-type.c:38
 msgid "regular empty file"
-msgstr "ficheiro normal baleiro"
+msgstr "ficheiro regular baleiro"
 
 #: lib/file-type.c:38
 msgid "regular file"
-msgstr "ficheiro normal"
+msgstr "ficheiro regular"
 
 #: lib/file-type.c:41
 msgid "directory"
@@ -53,7 +56,7 @@ msgstr "fifo"
 
 #: lib/file-type.c:53
 msgid "symbolic link"
-msgstr "ligazón simbólica"
+msgstr "ligazón simbólica"
 
 #: lib/file-type.c:56
 msgid "socket"
@@ -65,7 +68,7 @@ msgstr "cola de mensaxes"
 
 #: lib/file-type.c:62
 msgid "semaphore"
-msgstr "semáforo"
+msgstr "semáforo"
 
 #: lib/file-type.c:65
 msgid "shared memory object"
@@ -77,219 +80,220 @@ msgstr "obxecto de memoria con tipo"
 
 #: lib/file-type.c:70
 msgid "weird file"
-msgstr "ficheiro raro"
+msgstr "ficheiro estraño"
 
 #: lib/getopt.c:547 lib/getopt.c:576
 #, fuzzy, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: a opción `%s' é ambigua\n"
+msgstr "'%s' está danado. A liña %d na sección Opción é incorrecta"
 
 #: lib/getopt.c:624 lib/getopt.c:628
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: a opción `--%s' non admite un parámetro\n"
+msgstr "%s: a opción «--%s» non permite un argumento\n"
 
 #: lib/getopt.c:637 lib/getopt.c:642
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: a opción `%c%s' non admite un parámetro\n"
+msgstr "%s: a opción «%c%s» non permite un argumento\n"
 
 #: lib/getopt.c:685 lib/getopt.c:704
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '--%s' requires an argument\n"
-msgstr "%s: a opción `%s' precisa dun parámetro\n"
+msgstr "%s: a opción «--%s» require un argumento\n"
 
 #: lib/getopt.c:742 lib/getopt.c:745
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: opción non recoñecida `--%s'\n"
+msgstr "%s: non se recoñece a opción «--%s»\n"
 
 #: lib/getopt.c:753 lib/getopt.c:756
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: opción non recoñecida `%c%s'\n"
+msgstr "%s: non se recoñece a opción «%c%s»\n"
 
 #: lib/getopt.c:805 lib/getopt.c:808
-#, fuzzy, c-format
+#, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: opción incorrecta -- %c\n"
+msgstr "%s: opción incorrecta -- «%c»\n"
 
 #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: a opción precisa dun parámetro -- %c\n"
+msgstr "%s: a opción require un argumento -- «%c»\n"
 
 #: lib/getopt.c:934 lib/getopt.c:950
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: a opción `-W %s' é ambigua\n"
+msgstr "%s: a opción «-W %s» é ambigua\n"
 
 #: lib/getopt.c:974 lib/getopt.c:992
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: a opción `-W %s' non admite un parámetro\n"
+msgstr "%s: a opción «-W %s» non permite un argumento\n"
 
 #: lib/getopt.c:1013 lib/getopt.c:1031
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: a opción `%s' precisa dun parámetro\n"
+msgstr "%s: a opción «-W %s» require un argumento\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
-msgstr ""
+msgstr "«"
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
-msgstr ""
+msgstr "»"
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
-msgstr "Éxito"
+msgstr "Correcto"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Non hai coincidencias"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
-msgstr "Expresión regular incorrecta"
+msgstr "Expresión regular incorrecta"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
-msgstr "Carácter de ordeación incorrecto"
+msgstr "Carácter de ordenamento incorrecto"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
-msgstr "Nome de clase de caracteres incorrecto"
+msgstr "Nome da clase de caracteres incorrecto"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Barra invertida ao final"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
-msgstr "Referencia cara a atrás incorrecta"
+msgstr "Referencia cara a atrás incorrecta"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
-msgstr "[ ou [^ sen parella"
+msgstr "[ ou [^ non emparellado"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
-msgstr "( ou \\( sen parella"
+msgstr "( ou \\( non emparellado"
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
-msgstr "\\{ sen parella"
+msgstr "\\{ non emparellado"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
-msgstr "Contido de \\{\\} incorrecto"
+msgstr "O contido entre \\{\\} non é correcto"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
-msgstr "Fin de rango incorrecto"
+msgstr "Final do rango incorrecto"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Memoria esgotada"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
-msgstr "Expresión regular precedente incorrecta"
+msgstr "Expresión regular precedente incorrecta"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
-msgstr "Fin de expresión regular prematura"
+msgstr "Final prematura da expresión regular"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
-msgstr "Expresión regular grande de máis"
+msgstr "Expresión regular demasiado grande"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
-msgstr ") ou \\) sen parella"
+msgstr ") ou \\) non emparellado"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
-msgstr "Non hai unha expresión regular anterior"
+msgstr "Non hai unha expresión regular anterior"
 
 #: lib/xalloc-die.c:34
 msgid "memory exhausted"
-msgstr "memoria esgotada"
+msgstr "esgotouse a memoria"
 
 #: lib/xfreopen.c:35
 msgid "stdin"
-msgstr ""
+msgstr "entrada estándar"
 
 #: lib/xfreopen.c:36
 msgid "stdout"
-msgstr ""
+msgstr "saída estándar"
 
 #: lib/xfreopen.c:37
 msgid "stderr"
-msgstr ""
+msgstr "saída estándar de erro"
 
 #: lib/xfreopen.c:38
-#, fuzzy
 msgid "unknown stream"
-msgstr "Erro do sistema descoñecido"
+msgstr "fluxo descoñecido"
 
 #: lib/xfreopen.c:39
 #, c-format
 msgid "failed to reopen %s with mode %s"
-msgstr ""
+msgstr "produciuse un erro ao volver abrir %s en modo %s"
 
 #: lib/xstrtol-error.c:63
 #, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
-msgstr "valor de --bytes `%s' non válido"
+msgid "invalid %s%s argument '%s'"
+msgstr "o argumento «%s» de %s%s é incorrecto"
 
 #: lib/xstrtol-error.c:68
 #, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "lonxitude do horizonte `%s' non válida"
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr "sufixo incorrecto %s%s no argumento «%s»"
 
 #: lib/xstrtol-error.c:72
-#, c-format
-msgid "%s%s argument `%s' too large"
-msgstr ""
+#, fuzzy, c-format
+msgid "%s%s argument '%s' too large"
+msgstr "%s%s argumento «%s» demasiado longo"
 
 #: lib/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
-msgstr ""
+msgstr "Empaquetado por %s (%s)\n"
 
 #: lib/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
-msgstr ""
+msgstr "Empaquetado por %s\n"
 
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
 #: lib/version-etc.c:84
 msgid "(C)"
-msgstr "©"
+msgstr "©"
 
 #: lib/version-etc.c:86
 msgid ""
@@ -300,24 +304,30 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 "\n"
 msgstr ""
+"\n"
+"Licenza GPLv3+: GNU GPL versión 3 ou posterior <http://gnu.org/licenses/gpl."
+"html>.\n"
+"Isto é software libre: vostede é libre para modificalo e redistribuílo.\n"
+"NON HAI GARANTÍA, ata o punto permitido pola lei.\n"
+"\n"
 
 #. TRANSLATORS: %s denotes an author name.
 #: lib/version-etc.c:102
-#, fuzzy, c-format
+#, c-format
 msgid "Written by %s.\n"
-msgstr "Escrito por Thomas Lord."
+msgstr "Escrito por %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: lib/version-etc.c:106
-#, fuzzy, c-format
+#, c-format
 msgid "Written by %s and %s.\n"
-msgstr "Escrito por Randy Smith."
+msgstr "Escrito por %s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: lib/version-etc.c:110
-#, fuzzy, c-format
+#, c-format
 msgid "Written by %s, %s, and %s.\n"
-msgstr "Escrito por Randy Smith."
+msgstr "Escrito por %s, %s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -328,6 +338,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"Escrito por %s, %s, %s\n"
+"e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -338,6 +350,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"Escrito por %s, %s, %s\n"
+"%s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -348,6 +362,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, and %s.\n"
 msgstr ""
+"Escrito por %s, %s, %s\n"
+"%s, %s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -358,6 +374,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, and %s.\n"
 msgstr ""
+"Escrito por %s, %s, %s\n"
+"%s, %s, %s, e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -369,6 +387,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"Escrito por %s, %s, %s\n"
+"%s, %s, %s, %s,\n"
+"e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -380,6 +401,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"Escrito por %s, %s, %s\n"
+"%s, %s, %s, %s,\n"
+"%s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -391,6 +415,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "%s, %s, and others.\n"
 msgstr ""
+"Escrito por %s, %s, %s\n"
+"%s, %s, %s, %s,\n"
+"%s, %s e outros.\n"
 
 #. TRANSLATORS: The placeholder indicates the bug-reporting address
 #. for this package.  Please add _another line_ saying
@@ -402,27 +429,29 @@ msgid ""
 "\n"
 "Report bugs to: %s\n"
 msgstr ""
+"\n"
+"Envíe os informes de erros a: %s\n"
 
 #: lib/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
-msgstr ""
+msgstr "Envíe %s informes de erros a: %s\n"
 
 #: lib/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
-msgstr ""
+msgstr "%s páxina web: <%s>\n"
 
 #: lib/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr ""
+msgstr "%s páxina web: <http://www.gnu.org/software/%s/>\n"
 
 #: lib/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
-msgstr ""
+msgstr "Axuda xeral ao usar software GNU: <http://www.gnu.org/gethelp/>\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Os ficheiros %s e %s son diferentes\n"
@@ -432,56 +461,56 @@ msgstr "Os ficheiros %s e %s son diferentes\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "Os ficheiros binarios %s e %s son diferentes\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
-msgstr "Non hai un salto de liña na fin da liña"
+msgstr "Non hai un salto de liña na fin da liña"
 
 #. This is a proper name. See the gettext manual, section Names.
 #: src/cmp.c:43
 msgid "Torbjorn Granlund"
-msgstr ""
+msgstr "Torbjorn Granlund"
 
 #. This is a proper name. See the gettext manual, section Names.
 #: src/cmp.c:44
 msgid "David MacKenzie"
-msgstr ""
+msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
-msgstr "Escriba `%s --help' para obter máis información."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
+msgstr "Probe «%s --help» para obter máis información."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
-msgstr "valor de --ignore-initial `%s' non válido"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
+msgstr "valor de --ignore-initial «%s» non válido"
 
 #: src/cmp.c:147
 #, c-format
 msgid "options -l and -s are incompatible"
-msgstr "as opcións -l e -s son incompatibles"
+msgstr "as opcións -l e -s son incompatíbeis"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "fallou a escritura"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
-msgstr "saída estándar"
+msgstr "saída estándar"
 
 #: src/cmp.c:161
 #, fuzzy
 msgid "-b, --print-bytes          print differing bytes"
-msgstr "-b  --print-bytes  Amosa-los bytes diferentes."
+msgstr "Axustar a resolución de impresión"
 
 #: src/cmp.c:162
 #, fuzzy
 msgid "-i, --ignore-initial=SKIP         skip first SKIP bytes of both inputs"
 msgstr ""
-"-i N     --ignore-initial=N     Omiti-los primeiros N bytes de entrada."
+"-i N     --ignore-initial=N     Omitios primeiros N bytes de entrada."
 
 #: src/cmp.c:163
 #, fuzzy
@@ -489,18 +518,18 @@ msgid ""
 "-i, --ignore-initial=SKIP1:SKIP2  skip first SKIP1 bytes of FILE1 and\n"
 "                                      first SKIP2 bytes of FILE2"
 msgstr ""
-"  Omiti-los primeiros N1 bytes de FICH1 e os primeiros N2 bytes de FICH2."
+"  Omitios primeiros N1 bytes de FICH1 e os primeiros N2 bytes de FICH2."
 
 #: src/cmp.c:165
 #, fuzzy
 msgid ""
 "-l, --verbose              output byte numbers and differing byte values"
-msgstr "-l  --verbose  Amosa-los números e valores dos bytes que difiran."
+msgstr "-l  --verbose  Amosar os números e valores dos bytes que difiran."
 
 #: src/cmp.c:166
 #, fuzzy
 msgid "-n, --bytes=LIMIT          compare at most LIMIT bytes"
-msgstr "-n LÍMITE  --bytes=LÍMITE  Comparar como moito LÍMITE bytes."
+msgstr "-n LÍMITE  --bytes=LÍMITE  Comparar como moito LÍMITE bytes."
 
 #: src/cmp.c:167
 msgid "-s, --quiet, --silent      suppress all normal output"
@@ -513,12 +542,12 @@ msgstr ""
 #: src/cmp.c:169
 #, fuzzy
 msgid "-v, --version              output version information and exit"
-msgstr "-v  --version  Amosar información sobre a versión."
+msgstr "Mostrar información da versión e saír"
 
 #: src/cmp.c:178
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]\n"
-msgstr "Uso: %s [OPCIÓN]... FICH1 [FICH2 [N1 [N2]]]\n"
+msgstr "Uso: %s [OPCIÓN]... FICH1 [FICH2 [N1 [N2]]]\n"
 
 #: src/cmp.c:180
 msgid "Compare two files byte by byte."
@@ -529,9 +558,9 @@ msgstr "Comparar dous ficheiros byte a byte."
 msgid ""
 "The optional SKIP1 and SKIP2 specify the number of bytes to skip\n"
 "at the beginning of each file (zero by default)."
-msgstr "N1 e N2 son o número de bytes a omitir en cada ficheiro."
+msgstr "N1 e N2 son o número de bytes a omitir en cada ficheiro."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -544,386 +573,399 @@ msgid ""
 msgstr ""
 "Os valores N poden estar seguidos polos seguintes sufixos multiplicativos:\n"
 "kB 1000, K 1024, MB 1.000.000, M 1.048.576,\n"
-"GB 1.000.000.000, G 1.073.741.824, e así para T, P, E, Z e Y."
+"GB 1.000.000.000, G 1.073.741.824, e así para T, P, E, Z e Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
-msgstr "Se un FICHEIRO é `-' ou non se indica, lese da entrada estándar."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
+msgstr "Se un FICHEIRO é «-» ou non se indica, lese da entrada estándar."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
+"O estado de saída é 0 se as entradas son iguais, 1 se son diferentes, 2 en "
+"caso de problema."
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
-msgstr "valor de --bytes `%s' non válido"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
+msgstr "valor de --bytes «%s» non válido"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
-msgstr "falta un operando despois de `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
+msgstr "falta un operando despois de «%s»"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
-msgstr "operando `%s' sobrante"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
+msgstr "operando «%s» sobrante"
 
 #: src/cmp.c:491
 #, c-format
 msgid "%s %s differ: byte %s, line %s\n"
-msgstr "%s %s son diferentes: byte %s, liña %s\n"
+msgstr "%s %s son diferentes: byte %s, liña %s\n"
 
 #: src/cmp.c:507
 #, c-format
 msgid "%s %s differ: byte %s, line %s is %3o %s %3o %s\n"
-msgstr "%s %s son diferentes: byte %s, liña %s é %3o %s %3o %s\n"
+msgstr "%s %s son diferentes: byte %s, liña %s é %3o %s %3o %s\n"
 
 #: src/cmp.c:559
 #, c-format
 msgid "cmp: EOF on %s\n"
-msgstr "cmp: Fin de Ficheiro en %s\n"
+msgstr "cmp: Fin de ficheiro en %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
-msgstr ""
+msgstr "Paul Eggert"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
-msgstr ""
+msgstr "Mike Haertel"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
-msgstr ""
+msgstr "David Hayes"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
-msgstr ""
+msgstr "Richard Stallman"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
-msgstr ""
+msgstr "Len Tower"
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
-msgstr "lonxitude do contexto `%s' non válida"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
+msgstr "lonxitude do contexto «%s» non válida"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
-msgstr "a paxinación non está soportada nesta máquina"
+msgstr "a paxinación non está admitida nesta máquina"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
-msgstr "demasiadas opcións de etiquetas de ficheiro"
+msgstr "demasiadas opcións de etiquetas de ficheiro"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
-msgstr "ancho `%s' non válido"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
+msgstr "largo «%s» non válido"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
-msgstr "opcións de anchura conflictivas"
+msgstr "opcións de largura conflitivas"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
-msgstr "lonxitude do horizonte `%s' non válida"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
+msgstr "lonxitude do horizonte «%s» non válida"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
-msgstr "ancho de tabulación `%s' non válido"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
+msgstr "tamaño de tabulación «%s» non válido"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
-msgstr "opcións de anchura de tabulación conflictivas"
+msgstr "opcións de tamaño de tabulación conflitivas"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
-msgstr "Especificáronse --from-file e --to-file ao mesmo tempo"
+msgstr "Especificáronse --from-file e --to-file ao mesmo tempo"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
-msgstr "--normal  Producir un diff normal."
+msgstr "Aparencia predefinida no modo normal"
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
-msgstr "-q  --brief  Producir unha saída só se os ficheiros teñen diferencias."
+msgstr "-q  --brief  Producir unha saída só se os ficheiros teñen diferencias."
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr ""
 "-s  --report-identical-files  Informar cando dous ficheiros son o mesmo."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
-msgstr "-w NÚM  --width=NÚM  Amosar como moito NÚM columnas (130 por defecto)."
+msgstr ""
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
-msgstr "-w NÚM  --width=NÚM  Amosar como moito NÚM columnas (130 por defecto)."
+msgstr "-w NÚM  --width=NÚM  Amosar como moito NÚM columnas (130 por omisión)."
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Tratar tódolos ficheiros coma texto"
+msgstr "Gardar a saída da consola de Script-Fu"
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs  Producir un diff en formato RCS."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  Amosar información sobre a versión."
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
-msgstr "-w NÚM  --width=NÚM  Amosar como moito NÚM columnas (130 por defecto)."
+msgstr "-w NÚM  --width=NÚM  Amosar como moito NÚM columnas (130 por omisión)."
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
-msgstr "-l  --left-column  Amosar só a columna da esquerda nas liñas comúns."
+msgstr "-l  --left-column  Amosar só a columna da esquerda nas liñas comúns."
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
-msgstr "-s  --suppress-common-llines  Non amosa-las liñas comúns."
+msgstr "-s --suppress-common-lines  Non amosar as liñas comúns."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
-msgstr "-t  --expand-tabs  Expandi-las tabulacións a espacios na saída."
+msgstr "-t  --expand-tabs  Expandir as tabulacións a espazos na saída."
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
-"-T  --initial-tab  Facer que as tabulacións queden aliñadas poñendo outra\n"
-"                     tabulación ao principio da liña."
+"-T  --initial-tab  Facer que as tabulacións queden aliñadas poñendo outra\n"
+"                     tabulación ao principio da liña."
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
-msgstr "--tabsize=NÚM  Tabulacións de NÚM columnas (8 por defecto)."
+msgstr "--tabsize=NÚM  Tabulacións de NÚM columnas (8 por omisión)."
 
-#: src/diff.c:871
+#: src/diff.c:874
+#, fuzzy
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
+"--suppress-blank-empty  Suprime espazos ou tabuladores antes dunha liña "
+"baleira."
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
-msgstr "-l  --paginate  Pasa-la saída por `pr' para paxinala."
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
+msgstr "-l  --paginate  Pasar a saída por «pr» para paxinala."
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr ""
 "-r  --recursive  Comparar recursivamente os subdirectorios que se atopen."
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
-msgstr "-N  --new-file  Trata-los ficheiros ausentes coma baleiros."
+msgstr "-N  --new-file  Tratar os ficheiros ausentes como baleiros."
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
-"--unidirectional-new-file  Tratar ficheiros vellos ausentes coma baleiros."
+"--unidirectional-new-file  Tratar os ficheiros antigos ausentes como\r\n"
+"a baleiros."
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
-"--ignore-file-name-case  Ignorar maiúsculas/minúsculas no nome do ficheiro."
+"--ignore-file-name-case  Ignorar maiúsculas/minúsculas no nome do ficheiro."
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
-"--no-ignore-file-name-case  Ter en conta as maiúsculas/minúsculas\n"
-"                                ao compara-los nomes dos ficheiros."
+"--no-ignore-file-name-case  Ter en conta as maiúsculas/minúsculas\r\n"
+"                                ao comparaos nomes dos ficheiros."
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
-msgstr "-x PAT  --exclude=PAT  Exclui-los ficheiros que coinciden co PATrón."
+msgstr "-x MOD  --exclude=MOD  Excluír os ficheiros que coinciden co MODelo."
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
-"-X FICH  --exclude-from=FICH  Excluir ficheiros que coinciden con algún\n"
-"                                patrón do FICHeiro."
+"-X FICH  --exclude-from=FICH  Excluír ficheiros que coinciden con algún\r\n"
+"                                modelo do FICHeiro."
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
 "-S FICH  --starting-file=FICH  Comezar no FICHeiro ao comparar directorios."
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
 "                                  FILE1 can be a directory"
 msgstr ""
-"--from-file=FICH1  Comparar FICH1 con tódolos operandos. Pode ser directorio."
+"--from-file=FICH1  Comparar FICH1 con todos os operandos. Pode ser "
+"directorio."
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
 "                                  FILE2 can be a directory"
 msgstr ""
-"--to-file=FICH2  Comparar tódolos operandos con FICH2. Pode ser un "
+"--to-file=FICH2  Comparar todos os operandos con FICH2. Pode ser un "
 "directorio."
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr ""
-"-i  --ignore-case  Ignorar maiúsculas/minúsculas no contido do ficheiro."
+"-i  --ignore-case  Ignorar maiúsculas/minúsculas no contido do ficheiro."
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
-"-E  --ignore-tab-expansion  Ignora-los cambios pola expansión de tabulacións."
+"-E  --ignore-tab-expansion  Ignorar os cambios pola expansión de tabulacións."
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
-msgstr "-w  --ignore-all-space  Ignorar tódolos espacios en branco."
+msgstr "-w  --ignore-all-space  Ignorar todos os espazos en branco."
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
-msgstr ""
-"-b  --ignore-space-change  Ignora-los cambios na cantidade de espacios."
+msgstr "-b  --ignore-space-change  Ignorar os cambios na cantidade de espazos."
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
-msgstr "-w  --ignore-all-space  Ignorar tódolos espacios en branco."
+msgstr "Todo visíbel (ignorar patrón)"
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr ""
-"-B  --ignore-blank-lines  Ignora-los cambios que teñan tódalas liñas en "
+"-B  --ignore-blank-lines  Ignorar os cambios que teñan todas as liñas en "
 "branco"
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
-"-I RE  --ignore-matching-lines=RE  Ignora-los cambios nos que tódalas liñas\n"
-"                                     conteñan RE."
+"-I EXPR-REG  --ignore-matching-lines=EXPR-REG  Ignorar os cambios nos que "
+"todas as liñas\r\n"
+"                                     conteñan EXPR-REG."
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
-msgstr "-a  --text  Tratar tódolos ficheiros coma texto"
+msgstr "-a  --text  Tratar todos os ficheiros como texto"
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr ""
-"--strip-trailing-cr  Elimina-los retornos de carro á fin das liñas de "
+"--strip-trailing-cr  Eliminar os retornos de carro á fin das liñas de "
 "entrada."
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary  Ler e escribir datos en modo binario."
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
-"-D NOME  -ifdef=NOME  Amosa-lo ficheiro mesturado con diffs `#ifdef NOME'."
+"-D NOME  -ifdef=NOME  Amosar o ficheiro mesturado con diffs «#ifdef NOME»."
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
-"--GTYPE-group-format=GFMT  Similar, pero formata-los grupos de entrada "
-"GTYPE\n"
+"--GTYPE-group-format=GFMT  Similar, mais formatar os grupos de entrada GTYPE"
+"\r\n"
 "                             con GFMT."
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
-"--line-format=LFMT  Similar, pero formatar tódalas liñas de entrada con LFMT."
+"--line-format=LFMT  Similar, mais formatar todas as liñas de entrada con "
+"LFMT."
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
-"--LTYPE-line-format=LFMT  Similar, pero formata-las liñas de entrada LTYPE\n"
+"--LTYPE-line-format=LFMT  Similar, mais formatar as liñas de entrada LTYPE"
+"\r\n"
 "                            con LFMT."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
-"  LTYPE é `old' (vello), `new' (novo) ou `unchanged' (sen cambios).\n"
-"  GTYPE é LTYPE ou `changed' (con cambios)."
+"  LTYPE é «old» (antigo), «new» (novo) ou «unchanged» (sen cambios).\r\n"
+"  GTYPE é LTYPE ou «changed» (con cambios)."
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -940,20 +982,20 @@ msgid ""
 "    %(A=B?T:E)  if A equals B then T else E"
 msgstr ""
 "  GFMT pode conter:\n"
-"    %<  liñas do FICH1\n"
-"    %>  liñas do FICH2\n"
-"    %=  liñas comúns a FICH1 e FICH2\n"
-"    %[-][ANCHO][.[PREC]]{doxX}LETRA  especificación estilo printf para a "
+"    %<  liñas do FICH1\n"
+"    %>  liñas do FICH2\n"
+"    %=  liñas comúns a FICH1 e FICH2\n"
+"    %[-][ANCHO][.[PREC]]{doxX}LETRA  especificación estilo printf para a "
 "LETRA\n"
-"      As LETRAs son como segue para o novo grupo, en minúsculas para o "
-"vello:\n"
-"        F  número da primeira liña\n"
-"        L  número da derradeira liña\n"
-"        N  número de liñas = L-F+1\n"
+"      As LETRAs son como segue para o novo grupo, en minúsculas para o "
+"antigo:\n"
+"        F  número da primeira liña\n"
+"        L  número da última liña\n"
+"        N  número de liñas = L-F+1\n"
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -962,11 +1004,11 @@ msgid ""
 "    %[-][WIDTH][.[PREC]]{doxX}n  printf-style spec for input line number"
 msgstr ""
 "  LFMT pode conter:\n"
-"    %L  contido da liña\n"
-"    %l  contido da liña, excluíndo os saltos de liña finais\n"
-"    %[-][ANCHO][.[PREC]]{doxX}n  especif. estilo printf do número da liña"
+"    %L  contido da liña\n"
+"    %l  contido da liña, excluíndo os saltos de liña finais\n"
+"    %[-][ANCHO][.[PREC]]{doxX}n  especif. estilo printf do número da liña"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -977,20 +1019,20 @@ msgid ""
 msgstr ""
 "  GFMT e LFMT poden conter:\n"
 "    %%  %\n"
-"    %c'C'  o carácter C\n"
-"    %c'\\OOO'  o carácter de código octal OOO"
+"    %c«C»  o carácter C\n"
+"    %c«\\OOO»  o carácter de código octal OOO"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
-msgstr "-d  --minimal  Procurar atopa-lo conxunto de cambios máis pequeno."
+msgstr "-d  --minimal  Procurar atopar o conxunto de cambios máis pequeno."
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
-msgstr "--horizon-lines=NUM  Manter NUM liñas do prefixo e sufixo comúns."
+msgstr "--horizon-lines=NUM  Manter NUM liñas do prefixo e sufixo comúns."
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
@@ -998,97 +1040,105 @@ msgstr ""
 "-H  --speed-large-files  Asumir ficheiros longos e pequenos cambios "
 "dispersos."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
-msgstr "-v  --version  Amosar información sobre a versión."
+msgstr "Mostrar información da versión e saír"
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
-"Os FICHEIROS son `FICH1 FICH2', `DIR1 DIR2', `DIR FICH...' ou `FICH... DIR'."
+"Os FICHEIROS son «FICH1 FICH2», «DIR1 DIR2», «DIR FICH...» ou «FICH... DIR»."
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
-"Se se indica --from-file ou --to-file, non hai restriccións nos FICHEIROS."
+"Se se indica --from-file ou --to-file, non hai restricns nos FICHEIROS."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
-msgstr "Se un FICHEIRO é `-', lese da entrada estándar."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
+msgstr "Se un FICHEIRO é «-», lese da entrada estándar."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
-msgstr "Uso: %s [OPCIÓN]... FICHEIROS\n"
+msgstr "Uso: %s [OPCIÓN]... FICHEIROS\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
-msgstr "Compara-los ficheiros liña a liña."
+msgstr "Comparar os ficheiros liña a liña."
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
-msgstr "valor `%1$s' da opción %2$s conflictivo"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
+msgstr "valor «%1$s» da opción %2$s conflitivo"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
-msgstr "opcións de estilo da saída conflictivas"
+msgstr "opcións de estilo da saída conflitivas"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
-msgstr "Só en %s: %s\n"
+msgstr "Só en %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
-msgstr "non se pode comparar `-' cun directorio"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
+msgstr "non se pode comparar «-» cun directorio"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
-msgstr "A opción -D non está soportada con directorios"
+msgstr "A opción -D non está admitida con directorios"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
-msgstr "Subdirectorios comúns: %s e %s\n"
+msgstr "Subdirectorios comúns: %s e %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
-msgstr "O ficheiro %s é un %s mentres que o ficheiro %s é un %s\n"
+msgstr "O ficheiro %s é un %s mentres que o ficheiro %s é un %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Os ficheiros %s e %s son diferentes\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
-msgstr "Os ficheiros %s e %s son idénticos\n"
+msgstr "Os ficheiros %s e %s son idénticos\n"
 
 #. This is a proper name. See the gettext manual, section Names.
 #: src/diff3.c:41
-#, fuzzy
 msgid "Randy Smith"
-msgstr "Escrito por Randy Smith."
+msgstr "Randy Smith"
 
 #: src/diff3.c:313
 #, c-format
 msgid "incompatible options"
-msgstr "opcións incompatibles"
+msgstr "opcións incompatíbeis"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
-msgstr "Especificouse `-' para máis dun ficheiro de entrada"
+#, fuzzy
+msgid "'-' specified for more than one input file"
+msgstr "Especificouse «-» para máis dun ficheiro de entrada"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "fallou a lectura"
 
@@ -1096,7 +1146,7 @@ msgstr "fallou a lectura"
 #, fuzzy
 msgid "-A, --show-all              output all changes, bracketing conflicts"
 msgstr ""
-"-a  --show-all  Amosar tódolos cambios, cos conflictos entre corchetes."
+"-a  --show-all  Amosar todos os cambios, cos conflitos entre parénteses."
 
 #: src/diff3.c:430
 #, fuzzy
@@ -1104,39 +1154,36 @@ msgid ""
 "-e, --ed                    output ed script incorporating changes\n"
 "                                from OLDFILE to YOURFILE into MYFILE"
 msgstr ""
-"-e  --ed  Producir cambios sen mesturar de FICHVELLO a TEUFICH en MEUFICH."
+"-e  --ed  Produce cambios sen mesturar de FICH-ANTIGO a TEU-FICH en MEU-FICH."
 
 #: src/diff3.c:432
 #, fuzzy
 msgid "-E, --show-overlap          like -e, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap  Amosar cambios sen mesturar cos conflictos entre "
-"corchetes"
+"-E  --show-overlap  Amosar cambios sen mesturar cos conflitos entre "
+"parénteses."
 
 #: src/diff3.c:433
 #, fuzzy
 msgid ""
 "-3, --easy-only             like -e, but incorporate only nonoverlapping "
 "changes"
-msgstr "-3  --easy-only  Amosar cambios non solapados e non mesturados."
+msgstr "-3  --easy-only  Amosar cambios non sobrepostos e non mesturados."
 
 #: src/diff3.c:434
 #, fuzzy
 msgid ""
 "-x, --overlap-only          like -e, but incorporate only overlapping changes"
-msgstr "-x  --overlap-only  Amosa-los cambios que se superpoñen."
+msgstr "-x  --overlap-only  Amosar los cambios que se superpoñen."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap  Amosar cambios sen mesturar cos conflictos entre "
-"corchetes"
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
-msgstr "-i  Engadi-los comandos `w' e `q' aos scripts en ed."
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
+msgstr "-i  Engadir as ordes  «w» e «q» aos scripts en ed."
 
 #: src/diff3.c:438
 msgid ""
@@ -1147,27 +1194,27 @@ msgstr ""
 #: src/diff3.c:441
 #, fuzzy
 msgid "-a, --text                  treat all files as text"
-msgstr "-a  --text  Tratar tódolos ficheiros coma texto"
+msgstr "-a  --text  Tratar todos os ficheiros como texto"
 
 #: src/diff3.c:442
 #, fuzzy
 msgid "    --strip-trailing-cr     strip trailing carriage return on input"
 msgstr ""
-"--strip-trailing-cr  Elimina-los retornos de carro á fin das liñas de "
+"--strip-trailing-cr  Eliminar os retornos de carro á fin das liñas de "
 "entrada."
 
 #: src/diff3.c:443
 #, fuzzy
 msgid "-T, --initial-tab           make tabs line up by prepending a tab"
 msgstr ""
-"-T  --initial-tab  Facer que as tabulacións queden aliñadas poñendo outra\n"
-"                     tabulación ao principio da liña."
+"-T  --initial-tab  Facer que as tabulacións queden aliñadas poñendo outra\n"
+"                     tabulación ao principio da liña."
 
 #: src/diff3.c:444
 #, fuzzy
 msgid "    --diff-program=PROGRAM  use PROGRAM to compare files"
 msgstr ""
-"--diff-program=PROGRAMA  Emprega-lo PROGRAMA para compara-los ficheiros."
+"--diff-program=PROGRAMA  Empregar o PROGRAMA para comparar os ficheiros."
 
 #: src/diff3.c:445
 msgid ""
@@ -1176,23 +1223,22 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Tratar tódolos ficheiros coma texto"
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
 msgid "-v, --version               output version information and exit"
-msgstr "-v  --version  Amosar información sobre a versión."
+msgstr "Mostrar información da versión e saír"
 
 #: src/diff3.c:458
 #, c-format
 msgid "Usage: %s [OPTION]... MYFILE OLDFILE YOURFILE\n"
-msgstr "Uso: %s [OPCIÓN]... MEUFICH VELLOFICH TEUFICH\n"
+msgstr "Uso: %s [OPCIÓN]... MEU-FICH ANTIGO-FICH TEU-FICH\n"
 
 #: src/diff3.c:460
 msgid "Compare three files line by line."
-msgstr "Comparar tres ficheiros liña a liña."
+msgstr "Comparar tres ficheiros liña a liña."
 
 #: src/diff3.c:470
 msgid ""
@@ -1211,6 +1257,8 @@ msgstr ""
 #: src/diff3.c:482
 msgid "Exit status is 0 if successful, 1 if conflicts, 2 if trouble."
 msgstr ""
+"O estado de saída é 0 se é correcto, 1 se hai conflitos, 2 en caso de "
+"problema."
 
 #: src/diff3.c:675
 msgid "internal error: screwup in format of diff blocks"
@@ -1223,140 +1271,146 @@ msgstr "%s: diff fallou: "
 
 #: src/diff3.c:990
 msgid "internal error: invalid diff type in process_diff"
-msgstr "erro interno: tipo de diff non válido en process_diff"
+msgstr "erro interno: tipo de diff non válido en process_diff"
 
 #: src/diff3.c:1015
 msgid "invalid diff format; invalid change separator"
-msgstr "formato de diff non válido; separador de cambios non válido"
+msgstr "formato de diff non válido; separador de cambios non válido"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
-msgstr "formato de diff non válido: derradeira liña incompleta"
+msgstr "formato de diff non válido: última liña incompleta"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
 #, fuzzy, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "non se atopou o programa subsidiario `%s'"
+msgid "subsidiary program '%s' could not be invoked"
+msgstr "non foi posíbel invocar o programa subsidiario «%s»"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
-msgstr "formato de diff non válido: caracteres a principio de liña incorrectos"
+msgstr "formato de diff non válido: caracteres a principio de liña incorrectos"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
-msgstr "erro interno_ tipo de diff non válido pasado á saída"
+msgstr "erro interno_ tipo de diff non válido pasado á saída"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
-msgstr "o ficheiro de entrada encolleu"
+msgstr "o ficheiro de entrada minguou"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
-msgstr "non se poden compara-los ficheiros `%s' e `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
+msgstr "non se poden comparar os ficheiros «%s» e «%s»"
 
 #: src/dir.c:209
 #, c-format
 msgid "%s: recursive directory loop"
-msgstr ""
+msgstr "%s: bucle de directorio recursivo"
 
 #. This is a proper name. See the gettext manual, section Names.
 #: src/sdiff.c:42
-#, fuzzy
 msgid "Thomas Lord"
-msgstr "Escrito por Thomas Lord."
+msgstr "Thomas Lord"
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
-"-o FICH  --output=FICH  Operar interactivamente, mandando a saída ao "
+"-o FICH  --output=FICH  Operar interactivamente, enviando a saída ao "
 "FICHeiro."
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr ""
-"-i  --ignore-case  Ignora-las diferencias entre maiúsculas e minúsculas."
+"-i  --ignore-case  Ignorar as diferencias entre maiúsculas e minúsculas."
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
-"-E  --ignore-tab-expansion  Ignora-los cambios pola expansión de tabulacións."
+"-E  --ignore-tab-expansion  Ignorar os cambios pola expansión de tabulacións."
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
-msgstr "-w  --ignore-all-space  Ignorar tódolos espacios en branco."
+msgstr "-w  --ignore-all-space  Ignorar todos os espazos en branco."
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
-msgstr ""
-"-b  --ignore-space-change  Ignora-los cambios na cantidade de espacios."
+msgstr "-b  --ignore-space-change  Ignorar os cambios na cantidade de espazos."
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  Ignorar tódolos espacios en branco."
+msgstr "Todo visíbel (ignorar patrón)"
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr ""
-"-B  --ignore-blank-lines  Ignora-los cambios que teñan tódalas liñas en "
+"-B  --ignore-blank-lines  Ignorar os cambios que teñan todas as liñas en "
 "branco"
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I EXPR-REG  --ignore-matching-lines=EXPR-REG  Ignorar os cambios nos que "
+"todas as liñas\r\n"
+"                                     conteñan EXPR-REG."
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr ""
-"--strip-trailing-cr  Elimina-los retornos de carro á fin das liñas de "
+"--strip-trailing-cr  Eliminar os retornos de carro á fin das liñas de "
 "entrada."
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
-msgstr "-a  --text  Tratar tódolos ficheiros coma texto"
+msgstr "-a  --text  Tratar todos os ficheiros como texto"
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
-msgstr "-w NÚM  --width=NÚM  Amosar como moito NÚM columnas (130 por defecto)."
+msgstr "-w NÚM  --width=NÚM  Amosar como moito NÚM columnas (130 por omisión)."
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
-msgstr "-l  --left-column  Amosar só a columna da esquerda nas liñas comúns."
+msgstr "-l  --left-column  Amosar só a columna da esquerda nas liñas comúns."
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
-msgstr "-s  --suppress-common-llines  Non amosa-las liñas comúns."
+msgstr "-s --suppress-common-lines  Non amosar as liñas comúns."
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
-msgstr "-t  --expand-tabs  Expandi-las tabulacións a espacios na saída."
+msgstr "-t  --expand-tabs  Expandir as tabulacións a espazos na saída."
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
-msgstr "--tabsize=NÚM  Tabulacións de NÚM columnas (8 por defecto)."
+msgstr "--tabsize=NÚM  Tabulacións de NÚM columnas (8 por omisión)."
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
-msgstr "-d  --minimal  Procurar atopa-lo conxunto de cambios máis pequeno."
+msgstr "-d  --minimal  Procurar atopar o conxunto de cambios máis pequeno."
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
@@ -1364,42 +1418,40 @@ msgstr ""
 "-H  --speed-large-files  Asumir ficheiros longos e pequenos cambios "
 "dispersos."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr ""
-"--diff-program=PROGRAMA  Emprega-lo PROGRAMA para compara-los ficheiros."
+"--diff-program=PROGRAMA  Empregar o PROGRAMA para comparar os ficheiros."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Tratar tódolos ficheiros coma texto"
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
-msgstr "-v  --version  Amosar información sobre a versión."
+msgstr "Mostrar información da versión e saír"
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
-msgstr "Uso: %s [OPCIÓN]... FICH1 FICH2\n"
+msgstr "Uso: %s [OPCIÓN]... FICH1 FICH2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
-msgstr "Mestura en dúas columnas das diferencias entre os ficheiros."
+msgstr "Mestura en dúas columnas das diferencias entre os ficheiros."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
-msgstr "non se pode mestura-la entrada estándar interactivamente"
+msgstr "non se pode mesturar a entrada estándar interactivamente"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
-msgstr "ámbolos dous ficheiros a ser comparados son directorios"
+msgstr "ámbolos dous ficheiros a ser comparados son directorios"
 
-#: src/sdiff.c:827
-#, fuzzy
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
@@ -1412,88 +1464,44 @@ msgid ""
 "v:\tVerbosely include common lines.\n"
 "q:\tQuit.\n"
 msgstr ""
-"ed:\tEditar e usar ámbalas dúas versións, cada unha cunha cabeceira.\n"
-"eb:\tEditar e usar ámbalas dúas versións.\n"
-"el:\tEditar e logo usa-la versión da esquerda.\n"
-"er:\tEditar e logo usa-la versión da dereita.\n"
-"e:\tEditar unha nova versión.\n"
-"l:\tusa-la versión da esquerda.\n"
-"r:\tusa-la versión da dereita.\n"
-"e:\tEditar unha nova versión.\n"
-"s:\tInclui-las liñas comúns silenciosamente.\n"
-"v:\tInclui-las liñas comúns faladoramente.\n"
-"q:\tSair.\n"
+"ed:\tEdita e usa ambas versións, cada unha decorada cunha cabeceira.\n"
+"eb:\tEdita e usa ambas versións.\n"
+"el ou e1:\tEdita e usa a versión esquerda.\n"
+"er ou e2:\tEdita e usa a versión dereita.\n"
+"e:\tEdita unha nova versión.\n"
+"l ou 1:\tUsa a versión esquerda.\n"
+"r ou 2:\tUsa a versión dereita.\n"
+"s:       Inclúe liñas comúns silenciosamente.\n"
+"v:       Inclúe liñas comúns de xeito detallado.\n"
+"q:       Saír.\n"
 
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i N1:N2  --ignore-initial=N1:N2"
 
 #~ msgid "-s  --quiet  --silent  Output nothing; yield exit status only."
-#~ msgstr "-s  --quiet  --silent  Non producir nada; só da-lo estado de saída."
-
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  Amosar información sobre a versión."
+#~ msgstr "-s  --quiet  --silent  Non producir nada; só dar o estado de saída."
 
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  Amosar esta axuda."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Comparar tres ficheiros liña a liña."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr ""
-#~ "-E  --ignore-tab-expansion  Ignora-los cambios pola expansión de "
-#~ "tabulacións."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr ""
-#~ "-b  --ignore-space-change  Ignora-los cambios na cantidade de espacios."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Ignorar tódolos espacios en branco."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr ""
-#~ "-B  --ignore-blank-lines  Ignora-los cambios que teñan tódalas liñas en "
-#~ "branco"
-
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr ""
-#~ "--strip-trailing-cr  Elimina-los retornos de carro á fin das liñas de "
-#~ "entrada."
-
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Tratar tódolos ficheiros coma texto"
-
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
-#~ "-c  -C NÚM  --context[=NÚM]  Amosar NÚM [3] liñas de contexto copiado.\n"
-#~ "-u  -U NÚM  --unified[=NÚM]  Amosar NÚM [3] liñas de contexto unificado.\n"
-#~ "  --label ETIQUETA  Usa-la ETIQUETA no canto do nome do ficheiro.\n"
-#~ "  -p  --show-c-function  Amosar en que función C está cada cambio.\n"
-#~ "  -F RE  --show-function-line=RE  Amosa-la liña máis recente que "
-#~ "coincide\n"
-#~ "                                    con RE."
-
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Producir un script de ed."
+#~ "-c  -C NÚM  --context[=NÚM]  Amosar NÚM (3 por omisión) liñas de contexto "
+#~ "copiado.\n"
+#~ "-u  -U NÚM  --unified[=NÚM]  Amosar NÚM (3 por omisión) liñas de contexto "
+#~ "unificado.\n"
+#~ "  --label ETIQUETA  Usar a ETIQUETA no canto do nome do ficheiro.\n"
+#~ "  -p  --show-c-function  Amosar en que función C está cada cambio.\n"
+#~ "  -F EXPR-REG  --show-function-line=EXPR-REG  Amosar a liña máis recente "
+#~ "que coincide\n"
+#~ "                                    con EXPR-REG."
 
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
@@ -1501,104 +1509,31 @@ msgstr ""
 #~ "  --left-column  Output only the left column of common lines.\n"
 #~ "  --suppress-common-lines  Do not output common lines."
 #~ msgstr ""
-#~ "-y  --side-by-side  Produci-la saída en dúas columnas.\n"
-#~ "  -w NÚM  --width=NÚM  Amosar como moito NÚM [130] columnas de "
-#~ "impresión.\n"
-#~ "  --left-column  Amosar só a columna da esquerda nas liñas comúns.\n"
-#~ "  --suppress-common-lines  Non amosa-las liñas comúns."
-
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs  Expandi-las tabulacións a espacios na saída."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr ""
-#~ "-T  --initial-tab  Facer que as tabulacións queden aliñadas poñendo "
-#~ "outra\n"
-#~ "                     tabulación ao principio da liña."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr "--tabsize=NÚM  Tabulacións de NÚM columnas (8 por defecto)."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  Procurar atopa-lo conxunto de cambios máis pequeno."
+#~ "-y  --side-by-side  Producir a saída en dúas columnas.\n"
+#~ "  -w NÚM  --width=NÚM  Amosar como moito NÚM (130 por omisión) columnas "
+#~ "de impresión.\n"
+#~ "  --left-column  Amosar só a columna da esquerda nas liñas comúns.\n"
+#~ "  --suppress-common-lines  Non amosar as liñas comúns."
 
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files  Asumir ficheiros longos e pequenos cambios dispersos."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr ""
-#~ "-a  --show-all  Amosar tódolos cambios, cos conflictos entre corchetes."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
-#~ msgstr "-X  Amosa-los cambios que se solapen, poñéndoos entre corchetes."
+#~ msgstr ""
+#~ "-X  Amosar os cambios que se sobrepoñan, poñéndoos entre parénteses."
 
 #~ msgid "-m  --merge  Output merged file instead of ed script (default -A)."
 #~ msgstr ""
-#~ "-m  --merge  Amosa-lo ficheiro mesturado no canto dun script en ed [-A]."
+#~ "-m  --merge  Amosao ficheiro mesturado no canto dun script en ed [-A]."
 
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr ""
-#~ "-L ETIQ  --label=ETIQ  Usa-la ETIQueta no canto do nome do ficheiro."
-
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr ""
-#~ "--diff-program=PROGRAMA  Emprega-lo PROGRAMA para compara-los ficheiros."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Ignorar tódolos espacios en branco."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w NÚM  --width=NÚM  Amosar como moito NÚM columnas (130 por defecto)."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr ""
-#~ "-l  --left-column  Amosar só a columna da esquerda nas liñas comúns."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  Asumir ficheiros longos e pequenos cambios dispersos."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "fallou a lectura"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "fallou a escritura"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "fallou a lectura"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "fallou a lectura"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "fallou a escritura"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "fallou a escritura"
+#~ "-L ETIQ  --label=ETIQ  Usar a ETIQueta no canto do nome do ficheiro."
 
 #~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: opción non permitida -- %c\n"
+#~ msgstr "ón non permitida -- %c\n"
 
 #~ msgid ""
 #~ "This program comes with NO WARRANTY, to the extent permitted by law.\n"
@@ -1606,92 +1541,60 @@ msgstr ""
 #~ "under the terms of the GNU General Public License.\n"
 #~ "For more information about these matters, see the files named COPYING."
 #~ msgstr ""
-#~ "Este programa vén SEN GARANTÍA, ata o permitido pola lei.\n"
-#~ "Pode redistribuír copias deste programa baixo os termos\n"
-#~ "da Licencia Pública Xeral de GNU.\n"
-#~ "Para máis información sobre estas materias, vexa o ficheiro chamado "
-#~ "COPYING."
+#~ "én SEN GARANTÍA, ata o permitido pola lei.\n"
+#~ "ír copias deste programa baixo os termos\n"
+#~ "ública Xeral de GNU.\n"
+#~ "áis información sobre estas materias, vexa o ficheiro chamado COPYING."
 
 #~ msgid "Written by Torbjorn Granlund and David MacKenzie."
-#~ msgstr "Escrito por Torbjörn Granlund e David MacKenzie."
+#~ msgstr "örn Granlund e David MacKenzie."
 
 #~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
 #~ msgstr ""
-#~ "Informe dos erros no programa a <bug-gnu-utils@gnu.org>.\n"
-#~ "Informe dos erros na traducción a <proxecto@trasno.net>."
+#~ "\n"
+#~ "ón a <proxecto@trasno.net>."
 
 #~ msgid ""
 #~ "Written by Paul Eggert, Mike Haertel, David Hayes,\n"
 #~ "Richard Stallman, and Len Tower."
-#~ msgstr ""
-#~ "Escrito por Paul Eggert, Mike Haertel, David Hayes,\n"
-#~ "Richard Stallman e Len Tower."
+#~ msgstr "\n"
 
 #~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "A opción `-%ld' é obsoleta; empregue `-%c %ld'"
+#~ msgstr "ón `-%ld' é obsoleta; empregue `-%c %ld'"
 
 #~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "A opción `-%ld' é obsoleta; omítaa"
-
-#~ msgid "subsidiary program `%s' failed"
-#~ msgstr "fallou o programa subsidiario `%s'"
+#~ msgstr "ón `-%ld' é obsoleta; omítaa"
 
 #~ msgid "subsidiary program `%s' not executable"
-#~ msgstr "o programa subsidiario `%s' non é executable"
+#~ msgstr "é executable"
 
 #~ msgid ""
 #~ "SKIP values may be followed by the following multiplicative suffixes:\n"
-#~ msgstr ""
-#~ "Os valores de N poden ir seguidos polos seguintes sufixos "
-#~ "multiplicativos:\n"
+#~ msgstr "\n"
 
 #~ msgid "kB 1000, K 1024, MB 1,000,000, M 1,048,576,\n"
-#~ msgstr "kB 1000, K 1024, MB 1.000.000, M 1.048.576,\n"
+#~ msgstr "\n"
 
 #~ msgid "GB 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.\n"
-#~ msgstr "GB 1.000.000.000, G 1.073.741.824 e así para T, P, E, Z e Y.\n"
+#~ msgstr "í para T, P, E, Z e Y.\n"
 
 #~ msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
-#~ msgstr "Informe dos erros a <bug-gnu-utils@gnu.org>.\n"
+#~ msgstr "\n"
 
 #~ msgid "context length specified twice"
-#~ msgstr "a lonxitude do contexto especificouse dúas veces"
+#~ msgstr "úas veces"
 
 #~ msgid "multiple `--from-file' options"
-#~ msgstr "opcións `--from-file' múltiples"
+#~ msgstr "óns `--from-file' múltiples"
 
 #~ msgid "multiple `--to-file' options"
-#~ msgstr "opcións `--to-file' múltiples"
-
-#~ msgid "--inhibit-hunk-merge  Do not merge hunks."
-#~ msgstr "--inhibit-hunk-merge  Non mesturar anacos"
-
-#~ msgid "regular empty executable file"
-#~ msgstr "ficheiro normal executable baleiro"
-
-#~ msgid "regular executable file"
-#~ msgstr "ficheiro normal executable"
+#~ msgstr "óns `--to-file' múltiples"
 
 #~ msgid "If a FILE is `-', read standard input.\n"
-#~ msgstr "Se un FICHEIRO é `-', lese da entrada estándar.\n"
-
-#~ msgid "--ignore-initial value must be a nonnegative integer"
-#~ msgstr "O valor de --ignore-initial debe ser un enteiro non negativo"
+#~ msgstr "é `-', lese da entrada estándar.\n"
 
 #~ msgid ": not found\n"
-#~ msgstr ": non atopado\n"
-
-#~ msgid "column width must be a positive integer"
-#~ msgstr "o ancho da columna debe ser un enteiro positivo"
-
-#~ msgid "conflicting group format"
-#~ msgstr "formato de grupo con conflictos"
+#~ msgstr "\n"
 
 #~ msgid "conflicting line format"
-#~ msgstr "formato de liña con conflictos"
-
-#~ msgid "context length must be a nonnegative integer"
-#~ msgstr "a lonxitude do contexto debe ser un enteiro non negativo"
-
-#~ msgid "horizon must be a nonnegative integer"
-#~ msgstr "o horizonte debe ser un enteiro non negativo"
+#~ msgstr "ña con conflictos"
index 9b495e1..95092b4 100644 (file)
Binary files a/po/he.gmo and b/po/he.gmo differ
index 2b11455..4eea493 100644 (file)
--- a/po/he.po
+++ b/po/he.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: diffutils 2.8.3\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2002-06-17 13:03+0300\n"
 "Last-Translator: Eli Zaretskii <eliz@gnu.org>\n"
 "Language-Team: Hebrew <eliz@gnu.org>\n"
@@ -23,7 +23,7 @@ msgstr "
 msgid "stack overflow"
 msgstr "úéðñçî úùéìâ"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "ääåæî-éúìá äì÷ú"
 
@@ -136,100 +136,102 @@ msgstr "%s 
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "äçìöä"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "äîéàúî úæåøçî äàöîð àì"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "éåâù éøìåâø éåèéá"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "òåãé-éúìá øåãéñ åú"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "íéåú úöåá÷ ìù øëåî-éúìá íù"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "`\\' éøåçà ïñëåìá íééúñî éøìåâø éåèéá"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "íãå÷ éåèéá-úúì äéåâù äééðôä"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "âåæ-ïá åì ïéàù [^ åà ["
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "âåæ-ïá åì ïéàù \\( åà ("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "âåæ-ïá åì ïéàù \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "\\{\\} êåúá éåâù äðáî"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "íéåú íåçú ìù äéåâù äøãâä"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "ïåøëæä øîâð"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "íéé÷ åðéà åà éåâù íãå÷ éøìåâø éåèéá"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "éãî íã÷åî íééúñî éøìåâø éåèéá"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "éãî áëøåî åà ìåãâ éøìåâø éåèéá"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "âåæ-ïá åì ïéàù \\) åà )"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "íãå÷ éøìåâø éåèéá ïéà"
 
@@ -261,17 +263,17 @@ msgstr ""
 
 #: lib/xstrtol-error.c:63
 #, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "--bytes ïééôàî øåáò `%s' éåâù êøò"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "--horizon-lines ïééôàîá `%s' éåâù úåøåù øôñî"
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr ""
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr ""
 
 #: lib/version-etc.c:74
@@ -422,7 +424,7 @@ msgstr ""
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "äæî äæ íéðåù `%s'-å `%s' íéöá÷ä\n"
@@ -432,7 +434,7 @@ msgstr "
 msgid "Binary files %s and %s differ\n"
 msgstr "äæî äæ íéðåù `%s'-å `%s' íééøðéá íéöá÷\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "õáå÷ä óåñá äùãç-äøåù åú øñç"
 
@@ -446,14 +448,14 @@ msgstr ""
 msgid "David MacKenzie"
 msgstr ""
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr ".øúåé áø òãéî úâöäì `%s --help' ùé÷äì äñð"
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "--ignore-initial ïééôàî øåáò `%s' éåâù êøò"
 
 #: src/cmp.c:147
@@ -461,14 +463,14 @@ msgstr "--ignore-initial 
 msgid "options -l and -s are incompatible"
 msgstr "äæ úà äæ íéøúåñ -s-å -l íéðééôàîä"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "äáéúëá äì÷ú"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "éð÷ú èìô õåøòì"
 
@@ -529,7 +531,7 @@ msgid ""
 "at the beginning of each file (zero by default)."
 msgstr "      .íéöá÷äî ãçà ìëá âìãì ùé íäéìò íéúáä éøôñî íä SKIP2-å SKIP1"
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -545,26 +547,27 @@ msgstr ""
 "  .T, P, E, Z, Y øåáò äàìä ïëå ,G 1,073,741,824 ,GB 1,000,000,000"
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "             .éð÷ú èì÷ õåøòî àø÷ ,ïééåöî åðéà åà `-' åðéä FILE íà"
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "--bytes ïééôàî øåáò `%s' éåâù êøò"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "`%s' éøçà øñç èðîåâøà"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "`%s' éøçà øúåéî èðîåâøà"
 
 #: src/cmp.c:491
@@ -583,221 +586,223 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: %s õáå÷ óåñ\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr ""
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "`%s' éåâù øù÷ä êøåà"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "åæ úëøòîá èìôä ãåîéòá äëéîú ïéà"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "íéöá÷ úéååú øåáò -L éðééôàî éãî øúåé"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "`%s' éåâù äøåù áçåø"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "íéøúåñ äøåù áçåø éðééôàî"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "--horizon-lines ïééôàîá `%s' éåâù úåøåù øôñî"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "`%s' éåâù Tab áçåø"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "íéøúåñ Tab áçåø éðééôàî"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "--to-file ïäå --from-file ïä úðééö"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "                   .ìéâø èîøåôá íééåðéù ÷ôä      --normal"
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "                   .íéðåù íéöá÷ä íà øåîà ÷ø  -q  --brief"
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr ""
 "                        .íéäæ íéöá÷ ìò çååã  -s  --report-identical-files"
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
-msgstr ".äøåùì (130 ç\"îøá) íéååú NUM øúåéä ìëì âöä  -w NUM  --width=NUM"
+msgstr ""
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ".äøåùì (130 ç\"îøá) íéååú NUM øúåéä ìëì âöä  -w NUM  --width=NUM"
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "                .èñ÷è éöá÷áë íéöá÷ä ìëá ìôè  -a  --text"
+msgstr "             .ed êøåò øåáò úåàøåä úîéùø ÷ôä  -e  --ed"
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "                    .RCS èîøåôá íééåðéù ÷ôä  -n  --rcs"
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "                       .úéðëúä úñøéâ úà âöä  -v  --version"
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ".äøåùì (130 ç\"îøá) íéååú NUM øúåéä ìëì âöä  -w NUM  --width=NUM"
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr "         .úéìàîùä úà ÷ø âöä ,úåäæ úåøåùä íà  -l  --left-column"
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr ""
 "                    .úåäæ úåøåù ììë âéöú ìà  -s  --suppress-common-lines"
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "                .èìôá íéçååøì TAB éååú êåôä  -t  --expand-tabs"
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr "             .äøåùä éðôì TAB \"ò íé-TAB øùé  -T  --initial-tab"
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr "                  .(8 ç\"îøá) úåãåîò NUM ìë Tab  --tabsize=NUM"
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr "                .ãåîéò íùì `pr' êøã èìô áúð  -l  --paginate"
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr "            .éáéñøå÷ø ïôåàá úåé÷éú-úú äååùä  -r  --recursive"
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "          .íé÷éø åéä åìéàë íéøñç íéöá÷á ìôè  -N  --new-file"
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 "  .íé÷éø åéä åìéàë íéøñç íéðåùàø íéöá÷á ìôè      --unidirectional-new-file"
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ".íéöá÷ä úåîùá úåðè÷î úåìåãâ úåéúåà ìéãáú ìà  --ignore-file-name-case"
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "   .íéöá÷ä úåîùá úåðè÷î úåìåãâ úåéúåà ìéãáú  --no-ignore-file-name-case"
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr "  .PAT úéðáúì íéîéàúî íäéúåîùù íéöá÷ ìò âìã  -x PAT  --exclude=PAT"
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
 "FILE-á úåéðáúì íéîéàúî íäéúåîùù íéöá÷ ìò âìã -X FILE  --exclude-from=FILE"
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
 "             .FILE õáå÷á úåé÷éú úàååùä ìçúä  -S FILE  --starting-file=FILE"
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -805,7 +810,7 @@ msgid ""
 msgstr ""
 ".äé÷éú úåéäì ìåëé FILE1 .íéèðîåâøàä øàù ìëì FILE1 äååùä  --from-file=FILE1"
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -813,95 +818,96 @@ msgid ""
 msgstr ""
 "   .äé÷éú úåéäì ìåëé FILE2 .FILE2-ì íéèðîåâøàä ìë äååùä  --to-file=FILE2"
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr ".íéöá÷ä ïëåúá úåðè÷î úåìåãâ úåéúåà ìéãáú ìà  -i  --ignore-case"
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "             .íéçååøì TAB ïéá íéìãáäî íìòúä  -E  --ignore-tab-expansion"
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "                         .íéçååøä ìëî íìòúä  -w  --ignore-all-space"
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr "                .íéçååø úåîëá íéìãáäî íìòúä  -b  --ignore-space-change"
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "                         .íéçååøä ìëî íìòúä  -w  --ignore-all-space"
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr "            .úå÷éø íäéúåøåùù íééåðéùî íìòúä  -B  --ignore-blank-lines"
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 ".RE úéðáúì úåîéàúî íäéúåøåùù íééåðéùî íìòúä  -I RE --ignore-matching-lines=RE"
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "                .èñ÷è éöá÷áë íéöá÷ä ìëá ìôè  -a  --text"
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr "              .èì÷ úøåù ìë óåñî CR éååú ÷ìñ      --strip-trailing-cr"
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "                    .éøàðéá ïôåàá áåúëå àø÷      --binary"
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr "`#ifdef NAME'-á íééåðéù ãøôä ,áìåùî õáå÷ ÷ôä -D NAME  --ifdef=NAME"
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "GFMT úøæòá GTYPE âåñî èì÷ úåöåá÷ èîøô êà ,ì\"ðë  --GTYPE-group-format=GFMT"
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr "               .LFMT úøæòá úåøåù èîøô êà ,ì\"ðë  --line-format=LFMT"
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 ".LFMT úøæòá LTYPE âåñî èì÷ úåøåù èîøô êà ,ì\"ðë  --LTYPE-group-format=LFMT"
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr "  .`changed' åà LTYPE åîë GTYPE .`unchanged' åà `new' ,`old' àåä LTYPE"
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -929,7 +935,7 @@ msgstr ""
 "                               F-1  E\n"
 "                               M+1  M"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -942,7 +948,7 @@ msgstr ""
 "       äøåùä óåñ åú èòîì äøåù ïëåú  %l\n"
 "èì÷ úøåù øåáò printf ïåðâñá úæåøçî  %[-][WIDTH][.[PREC]]{doxX}n"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -956,94 +962,102 @@ msgstr ""
 "                         C ããåá åú  %c'C'\n"
 "             OOO éìè÷åà ãå÷ ìòá åú  %c'\\OOO'"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr "            .íééåðéùä úöåá÷ úà ïéè÷äì ìãúùä  -d  --minimal"
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 ".íéöá÷ä íåéñå äìéçúá úåôúåùî úåøåù NUM øàùä          --horizon-lines=NUM"
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr "  .íé÷çåøîå íéðè÷ íééåðéùå íéìåãâ íéöá÷ çðä  -H  --speed-large-files"
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "                       .úéðëúä úñøéâ úà âöä  -v  --version"
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 ".`FILE... DIR' åà `DIR FILE...' åà `DIR1 DIR2' åà `FILE1 FILE2' íä FILES"
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
 "       .FILES ìò úåìáâî ïéà éæà ,--to-file åà --from-file ïééôàî ïåúð íà"
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr ""
 "                                   .éð÷úä èì÷ä õøòî àø÷ ,`-' àåä FILE íà"
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "%s [OPTION]... FILES   :ùåîéù ïôåà\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr ".äøåù äøåù íéöá÷ éðù äååùä"
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "%s ïééôàî ìù íãå÷ êøò øúåñ `%s' êøò"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "èìô ïåðâñ ìù íéøúåñ íéðééôàî"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "%s-á ÷ø àöîð %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "äé÷éúì `-' úååùäì úåøùôà ïéà"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "úåé÷éú øåáò -D ïééôàîá äëéîú ïéà"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "%s-å %s :úåäæ úåé÷éú-úú\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "%s %s-ì %s %s úååùäì ïúéð àì\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "äæî äæ íéðåù `%s'-å `%s' íéöá÷ä\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "íéäæ íðéä %s-å %s íéöá÷ä\n"
@@ -1060,11 +1074,12 @@ msgid "incompatible options"
 msgstr "íéøúåñ íéðééôàî"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "ãçà èì÷ õáå÷î øúåé øåáò `-' úðééö"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "äàéø÷á äì÷ú"
 
@@ -1101,14 +1116,12 @@ msgstr ""
 "                                .íéôôåç íééåðéù âöä  -x  --overlap-only"
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
 msgstr ""
-"             .íéè÷éìôðå÷ ïîñ ,âåæéî àìì íééåðéù âöä  -E  --show-overlap"
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "            .ed úåãå÷ô íåéñá `q'-å `w' úåãå÷ô áåúë   -i"
 
 #: src/diff3.c:438
@@ -1145,9 +1158,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "                .èñ÷è éöá÷áë íéöá÷ä ìëá ìôè  -a  --text"
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1198,30 +1210,30 @@ msgstr "process_diff 
 msgid "invalid diff format; invalid change separator"
 msgstr "äéåâù íééåðéù úãøôä úæåøçî :éåðéù ìù éåâù èîøåô"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "äîìù äðéà äðåøçà äøåù :éåðéù ìù éåâù èîøåô"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
 #, fuzzy, c-format
-msgid "subsidiary program `%s' could not be invoked"
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "äàöîð àì `%s' úéðëú-úú"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "äøåù úìéçúá íééåâù íéååú :éåðéù ìù éåâù èîøåô"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "èìô éëøöì éåðéù ìù éåâù âåñ :úéîéðô äðëú úàéâù"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "÷îèöä èì÷ õáå÷"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "`%s'-å `%s' íéöá÷ úåîù úååùäì ïúéð àì"
 
 #: src/dir.c:209
@@ -1235,130 +1247,135 @@ msgstr ""
 msgid "Thomas Lord"
 msgstr ".Thomas Lord é\"ò áúëð"
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr "            .FILE-ì èìô ,úéáéè÷àøèðéà äìåòô  -o FILE  --output=FILE"
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "    .úåðè÷å úåìåãâ úåéúåà ïéá íéìãáäî íìòúä  -i  --ignore-case"
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "             .íéçååøì TAB ïéá íéìãáäî íìòúä  -E  --ignore-tab-expansion"
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "                         .íéçååøä ìëî íìòúä  -w  --ignore-all-space"
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "                .íéçååø úåîëá íéìãáäî íìòúä  -b  --ignore-space-change"
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "                         .íéçååøä ìëî íìòúä  -w  --ignore-all-space"
+msgstr "                .øçà ïáì çèùå íéçååøî íìòúä  -W  --ignore-all-space"
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr "            .úå÷éø íäéúåøåùù íééåðéùî íìòúä  -B  --ignore-blank-lines"
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+".RE úéðáúì úåîéàúî íäéúåøåùù íééåðéùî íìòúä  -I RE --ignore-matching-lines=RE"
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr "              .èì÷ úøåù ìë óåñî CR éååú ÷ìñ      --strip-trailing-cr"
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "                .èñ÷è éöá÷áë íéöá÷ä ìëá ìôè  -a  --text"
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ".äøåùì (130 ç\"îøá) íéååú NUM øúåéä ìëì âöä  -w NUM  --width=NUM"
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr "         .úéìàîùä úà ÷ø âöä ,úåäæ úåøåùä íà  -l  --left-column"
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr ""
 "                    .úåäæ úåøåù ììë âéöú ìà  -s  --suppress-common-lines"
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "                .èìôá íéçååøì TAB éååú êåôä  -t  --expand-tabs"
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr "                  .(8 ç\"îøá) úåãåîò NUM ìë Tab  --tabsize=NUM"
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr "            .íééåðéùä úöåá÷ úà ïéè÷äì ìãúùä  -d  --minimal"
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr "  .íé÷çåøîå íéðè÷ íééåðéùå íéìåãâ íéöá÷ çðä  -H  --speed-large-files"
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr ""
 "                 .íéöá÷ úàåùäì PROGRAM úéðëúá ùîúùä  --diff-program=PROGRAM"
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "                .èñ÷è éöá÷áë íéöá÷ä ìëá ìôè  -a  --text"
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "                       .úéðëúä úñøéâ úà âöä  -v  --version"
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "%s [OPTION]... FILE1 FILE2  :ùåîéù ïôåà\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr ".äæ ãöá äæ íéöá÷ ïéá íééåðéù ìù âåæéî"
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "éáéè÷àøèðéà ïôåàá éð÷ú èì÷ õåøò âæîì úåøùôà ïéà"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "úåé÷éú íðéä äàååùäì íéöá÷ä éðù"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 #, fuzzy
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
@@ -1383,6 +1400,22 @@ msgstr ""
 "v   --                    ïúâöä êåú úåôúåùî úåøåù ÷úòä\n"
 "q   --  äàéöé\n"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: é÷åç-éúìá ïééôàî -- %c\n"
+
+#~ msgid ""
+#~ "This program comes with NO WARRANTY, to the extent permitted by law.\n"
+#~ "You may redistribute copies of this program\n"
+#~ "under the terms of the GNU General Public License.\n"
+#~ "For more information about these matters, see the files named COPYING."
+#~ msgstr ""
+#~ "      .úàæ øéúî ÷åçäù äîë ãò ,àåäùìë úåéøçà áúëá äååìî äðéà åæ úéðëåú\n"
+#~ ".GNU General Public License ïåéùøä éàðúì íàúäá åæ úéðëåú õéôäì íëúåëæ\n"
+#~ "                      .COPYING åîùù õáå÷á åðééò ,åìà íéðéðòá èåøéô øúéì"
+
+#~ msgid "Written by Torbjorn Granlund and David MacKenzie."
+#~ msgstr ".David MacKenzie-å Torbjorn Granlund é\"ò áúëð"
+
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr ""
 #~ "                                             -i N1:N2\n"
@@ -1391,53 +1424,33 @@ msgstr ""
 #~ msgid "-s  --quiet  --silent  Output nothing; yield exit status only."
 #~ msgstr "               .ãáìá äàéöé ãå÷ ÷ôä ;èìô àìì  -s  --quiet  --silent"
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "                       .úéðëúä úñøéâ úà âöä  -v  --version"
-
 #~ msgid "--help  Output this help."
 #~ msgstr "                           .äæ äøæò êñî âöä      --help"
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr ".úéáì úéá íéöá÷ äùìù äååùä"
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr ""
-#~ "             .íéçååøì TAB ïéá íéìãáäî íìòúä  -E  --ignore-tab-expansion"
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
+#~ msgstr ".<bug-gnu-utils@gnu.org> úáåúëì úåì÷ú ìò íéçååéã çåìùì àð"
 
-#, fuzzy
 #~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr ""
-#~ "                .íéçååø úåîëá íéìãáäî íìòúä  -b  --ignore-space-change"
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "                .øçà ïáì çèùå íéçååøî íìòúä  -W  --ignore-all-space"
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
+#~ "Written by Paul Eggert, Mike Haertel, David Hayes,\n"
+#~ "Richard Stallman, and Len Tower."
 #~ msgstr ""
-#~ "            .úå÷éø íäéúåøåùù íééåðéùî íìòúä  -B  --ignore-blank-lines"
+#~ "                        ,David Hayes ,Mike Haertel ,Paul Eggert é\"ò "
+#~ "áúëð\n"
+#~ "                                             .Len Tower-å ,Richard "
+#~ "Stallman"
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr ""
-#~ "              .èì÷ úøåù ìë óåñî CR éååú ÷ìñ      --strip-trailing-cr"
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "ïùåéî åðéäù `-%ld' íå÷îá `-%c %ld'-á ùîúùäì õìîåî"
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "                .èñ÷è éöá÷áë íéöá÷ä ìëá ìôè  -a  --text"
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "ïùåéî åðéäù `-%ld'-á ùîúùäì àì õìîåî"
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1448,10 +1461,6 @@ msgstr ""
 #~ "        .RE úéðáúì äîéàúîù äðåøçà äøåù äàøä  -F RE  --show-function-"
 #~ "line=RE"
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "             .ed êøåò øåáò úåàøåä úîéùø ÷ôä  -e  --ed"
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1463,31 +1472,11 @@ msgstr ""
 #~ "         .úéìàîùä úà ÷ø âöä ,úåäæ úåøåùä íà      --left-column\n"
 #~ "                    .úåäæ úåøåù ììë âéöú ìà      --suppress-common-lines"
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "                .èìôá íéçååøì TAB éååú êåôä  -t  --expand-tabs"
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr "             .äøåùä éðôì TAB \"ò íé-TAB øùé  -T  --initial-tab"
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr "                  .(8 ç\"îøá) úåãåîò NUM ìë Tab  --tabsize=NUM"
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "            .íééåðéùä úöåá÷ úà ïéè÷äì ìãúùä  -d  --minimal"
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "  .íé÷çåøîå íéðè÷ íééåðéùå íéìåãâ íéöá÷ çðä      --speed-large-files"
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr "                .íéè÷éìôðå÷ ïîñ ,íééåðéùä ìë úà âöä  -A  --show-all"
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "                      .íúåà ïîñå íéôôåç íééåðéù âöä  -X"
 
@@ -1499,89 +1488,6 @@ msgstr ""
 #~ "                      .õáå÷ä íù íå÷îá LABEL-á ùîúùä  -L LABEL  --"
 #~ "label=LABEL"
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr ""
-#~ "                 .íéöá÷ úàåùäì PROGRAM úéðëúá ùîúùä  --diff-"
-#~ "program=PROGRAM"
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "                .øçà ïáì çèùå íéçååøî íìòúä  -W  --ignore-all-space"
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ".äøåùì (130 ç\"îøá) íéååú NUM øúåéä ìëì âöä  -w NUM  --width=NUM"
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "         .úéìàîùä úà ÷ø âöä ,úåäæ úåøåùä íà  -l  --left-column"
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "  .íé÷çåøîå íéðè÷ íééåðéùå íéìåãâ íéöá÷ çðä      --speed-large-files"
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "äàéø÷á äì÷ú"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "äáéúëá äì÷ú"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "äàéø÷á äì÷ú"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "äàéø÷á äì÷ú"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "äáéúëá äì÷ú"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "äáéúëá äì÷ú"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: é÷åç-éúìá ïééôàî -- %c\n"
-
-#~ msgid ""
-#~ "This program comes with NO WARRANTY, to the extent permitted by law.\n"
-#~ "You may redistribute copies of this program\n"
-#~ "under the terms of the GNU General Public License.\n"
-#~ "For more information about these matters, see the files named COPYING."
-#~ msgstr ""
-#~ "      .úàæ øéúî ÷åçäù äîë ãò ,àåäùìë úåéøçà áúëá äååìî äðéà åæ úéðëåú\n"
-#~ ".GNU General Public License ïåéùøä éàðúì íàúäá åæ úéðëåú õéôäì íëúåëæ\n"
-#~ "                      .COPYING åîùù õáå÷á åðééò ,åìà íéðéðòá èåøéô øúéì"
-
-#~ msgid "Written by Torbjorn Granlund and David MacKenzie."
-#~ msgstr ".David MacKenzie-å Torbjorn Granlund é\"ò áúëð"
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr ".<bug-gnu-utils@gnu.org> úáåúëì úåì÷ú ìò íéçååéã çåìùì àð"
-
-#~ msgid ""
-#~ "Written by Paul Eggert, Mike Haertel, David Hayes,\n"
-#~ "Richard Stallman, and Len Tower."
-#~ msgstr ""
-#~ "                        ,David Hayes ,Mike Haertel ,Paul Eggert é\"ò "
-#~ "áúëð\n"
-#~ "                                             .Len Tower-å ,Richard "
-#~ "Stallman"
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "ïùåéî åðéäù `-%ld' íå÷îá `-%c %ld'-á ùîúùäì õìîåî"
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "ïùåéî åðéäù `-%ld'-á ùîúùäì àì õìîåî"
-
 #~ msgid "subsidiary program `%s' failed"
 #~ msgstr "`%s' úéðëú-úú úöøäá ïåìùë"
 
diff --git a/po/hr.gmo b/po/hr.gmo
new file mode 100644 (file)
index 0000000..f395359
Binary files /dev/null and b/po/hr.gmo differ
diff --git a/po/hr.po b/po/hr.po
new file mode 100644 (file)
index 0000000..b92cbb8
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,1307 @@
+# Translation of diffutils to Croatian.
+# Copyright © 2012 Free Software Foundation, Inc.
+# This file is distributed under the same license as the diffutils package.
+# Tomislav Krznar <tomislav.krznar@gmail.com>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU diffutils 3.3-pre1\n"
+"Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
+"PO-Revision-Date: 2012-12-21 00:37+0100\n"
+"Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
+"Language-Team: Croatian <lokalizacija@linux.hr>\n"
+"Language: hr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Gtranslator 2.91.5\n"
+
+#: lib/c-stack.c:204 lib/c-stack.c:297
+msgid "program error"
+msgstr "programska greška"
+
+#: lib/c-stack.c:205 lib/c-stack.c:298
+msgid "stack overflow"
+msgstr "preljev stoga"
+
+#: lib/error.c:188
+msgid "Unknown system error"
+msgstr "Nepoznata greška sustava"
+
+#: lib/file-type.c:38
+msgid "regular empty file"
+msgstr "obična prazna datoteka"
+
+#: lib/file-type.c:38
+msgid "regular file"
+msgstr "obična datoteka"
+
+#: lib/file-type.c:41
+msgid "directory"
+msgstr "direktorij"
+
+#: lib/file-type.c:44
+msgid "block special file"
+msgstr "posebna blokovska datoteka"
+
+#: lib/file-type.c:47
+msgid "character special file"
+msgstr "posebna znakovna datoteka"
+
+#: lib/file-type.c:50
+msgid "fifo"
+msgstr "fifo"
+
+#: lib/file-type.c:53
+msgid "symbolic link"
+msgstr "simbolička veza"
+
+#: lib/file-type.c:56
+msgid "socket"
+msgstr "utičnica"
+
+#: lib/file-type.c:59
+msgid "message queue"
+msgstr "red poruka"
+
+#: lib/file-type.c:62
+msgid "semaphore"
+msgstr "semafor"
+
+#: lib/file-type.c:65
+msgid "shared memory object"
+msgstr "dijeljeni memorijski objekt"
+
+#: lib/file-type.c:68
+msgid "typed memory object"
+msgstr "tipizirani memorijski objekt"
+
+#: lib/file-type.c:70
+msgid "weird file"
+msgstr "čudna datoteka"
+
+#: lib/getopt.c:547 lib/getopt.c:576
+#, c-format
+msgid "%s: option '%s' is ambiguous; possibilities:"
+msgstr "%s: opcija „%s” je višeznačna, mogućnosti:"
+
+#: lib/getopt.c:624 lib/getopt.c:628
+#, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: opcija „--%s” ne dozvoljava argument\n"
+
+#: lib/getopt.c:637 lib/getopt.c:642
+#, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: opcija „%c%s” ne dozvoljava argument\n"
+
+#: lib/getopt.c:685 lib/getopt.c:704
+#, c-format
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: opcija „--%s” zahtijeva argument\n"
+
+#: lib/getopt.c:742 lib/getopt.c:745
+#, c-format
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: neprepoznata opcija „--%s”\n"
+
+#: lib/getopt.c:753 lib/getopt.c:756
+#, c-format
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: neprepoznata opcija „%c%s”\n"
+
+#: lib/getopt.c:805 lib/getopt.c:808
+#, c-format
+msgid "%s: invalid option -- '%c'\n"
+msgstr "%s: neispravna opcija -- „%c”\n"
+
+#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
+#, c-format
+msgid "%s: option requires an argument -- '%c'\n"
+msgstr "%s: opcija zahtijeva argument -- „%c”\n"
+
+#: lib/getopt.c:934 lib/getopt.c:950
+#, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: opcija „-W %s” je višeznačna\n"
+
+#: lib/getopt.c:974 lib/getopt.c:992
+#, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: opcija „-W %s” ne dozvoljava argument\n"
+
+#: lib/getopt.c:1013 lib/getopt.c:1031
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: opcija „-W %s” zahtijeva argument\n"
+
+#. TRANSLATORS:
+#. Get translations for open and closing quotation marks.
+#. The message catalog should translate "`" to a left
+#. quotation mark suitable for the locale, and similarly for
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
+#.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
+#.
+#. If you don't know what to put here, please see
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
+#. and use glyphs suitable for your language.
+#: lib/quotearg.c:312
+msgid "`"
+msgstr "„"
+
+#: lib/quotearg.c:313
+msgid "'"
+msgstr "”"
+
+#: lib/regcomp.c:131
+msgid "Success"
+msgstr "Uspjeh"
+
+#: lib/regcomp.c:134
+msgid "No match"
+msgstr "Nema poklapanja"
+
+#: lib/regcomp.c:137
+msgid "Invalid regular expression"
+msgstr "Neispravan regularni izraz"
+
+#: lib/regcomp.c:140
+msgid "Invalid collation character"
+msgstr "Neispravan znak razvrstavanja"
+
+#: lib/regcomp.c:143
+msgid "Invalid character class name"
+msgstr "Neispravno ime razreda znakova"
+
+#: lib/regcomp.c:146
+msgid "Trailing backslash"
+msgstr "Obrnuta kosa crta na kraju"
+
+#: lib/regcomp.c:149
+msgid "Invalid back reference"
+msgstr "Neispravna povratna referenca"
+
+#: lib/regcomp.c:152
+msgid "Unmatched [ or [^"
+msgstr "Neuparena [ ili [^"
+
+#: lib/regcomp.c:155
+msgid "Unmatched ( or \\("
+msgstr "Neuparena ( ili \\("
+
+#: lib/regcomp.c:158
+msgid "Unmatched \\{"
+msgstr "Neuparena \\{"
+
+#: lib/regcomp.c:161
+msgid "Invalid content of \\{\\}"
+msgstr "Neispravan sadržaj \\{\\}"
+
+#: lib/regcomp.c:164
+msgid "Invalid range end"
+msgstr "Neispravan kraj raspona"
+
+#: lib/regcomp.c:167
+msgid "Memory exhausted"
+msgstr "Memorija iscrpljena"
+
+#: lib/regcomp.c:170
+msgid "Invalid preceding regular expression"
+msgstr "Neispravan prethodni regularni izraz"
+
+#: lib/regcomp.c:173
+msgid "Premature end of regular expression"
+msgstr "Preuranjen kraj regularnog izraza"
+
+#: lib/regcomp.c:176
+msgid "Regular expression too big"
+msgstr "Regularni izraz je prevelik"
+
+#: lib/regcomp.c:179
+msgid "Unmatched ) or \\)"
+msgstr "Neuparena ) ili \\)"
+
+#: lib/regcomp.c:704
+msgid "No previous regular expression"
+msgstr "Nedostaje prethodni regularni izraz"
+
+#: lib/xalloc-die.c:34
+msgid "memory exhausted"
+msgstr "memorija iscrpljena"
+
+#: lib/xfreopen.c:35
+msgid "stdin"
+msgstr "standardni ulaz"
+
+#: lib/xfreopen.c:36
+msgid "stdout"
+msgstr "standardni izlaz"
+
+#: lib/xfreopen.c:37
+msgid "stderr"
+msgstr "standardni izlaz za greške"
+
+#: lib/xfreopen.c:38
+msgid "unknown stream"
+msgstr "nepoznat tok podataka"
+
+#: lib/xfreopen.c:39
+#, c-format
+msgid "failed to reopen %s with mode %s"
+msgstr "nisam uspio ponovo otvoriti %s s modom %s"
+
+#: lib/xstrtol-error.c:63
+#, c-format
+msgid "invalid %s%s argument '%s'"
+msgstr "neispravan %s%s argument „%s”"
+
+#: lib/xstrtol-error.c:68
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr "neispravan sufiks u %s%s argumentu „%s”"
+
+#: lib/xstrtol-error.c:72
+#, c-format
+msgid "%s%s argument '%s' too large"
+msgstr "%s%s argument „%s” je prevelik"
+
+#: lib/version-etc.c:74
+#, c-format
+msgid "Packaged by %s (%s)\n"
+msgstr "Pakirao %s (%s)\n"
+
+#: lib/version-etc.c:77
+#, c-format
+msgid "Packaged by %s\n"
+msgstr "Pakirao %s\n"
+
+#. TRANSLATORS: Translate "(C)" to the copyright symbol
+#. (C-in-a-circle), if this symbol is available in the user's
+#. locale.  Otherwise, do not translate "(C)"; leave it as-is.
+#: lib/version-etc.c:84
+msgid "(C)"
+msgstr "©"
+
+#: lib/version-etc.c:86
+msgid ""
+"\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
+"html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+"\n"
+msgstr ""
+"\n"
+"Licenca GPLv3+: GNU GPL inačica 3 ili novija <http://gnu.org/licenses/gpl."
+"html>.\n"
+"Ovo je slobodan softver: slobodno ga smijete mijenjati i dijeliti.\n"
+"NEMA JAMSTAVA, do krajnje mjere dozvoljene zakonom.\n"
+"\n"
+
+#. TRANSLATORS: %s denotes an author name.
+#: lib/version-etc.c:102
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Napisao %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#: lib/version-etc.c:106
+#, c-format
+msgid "Written by %s and %s.\n"
+msgstr "Napisali %s i %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#: lib/version-etc.c:110
+#, c-format
+msgid "Written by %s, %s, and %s.\n"
+msgstr "Napisali %s, %s i %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:117
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"and %s.\n"
+msgstr ""
+"Napisali %s, %s, %s\n"
+"i %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:124
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, and %s.\n"
+msgstr ""
+"Napisali %s, %s, %s,\n"
+"%s i %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:131
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, and %s.\n"
+msgstr ""
+"Napisali %s, %s, %s,\n"
+"%s, %s i %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:139
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, and %s.\n"
+msgstr ""
+"Napisali %s, %s, %s,\n"
+"%s, %s, %s i %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:147
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"and %s.\n"
+msgstr ""
+"Napisali %s, %s, %s,\n"
+"%s, %s, %s, %s\n"
+"i %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:156
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, and %s.\n"
+msgstr ""
+"Napisali %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s i %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: lib/version-etc.c:167
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s, and others.\n"
+msgstr ""
+"Napisali %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s i ostali.\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package.  Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: lib/version-etc.c:245
+#, c-format
+msgid ""
+"\n"
+"Report bugs to: %s\n"
+msgstr ""
+"\n"
+"Prijavite greške na %s.\n"
+"Prijavite greške prijevoda na <lokalizacija@linux.hr>.\n"
+
+#: lib/version-etc.c:247
+#, c-format
+msgid "Report %s bugs to: %s\n"
+msgstr "Prijavite %s greške na %s\n"
+
+#: lib/version-etc.c:251
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s početna stranica: <%s>\n"
+
+#: lib/version-etc.c:253
+#, c-format
+msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+msgstr "%s početna stranica: <http://www.gnu.org/software/%s/>\n"
+
+#: lib/version-etc.c:256
+msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+msgstr ""
+"Općenita pomoć za korištenje GNU softvera: <http://www.gnu.org/gethelp/>\n"
+
+#: src/analyze.c:459 src/diff.c:1343
+#, c-format
+msgid "Files %s and %s differ\n"
+msgstr "Datoteke %s i %s se razlikuju\n"
+
+#: src/analyze.c:462
+#, c-format
+msgid "Binary files %s and %s differ\n"
+msgstr "Binarne datoteke %s i %s se razlikuju\n"
+
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
+msgid "No newline at end of file"
+msgstr "Nema novog retka na kraju datoteke"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cmp.c:43
+msgid "Torbjorn Granlund"
+msgstr "Torbjorn Granlund"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/cmp.c:44
+msgid "David MacKenzie"
+msgstr "David MacKenzie"
+
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, c-format
+msgid "Try '%s --help' for more information."
+msgstr "Pokušajte „%s --help” za više informacija."
+
+#: src/cmp.c:137
+#, c-format
+msgid "invalid --ignore-initial value '%s'"
+msgstr "neispravna --ignore-initial vrijednost „%s”"
+
+#: src/cmp.c:147
+#, c-format
+msgid "options -l and -s are incompatible"
+msgstr "opcije -l i -s nisu kompatibilne"
+
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
+msgid "write failed"
+msgstr "pisanje nije uspjelo"
+
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
+msgid "standard output"
+msgstr "standardni izlaz"
+
+#: src/cmp.c:161
+msgid "-b, --print-bytes          print differing bytes"
+msgstr "-b, --print-bytes          ispiši bajtove koji se razlikuju"
+
+#: src/cmp.c:162
+msgid "-i, --ignore-initial=SKIP         skip first SKIP bytes of both inputs"
+msgstr ""
+"-i, --ignore-initial=BROJ         preskoči prvih BROJ bajtova oba ulaza"
+
+#: src/cmp.c:163
+msgid ""
+"-i, --ignore-initial=SKIP1:SKIP2  skip first SKIP1 bytes of FILE1 and\n"
+"                                      first SKIP2 bytes of FILE2"
+msgstr ""
+"-i, --ignore-initial=BROJ1:BROJ2  preskoči prvih BROJ1 bajtova DATOTEKE1\n"
+"                                      i prvih BROJ2 bajtova DATOTEKE2"
+
+#: src/cmp.c:165
+msgid ""
+"-l, --verbose              output byte numbers and differing byte values"
+msgstr ""
+"-l, --verbose              ispiši brojeve i vrijednosti bajtova koji se "
+"razlikuju"
+
+#: src/cmp.c:166
+msgid "-n, --bytes=LIMIT          compare at most LIMIT bytes"
+msgstr "-n, --bytes=BROJ           usporedi najviše BROJ bajtova"
+
+#: src/cmp.c:167
+msgid "-s, --quiet, --silent      suppress all normal output"
+msgstr "-s, --quiet, --silent      izostavi sav normalan izlaz"
+
+#: src/cmp.c:168
+msgid "    --help                 display this help and exit"
+msgstr "    --help                 prikaži ovu pomoć i izađi"
+
+#: src/cmp.c:169
+msgid "-v, --version              output version information and exit"
+msgstr "-v, --version              ispiši informacije o inačici i izađi"
+
+#: src/cmp.c:178
+#, c-format
+msgid "Usage: %s [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]\n"
+msgstr "Uporaba: %s [OPCIJA]... DATOTEKA1 [DATOTEKA2 [BROJ1 [BROJ2]]]\n"
+
+#: src/cmp.c:180
+msgid "Compare two files byte by byte."
+msgstr "Usporedi dvije datoteke bajt po bajt."
+
+#: src/cmp.c:182
+msgid ""
+"The optional SKIP1 and SKIP2 specify the number of bytes to skip\n"
+"at the beginning of each file (zero by default)."
+msgstr ""
+
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
+msgid ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+"Obavezni argumenti dugačkih opcija također su obavezni i za kratke opcije.\n"
+
+#: src/cmp.c:191
+msgid ""
+"SKIP values may be followed by the following multiplicative suffixes:\n"
+"kB 1000, K 1024, MB 1,000,000, M 1,048,576,\n"
+"GB 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y."
+msgstr ""
+
+#: src/cmp.c:194
+msgid "If a FILE is '-' or missing, read standard input."
+msgstr "Ako DATOTEKA nije navedena ili je „-”, čitaj standardni ulaz."
+
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
+msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
+msgstr ""
+"Izlazno stanje je 0 ako su ulazi jednaki, 1 ako se razlikuju, 2 u slučaju "
+"greške."
+
+#: src/cmp.c:240
+#, c-format
+msgid "invalid --bytes value '%s'"
+msgstr "neispravna --bytes vrijednost „%s”"
+
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, c-format
+msgid "missing operand after '%s'"
+msgstr "nedostaje operand nakon „%s”"
+
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, c-format
+msgid "extra operand '%s'"
+msgstr "operand viška „%s”"
+
+#: src/cmp.c:491
+#, c-format
+msgid "%s %s differ: byte %s, line %s\n"
+msgstr ""
+
+#: src/cmp.c:507
+#, c-format
+msgid "%s %s differ: byte %s, line %s is %3o %s %3o %s\n"
+msgstr ""
+
+#: src/cmp.c:559
+#, c-format
+msgid "cmp: EOF on %s\n"
+msgstr ""
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/diff.c:49
+msgid "Paul Eggert"
+msgstr "Paul Eggert"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/diff.c:50
+msgid "Mike Haertel"
+msgstr "Mike Haertel"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/diff.c:51
+msgid "David Hayes"
+msgstr "David Hayes"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/diff.c:52
+msgid "Richard Stallman"
+msgstr "Richard Stallman"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/diff.c:53
+msgid "Len Tower"
+msgstr "Len Tower"
+
+#: src/diff.c:339
+#, c-format
+msgid "invalid context length '%s'"
+msgstr "neispravna duljina sadržaja „%s”"
+
+#: src/diff.c:422
+#, c-format
+msgid "pagination not supported on this host"
+msgstr "straničenje nije podržano na ovom računalu"
+
+#: src/diff.c:437 src/diff3.c:300
+#, c-format
+msgid "too many file label options"
+msgstr "previše opcija oznaka datoteka"
+
+#: src/diff.c:514
+#, c-format
+msgid "invalid width '%s'"
+msgstr "neispravna širina „%s”"
+
+#: src/diff.c:518
+msgid "conflicting width options"
+msgstr "konfliktne opcije širine"
+
+#: src/diff.c:543
+#, c-format
+msgid "invalid horizon length '%s'"
+msgstr "neispravna duljina sadržaja „%s”"
+
+#: src/diff.c:598
+#, c-format
+msgid "invalid tabsize '%s'"
+msgstr "neispravna širina „%s”"
+
+#: src/diff.c:602
+msgid "conflicting tabsize options"
+msgstr "konfliktne opcije širine"
+
+#: src/diff.c:734
+msgid "--from-file and --to-file both specified"
+msgstr ""
+
+#: src/diff.c:854
+msgid "    --normal                  output a normal diff (the default)"
+msgstr "    --normal                  ispiši normalnu razliku (zadano)"
+
+#: src/diff.c:855
+msgid "-q, --brief                   report only when files differ"
+msgstr "-q, --brief                   izvještaj samo kad se datoteke razlikuju"
+
+#: src/diff.c:856
+msgid "-s, --report-identical-files  report when two files are the same"
+msgstr "-s, --report-identical-files  izvještaj samo kad su datoteke jednake"
+
+#: src/diff.c:857
+msgid ""
+"-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
+msgstr ""
+
+#: src/diff.c:858
+msgid ""
+"-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
+msgstr ""
+
+#: src/diff.c:859
+msgid "-e, --ed                      output an ed script"
+msgstr "-e, --ed                      ispiši ed skriptu"
+
+#: src/diff.c:860
+msgid "-n, --rcs                     output an RCS format diff"
+msgstr "-n, --rcs                     ispiši razliku u RCS obliku"
+
+#: src/diff.c:861
+msgid "-y, --side-by-side            output in two columns"
+msgstr "-y, --side-by-side            ispiši u dva stupca"
+
+#: src/diff.c:862
+msgid ""
+"-W, --width=NUM               output at most NUM (default 130) print columns"
+msgstr ""
+
+#: src/diff.c:863
+msgid ""
+"    --left-column             output only the left column of common lines"
+msgstr ""
+
+#: src/diff.c:864
+msgid "    --suppress-common-lines   do not output common lines"
+msgstr ""
+
+#: src/diff.c:866
+msgid "-p, --show-c-function         show which C function each change is in"
+msgstr ""
+
+#: src/diff.c:867
+msgid "-F, --show-function-line=RE   show the most recent line matching RE"
+msgstr ""
+
+#: src/diff.c:868
+msgid ""
+"    --label LABEL             use LABEL instead of file name\n"
+"                                (can be repeated)"
+msgstr ""
+
+#: src/diff.c:871
+msgid "-t, --expand-tabs             expand tabs to spaces in output"
+msgstr "-t, --expand-tabs             pretvori tabulatore u praznine u izlazu"
+
+#: src/diff.c:872
+msgid "-T, --initial-tab             make tabs line up by prepending a tab"
+msgstr ""
+
+#: src/diff.c:873
+msgid ""
+"    --tabsize=NUM             tab stops every NUM (default 8) print columns"
+msgstr ""
+
+#: src/diff.c:874
+msgid ""
+"    --suppress-blank-empty    suppress space or tab before empty output lines"
+msgstr ""
+
+#: src/diff.c:875
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
+msgstr ""
+
+#: src/diff.c:877
+msgid ""
+"-r, --recursive                 recursively compare any subdirectories found"
+msgstr ""
+
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr "    --no-dereference            ne slijedi simboličke veze"
+
+#: src/diff.c:879
+msgid "-N, --new-file                  treat absent files as empty"
+msgstr ""
+"-N, --new-file                  postupaj s odsutnim datotekama kao s praznim"
+
+#: src/diff.c:880
+msgid "    --unidirectional-new-file   treat absent first files as empty"
+msgstr ""
+
+#: src/diff.c:881
+msgid "    --ignore-file-name-case     ignore case when comparing file names"
+msgstr ""
+"    --ignore-file-name-case     zanemari veličinu slova pri uspoređivanju "
+"imena datoteka"
+
+#: src/diff.c:882
+msgid "    --no-ignore-file-name-case  consider case when comparing file names"
+msgstr ""
+"    --no-ignore-file-name-case  ne zanemaruj veličinu slova pri "
+"uspoređivanju imena datoteka"
+
+#: src/diff.c:883
+msgid "-x, --exclude=PAT               exclude files that match PAT"
+msgstr ""
+
+#: src/diff.c:884
+msgid ""
+"-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
+msgstr ""
+
+#: src/diff.c:885
+msgid ""
+"-S, --starting-file=FILE        start with FILE when comparing directories"
+msgstr ""
+
+#: src/diff.c:886
+msgid ""
+"    --from-file=FILE1           compare FILE1 to all operands;\n"
+"                                  FILE1 can be a directory"
+msgstr ""
+
+#: src/diff.c:888
+msgid ""
+"    --to-file=FILE2             compare all operands to FILE2;\n"
+"                                  FILE2 can be a directory"
+msgstr ""
+
+#: src/diff.c:891
+msgid ""
+"-i, --ignore-case               ignore case differences in file contents"
+msgstr ""
+
+#: src/diff.c:892
+msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
+msgstr ""
+
+#: src/diff.c:893
+msgid "-Z, --ignore-trailing-space     ignore white space at line end"
+msgstr ""
+
+#: src/diff.c:894
+msgid ""
+"-b, --ignore-space-change       ignore changes in the amount of white space"
+msgstr ""
+
+#: src/diff.c:895
+msgid "-w, --ignore-all-space          ignore all white space"
+msgstr ""
+
+#: src/diff.c:896
+msgid ""
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
+msgstr ""
+
+#: src/diff.c:897
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
+msgstr ""
+
+#: src/diff.c:899
+msgid "-a, --text                      treat all files as text"
+msgstr ""
+"-a, --text                      postupaj sa svim datotekama kao s tekstualnim"
+
+#: src/diff.c:900
+msgid "    --strip-trailing-cr         strip trailing carriage return on input"
+msgstr ""
+
+#: src/diff.c:902
+msgid "    --binary                    read and write data in binary mode"
+msgstr "    --binary                    čitaj i piši podatke u binarnom načinu"
+
+#: src/diff.c:905
+msgid ""
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
+msgstr ""
+
+#: src/diff.c:906
+msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
+msgstr ""
+
+#: src/diff.c:907
+msgid "    --line-format=LFMT          format all input lines with LFMT"
+msgstr ""
+
+#: src/diff.c:908
+msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
+msgstr ""
+
+#: src/diff.c:909
+msgid ""
+"  These format options provide fine-grained control over the output\n"
+"    of diff, generalizing -D/--ifdef."
+msgstr ""
+
+#: src/diff.c:911
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
+msgstr ""
+
+#: src/diff.c:912
+msgid ""
+"  GFMT (only) may contain:\n"
+"    %<  lines from FILE1\n"
+"    %>  lines from FILE2\n"
+"    %=  lines common to FILE1 and FILE2\n"
+"    %[-][WIDTH][.[PREC]]{doxX}LETTER  printf-style spec for LETTER\n"
+"      LETTERs are as follows for new group, lower case for old group:\n"
+"        F  first line number\n"
+"        L  last line number\n"
+"        N  number of lines = L-F+1\n"
+"        E  F-1\n"
+"        M  L+1\n"
+"    %(A=B?T:E)  if A equals B then T else E"
+msgstr ""
+
+#: src/diff.c:924
+msgid ""
+"  LFMT (only) may contain:\n"
+"    %L  contents of line\n"
+"    %l  contents of line, excluding any trailing newline\n"
+"    %[-][WIDTH][.[PREC]]{doxX}n  printf-style spec for input line number"
+msgstr ""
+
+#: src/diff.c:928
+msgid ""
+"  Both GFMT and LFMT may contain:\n"
+"    %%  %\n"
+"    %c'C'  the single character C\n"
+"    %c'\\OOO'  the character with octal code OOO\n"
+"    C    the character C (other characters represent themselves)"
+msgstr ""
+
+#: src/diff.c:934
+msgid "-d, --minimal            try hard to find a smaller set of changes"
+msgstr ""
+
+#: src/diff.c:935
+msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
+msgstr ""
+
+#: src/diff.c:936
+msgid ""
+"    --speed-large-files  assume large files and many scattered small changes"
+msgstr ""
+
+#: src/diff.c:938
+msgid "    --help               display this help and exit"
+msgstr "    --help               prikaži ovu pomoć i izađi"
+
+#: src/diff.c:939
+msgid "-v, --version            output version information and exit"
+msgstr "-v, --version            ispiši informacije o inačici i izađi"
+
+#: src/diff.c:941
+msgid ""
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
+msgstr ""
+"DATOTEKE su „DATOTEKA1 DATOTEKA2”, „DIR1 DIR2”, „DIR DATOTEKA...” ili "
+"„DATOTEKA... DIR”."
+
+#: src/diff.c:942
+msgid ""
+"If --from-file or --to-file is given, there are no restrictions on FILE(s)."
+msgstr ""
+
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+msgid "If a FILE is '-', read standard input."
+msgstr "Ako je DATOTEKA „-”, čitaj standardni ulaz."
+
+#: src/diff.c:953
+#, c-format
+msgid "Usage: %s [OPTION]... FILES\n"
+msgstr "Uporaba: %s [OPCIJA]... DATOTEKE\n"
+
+#: src/diff.c:954
+msgid "Compare FILES line by line."
+msgstr "Usporedi DATOTEKE redak po redak."
+
+# Ovdje trebam zamijeniti poredak... Pogledati kako se to radi.
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
+msgstr "konfliktna vrijednost „%s” opcije „%s”"
+
+# Notes:
+# Add Note
+#
+# Format:
+# C
+#: src/diff.c:1001
+#, c-format
+msgid "conflicting output style options"
+msgstr "konfliktne opcije izlaznog stila"
+
+#: src/diff.c:1058 src/diff.c:1268
+#, c-format
+msgid "Only in %s: %s\n"
+msgstr "Samo u %s: %s\n"
+
+#: src/diff.c:1192
+msgid "cannot compare '-' to a directory"
+msgstr "ne mogu usporediti „-” s direktorijem"
+
+#: src/diff.c:1227
+msgid "-D option not supported with directories"
+msgstr "opcija -D nije podržana s direktorijima"
+
+#: src/diff.c:1236
+#, c-format
+msgid "Common subdirectories: %s and %s\n"
+msgstr "Uobičajeni poddirektoriji: %s i %s\n"
+
+#: src/diff.c:1278 src/diff.c:1328
+#, c-format
+msgid "File %s is a %s while file %s is a %s\n"
+msgstr "Datoteka %s je %s, a datoteka %s je %s\n"
+
+#: src/diff.c:1314
+#, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Simboličke veze %s i %s se razlikuju\n"
+
+#: src/diff.c:1399
+#, c-format
+msgid "Files %s and %s are identical\n"
+msgstr "Datoteke %s i %s su identične\n"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/diff3.c:41
+msgid "Randy Smith"
+msgstr "Randy Smith"
+
+#: src/diff3.c:313
+#, c-format
+msgid "incompatible options"
+msgstr "nekompatibilne opcije"
+
+#: src/diff3.c:353
+msgid "'-' specified for more than one input file"
+msgstr "„-” je navedeno za više od jedne ulazne datoteke"
+
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
+msgid "read failed"
+msgstr "čitanje nije uspjelo"
+
+#: src/diff3.c:428
+msgid "-A, --show-all              output all changes, bracketing conflicts"
+msgstr ""
+
+#: src/diff3.c:430
+msgid ""
+"-e, --ed                    output ed script incorporating changes\n"
+"                                from OLDFILE to YOURFILE into MYFILE"
+msgstr ""
+
+#: src/diff3.c:432
+msgid "-E, --show-overlap          like -e, but bracket conflicts"
+msgstr ""
+
+#: src/diff3.c:433
+msgid ""
+"-3, --easy-only             like -e, but incorporate only nonoverlapping "
+"changes"
+msgstr ""
+
+#: src/diff3.c:434
+msgid ""
+"-x, --overlap-only          like -e, but incorporate only overlapping changes"
+msgstr ""
+
+#: src/diff3.c:435
+msgid "-X                          like -x, but bracket conflicts"
+msgstr ""
+
+#: src/diff3.c:436
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
+msgstr ""
+
+#: src/diff3.c:438
+msgid ""
+"-m, --merge                 output actual merged file, according to\n"
+"                                -A if no other options are given"
+msgstr ""
+
+#: src/diff3.c:441
+msgid "-a, --text                  treat all files as text"
+msgstr ""
+"-a, --text                  postupaj sa svim datotekama kao s tekstualnim"
+
+#: src/diff3.c:442
+msgid "    --strip-trailing-cr     strip trailing carriage return on input"
+msgstr ""
+
+#: src/diff3.c:443
+msgid "-T, --initial-tab           make tabs line up by prepending a tab"
+msgstr ""
+
+#: src/diff3.c:444
+msgid "    --diff-program=PROGRAM  use PROGRAM to compare files"
+msgstr ""
+
+#: src/diff3.c:445
+msgid ""
+"-L, --label=LABEL           use LABEL instead of file name\n"
+"                                (can be repeated up to three times)"
+msgstr ""
+
+#: src/diff3.c:448
+msgid "    --help                  display this help and exit"
+msgstr "    --help                  prikaži ovu pomoć i izađi"
+
+#: src/diff3.c:449
+msgid "-v, --version               output version information and exit"
+msgstr "-v, --version               ispiši informacije o inačici i izađi"
+
+#: src/diff3.c:458
+#, c-format
+msgid "Usage: %s [OPTION]... MYFILE OLDFILE YOURFILE\n"
+msgstr ""
+
+#: src/diff3.c:460
+msgid "Compare three files line by line."
+msgstr "Usporedi tri datoteke redak po redak."
+
+#: src/diff3.c:470
+msgid ""
+"\n"
+"The default output format is a somewhat human-readable representation of\n"
+"the changes.\n"
+"\n"
+"The -e, -E, -x, -X (and corresponding long) options cause an ed script\n"
+"to be output instead of the default.\n"
+"\n"
+"Finally, the -m (--merge) option causes diff3 to do the merge internally\n"
+"and output the actual merged file.  For unusual input, this is more\n"
+"robust than using ed.\n"
+msgstr ""
+
+#: src/diff3.c:482
+msgid "Exit status is 0 if successful, 1 if conflicts, 2 if trouble."
+msgstr "Izlazno stanje je 0 za uspjeh, 1 za neuspjeh, 2 u slučaju greške."
+
+#: src/diff3.c:675
+msgid "internal error: screwup in format of diff blocks"
+msgstr ""
+
+#: src/diff3.c:968
+#, c-format
+msgid "%s: diff failed: "
+msgstr "%s: diff nije uspio: "
+
+#: src/diff3.c:990
+msgid "internal error: invalid diff type in process_diff"
+msgstr "interna greška: neispravna diff vrsta u process_diff"
+
+#: src/diff3.c:1015
+msgid "invalid diff format; invalid change separator"
+msgstr ""
+
+#: src/diff3.c:1251
+msgid "invalid diff format; incomplete last line"
+msgstr "neispravan diff oblik, nepotpun posljednji redak"
+
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, c-format
+msgid "subsidiary program '%s' could not be invoked"
+msgstr "podređeni program „%s” se ne može pozvati"
+
+#: src/diff3.c:1300
+msgid "invalid diff format; incorrect leading line chars"
+msgstr ""
+
+#: src/diff3.c:1373
+msgid "internal error: invalid diff type passed to output"
+msgstr ""
+
+#: src/diff3.c:1647 src/diff3.c:1704
+msgid "input file shrank"
+msgstr "ulazna datoteka se smanjila"
+
+#: src/dir.c:158
+#, c-format
+msgid "cannot compare file names '%s' and '%s'"
+msgstr "ne mogu usporediti imena datoteka „%s” i „%s”"
+
+#: src/dir.c:209
+#, c-format
+msgid "%s: recursive directory loop"
+msgstr "%s: rekurzivna petlja direktorija"
+
+#. This is a proper name. See the gettext manual, section Names.
+#: src/sdiff.c:42
+msgid "Thomas Lord"
+msgstr "Thomas Lord"
+
+#: src/sdiff.c:173
+msgid ""
+"-o, --output=FILE            operate interactively, sending output to FILE"
+msgstr ""
+
+#: src/sdiff.c:175
+msgid ""
+"-i, --ignore-case            consider upper- and lower-case to be the same"
+msgstr ""
+
+#: src/sdiff.c:176
+msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
+msgstr ""
+
+#: src/sdiff.c:177
+msgid "-Z, --ignore-trailing-space  ignore white space at line end"
+msgstr ""
+
+#: src/sdiff.c:178
+msgid ""
+"-b, --ignore-space-change    ignore changes in the amount of white space"
+msgstr ""
+
+#: src/sdiff.c:179
+msgid "-W, --ignore-all-space       ignore all white space"
+msgstr ""
+
+#: src/sdiff.c:180
+msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
+msgstr ""
+
+#: src/sdiff.c:181
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+
+#: src/sdiff.c:182
+msgid "    --strip-trailing-cr      strip trailing carriage return on input"
+msgstr ""
+
+#: src/sdiff.c:183
+msgid "-a, --text                   treat all files as text"
+msgstr ""
+"-a, --text                   postupaj sa svim datotekama kao s tekstualnim"
+
+#: src/sdiff.c:185
+msgid ""
+"-w, --width=NUM              output at most NUM (default 130) print columns"
+msgstr ""
+
+#: src/sdiff.c:186
+msgid ""
+"-l, --left-column            output only the left column of common lines"
+msgstr ""
+
+#: src/sdiff.c:187
+msgid "-s, --suppress-common-lines  do not output common lines"
+msgstr ""
+
+#: src/sdiff.c:189
+msgid "-t, --expand-tabs            expand tabs to spaces in output"
+msgstr "-t, --expand-tabs            pretvori tabulatore u praznine u izlazu"
+
+#: src/sdiff.c:190
+msgid ""
+"    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
+msgstr ""
+
+#: src/sdiff.c:192
+msgid "-d, --minimal                try hard to find a smaller set of changes"
+msgstr ""
+
+#: src/sdiff.c:193
+msgid ""
+"-H, --speed-large-files      assume large files, many scattered small changes"
+msgstr ""
+
+#: src/sdiff.c:194
+msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
+msgstr ""
+
+#: src/sdiff.c:196
+msgid "    --help                   display this help and exit"
+msgstr "    --help                   prikaži ovu pomoć i izađi"
+
+#: src/sdiff.c:197
+msgid "-v, --version                output version information and exit"
+msgstr "-v, --version                ispiši informacije o inačici i izađi"
+
+#: src/sdiff.c:206
+#, c-format
+msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
+msgstr "Uporaba: %s [OPCIJA]... DATOTEKA1 DATOTEKA2\n"
+
+#: src/sdiff.c:208
+msgid "Side-by-side merge of differences between FILE1 and FILE2."
+msgstr ""
+
+#: src/sdiff.c:329
+msgid "cannot interactively merge standard input"
+msgstr "ne mogu interaktivno spojiti standardni ulaz"
+
+#: src/sdiff.c:595
+msgid "both files to be compared are directories"
+msgstr "obje datoteke za usporedbu su direktoriji"
+
+#: src/sdiff.c:818
+msgid ""
+"ed:\tEdit then use both versions, each decorated with a header.\n"
+"eb:\tEdit then use both versions.\n"
+"el or e1:\tEdit then use the left version.\n"
+"er or e2:\tEdit then use the right version.\n"
+"e:\tDiscard both versions then edit a new one.\n"
+"l or 1:\tUse the left version.\n"
+"r or 2:\tUse the right version.\n"
+"s:\tSilently include common lines.\n"
+"v:\tVerbosely include common lines.\n"
+"q:\tQuit.\n"
+msgstr ""
index 1ab2f97..f0e969c 100644 (file)
Binary files a/po/hu.gmo and b/po/hu.gmo differ
index fe30b91..4aa15eb 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: diffutils 2.8.7\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2004-07-04 11:22+0100\n"
 "Last-Translator: Andras Timar <timar@fsf.hu>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -25,7 +25,7 @@ msgstr "programhiba"
 msgid "stack overflow"
 msgstr "veremtúlcsordulás"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Ismeretlen rendszerhiba"
 
@@ -138,100 +138,102 @@ msgstr "%s: a `%s' kapcsol
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Sikerült"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Nincs találat"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Érvénytelen reguláris kifejezés"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Érvénytelen collation karakter"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Érvénytelen karakterosztálynév"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Záró backslash"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Érvénytelen visszahivatkozás"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "Pár nélküli [ vagy [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "Pár nélküli ( vagy \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "Pár nélküli \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Érvénytelen tartalom a \\{\\}-ben"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Érvénytelen tartományvég"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Elfogyott a memória"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Érvénytelen volt az elõzõ reguláris kifejezés"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "A reguláris kifejezés túl hamar ért véget"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Túl nagy reguláris kifejezés"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "Pár nélküli ) vagy \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Nincs elõzõ reguláris kifejezés"
 
@@ -263,17 +265,17 @@ msgstr ""
 
 #: lib/xstrtol-error.c:63
 #, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "érvénytelen --bytes érték `%s'"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "érvénytelen munkaszinthossz `%s'"
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr ""
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr ""
 
 #: lib/version-etc.c:74
@@ -441,7 +443,7 @@ msgstr ""
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "A(z) %s és a(z) %s fájlok különböznek\n"
@@ -451,7 +453,7 @@ msgstr "A(z) %s 
 msgid "Binary files %s and %s differ\n"
 msgstr "A(z) %s és a(z) %s fájlok különböznek\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Nincs újsor a fájl végén"
 
@@ -465,14 +467,14 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr ""
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "Próbálja a `%s --help' kapcsolót további információért."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "érvénytelen --ignore-initial érték: `%s'"
 
 #: src/cmp.c:147
@@ -480,14 +482,14 @@ msgstr "
 msgid "options -l and -s are incompatible"
 msgstr "a -l és a -s kapcsolók összeférhetetlenek"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "az írás sikertelen"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "szabványos kimenet"
 
@@ -549,7 +551,7 @@ msgid ""
 "at the beginning of each file (zero by default)."
 msgstr "UGRÁS1 és UGRÁS2 byte-ot lép át az egyes fájlokban."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -565,28 +567,29 @@ msgstr ""
 "GB 1 000 000 000, G 1 073 741 824, és így tovább: T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "Ha a FÁJL a `-' vagy hiányzik, akkor a szabványos bemenetet használja."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "A kilépési állapotkód 0, ha a bemenetek azonosak; 1, ha különbözõk; 2, ha "
 "hiba történt."
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "érvénytelen --bytes érték `%s'"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "hiányzó operandus a `%s' után"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "felesleges operandus `%s'"
 
 #: src/cmp.c:491
@@ -605,212 +608,214 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: EOF %s-nél\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr ""
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "érvénytelen környezethossz `%s'"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "a tördelés nem támogatott ezen a gépen"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "túl sok fájlcímke-beállítás"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "érvénytelen szélesség `%s'"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "összeférhetlen szélességbeállítások"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "érvénytelen munkaszinthossz `%s'"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "érvénytelen tabulátorméret `%s'"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "összeférhetlen tabulátorméret-beállítások"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "a --from-file és a --to-file is meg van adva"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal  A kimenet egy normál diff."
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q  --brief  Csak akkor van kimenet, ha a fájlok eltérnek."
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files  Jelenti, ha a két fájl azonos."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
-msgstr "-w SZÁM  --width=SZÁM  Legfeljebb SZÁM széles kimenet (alapból 130)."
+msgstr ""
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr "-w SZÁM  --width=SZÁM  Legfeljebb SZÁM széles kimenet (alapból 130)."
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Az összes fájlt szövegként kezeli"
+msgstr "-e  --ed  A kimenet egy ed-parancsfájl."
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs  A kimenet RCS formátumú diff."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  A kimenet a verziószám."
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr "-w SZÁM  --width=SZÁM  Legfeljebb SZÁM széles kimenet (alapból 130)."
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr "-l  --left-column  A közös sorokat csak bal oldra írja ki."
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  Nem írja ki a közös sorokat."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr ""
 "-t  --expand-tabs  A tabulátorokat szóközzel helyettesíti a kimenetben."
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
 "-T  --initial-tab  A tabulátorok helyesen jelennek meg a kezdõ tabulátornak "
 "köszönhetõen."
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr ""
 "--tabsize=NUM  Tabulátorpozíció minden NUM. nyomtatási oszlopban (alapból 8)."
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr ""
 "-l  --paginate  A kimenet oldalainak a lapokra tördelése a`pr' programmal."
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr "-r  --recursive  Az összes alkönyvtárat megvizsgálja."
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N  --new-file  A hiányzó fájlokat üresként kezeli."
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr "--unidirectional-new-file  A hiányzó elsõ fájlokat üresként kezeli."
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
 "--ignore-file-name-case  Fájlneveknél nem tesz különbséget\n"
 "                         a kis- és nagybetûk közt."
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "--no-ignore-file-name-case  Fájlneveknél figyeli a kis- és nagybetûk\n"
 "                            közti különbséget"
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr "-x MINTA  --exclude=MINTA  Kihagyja a MINTÁ-ra illeszkedõ fájlokat."
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
@@ -818,7 +823,7 @@ msgstr ""
 "-X FÁJL  --exclude-from=FÁJL  Kihagyja a FÁJL-ban megtalálható mintákra\n"
 "                              illeszkedõ fájlokat."
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
@@ -826,7 +831,7 @@ msgstr ""
 "-S FÁJL  --starting-file=FÁJL  A FÁJL-lal kezdi a könyvtárak "
 "összehasolítását."
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -835,7 +840,7 @@ msgstr ""
 "--from-file=FÁJL1  FÁJL1 összehasonlítása minden operandussal.\n"
 "                   FÁJL1 lehet könyvtár is."
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -844,103 +849,104 @@ msgstr ""
 "--to-file=FÁJL2  Minden operandus összehasonlítása FÁJL2-vel.\n"
 "                 FÁJL2 lehet könyvtár."
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr "-i  --ignore-case  Nem tesz különbséget a kis- és nagybetûk között."
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr "-E  --ignore-tab-expansion  Nem figyeli a tab/szóköz cserét."
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-space  Nem figyel semmilyen üres helyet."
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Nem figyeli az üres helyek változtatását."
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space  Nem figyel semmilyen üres helyet."
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr "-B  --ignore-blank-lines  Figyelmen kívül hagyja az üres sorokat."
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I RK  --ignore-matching-lines=RK  Nem figyeli a RK-re illeszkedõ sorokat."
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text  Az összes fájlt szövegként kezeli"
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr ""
 "--strip-trailing-cr  A bemenetbõl elhagyja a befejezõ kocsivissza "
 "karaktereket."
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary  Olvasás és írás bináris módban."
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D NÉV--ifdef=NÉV  Kiírja az összefésült fájlt `#ifdef NÉV' direktívákkal "
 "jelölve a különbségeket."
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "--GTYPE-group-format=GFMT  Hasonló, de a GTYPE bemeneti csoportokat formázza "
 "a GFMT formátumra."
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
 "--line-format=LFMT  Hasonló, de minden bemeneti sort a LFMT formátumúra "
 "formáz."
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "--LTYPE-line-format=LFMT  Hasonló, de az LTYPE típusú bemeneti sorokat LFMT "
 "formátumúra formázza."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  az LTYPE `old', `new', vagy `unchanged'.  a GTYPE LTYPE vagy `changed'."
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -968,7 +974,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -982,7 +988,7 @@ msgstr ""
 "    %[-][WIDTH][.[PREC]]{doxX}n  bemeneti sorok számának printf-stílusú "
 "megadása"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -996,18 +1002,18 @@ msgstr ""
 "    %c'C'  egyetlen C karakter\n"
 "    %c'\\OOO'  karakter nyolcas számrendszer beli értéke"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Megpróbál kevesebb különbséget találni."
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 "--horizon-lines=SZÁM  SZÁM számú sort tart meg a közös elõ és utótagból."
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
@@ -1015,23 +1021,24 @@ msgstr ""
 "-H  --speed-large-files  Nagy fájlokat feltételez sok, elszórt, kis "
 "változással."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version  A kimenet a verziószám."
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "A FÁJLOK lehetnek `FÁJL1 FÁJL2' vagy `KÖNYVTÁR1 KÖNYVTÁR2' vagy\n"
 "`KÖNYVTÁR FÁJL...' vagy `FÁJL... KÖNYVTÁR'."
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
@@ -1039,54 +1046,61 @@ msgstr ""
 "Ha --from-file vagy --to-file meg van adva, nincsenek megszorítások a FÁJLOK-"
 "ra."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "Ha a FÁJL `-', a szabványos bemenetrõl olvas."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Használat: %s [KAPCSOLÓK]... FÁJLOK\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "Fájlok összehasonlítása sorról sorra."
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "összeférhetetlen %s kapcsoló értéke: `%s'"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "összeférhetetlen kimenetistílus-kapcsolók"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Csak %s -ben: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "`-'-t nem lehet összehasonlítani egy könyvtárral"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "-D kapcsoló nem támogatott könyvtárak esetén"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Közös alkönyvtárak: %s és %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "A(z) %s fájl egy %s, viszont a(z) %s fájl egy %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "A(z) %s és a(z) %s fájlok különböznek\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "%s és %s fájlok azonosak\n"
@@ -1102,11 +1116,12 @@ msgid "incompatible options"
 msgstr "összeférhetetlen kapcsolók"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "`-' több mint egy bemeneti fájlhoz lett megadva"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "olvasás sikertelen"
 
@@ -1145,15 +1160,12 @@ msgid ""
 msgstr "-x  --overlap-only  Kiírja az átfedõ változtatásokat."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap  Kiírja az át nem vitt változásokat, zárójelezi az "
-"ütközéseket."
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "-i  Hozzáfûzi a `w' és a`q' parancsokat az ed-parancsfájlhoz."
 
 #: src/diff3.c:438
@@ -1195,9 +1207,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Az összes fájlt szövegként kezeli"
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1250,30 +1261,30 @@ msgstr "bels
 msgid "invalid diff format; invalid change separator"
 msgstr "érvénytelen összehasonlítás-formátum; érvénytelen változáselválasztó"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "érvénytelen összehasonlítás-formátum; befejezetlen utolsó sor"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "`%s' segédprogram nem indítható"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "érvénytelen összehasonlítási formátum; rossz sor eleji karakter"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "belsõ hiba: érvénytelen összehasonlítási típus került a kimenetre"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "a bementi fájl összement"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "nem lehet a(z) `%s' és a(z) `%s' fájlneveket összehasonlítani"
 
 #: src/dir.c:209
@@ -1286,93 +1297,99 @@ msgstr ""
 msgid "Thomas Lord"
 msgstr ""
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
 "-o FÁJL  --output=FÁJL  Interaktívan dolgozik, a kimenetet a FÁJL-ba küldi."
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i  --ignore-case  A kis- és nagybetûket azonosnak tekinti."
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr "-E  --ignore-tab-expansion  Nem figyeli a tab/szóköz cserét."
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-space  Nem figyel semmilyen üres helyet."
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Nem figyeli az üres helyek változtatását."
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  Nem figyel semmilyen üres helyet."
+msgstr "-W  --ignore-all-space  Figyelmen kívül hagy minden üres helyet."
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr "-B  --ignore-blank-lines  Figyelmen kívül hagyja az üres sorokat."
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I RK  --ignore-matching-lines=RK  Nem figyeli a RK-re illeszkedõ sorokat."
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr ""
 "--strip-trailing-cr  A bemenetbõl elhagyja a befejezõ kocsivissza "
 "karaktereket."
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text  Az összes fájlt szövegként kezeli"
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr "-w SZÁM  --width=SZÁM  Legfeljebb SZÁM széles kimenet (alapból 130)."
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr "-l  --left-column  A közös sorokat csak bal oldra írja ki."
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  Nem írja ki a közös sorokat."
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr ""
 "-t  --expand-tabs  A tabulátorokat szóközzel helyettesíti a kimenetben."
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr ""
 "--tabsize=NUM  Tabulátorpozíció minden NUM. nyomtatási oszlopban (alapból 8)."
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Megpróbál kevesebb különbséget találni."
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
@@ -1380,42 +1397,41 @@ msgstr ""
 "-H  --speed-large-files  Nagy fájlokat feltételez sok, elszórt, kis "
 "változással."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr ""
 "--diff-program=PROGRAM  A PROGRAM-ot használja a fájlok\n"
 "                        összehasonlításához."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Az összes fájlt szövegként kezeli"
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version  A kimenet a verziószám."
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Használat: %s [KAPCSOLÓ]... FÁJL1 FÁJL2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Egymás mellett jeleníti a fájlokat és a különbségeiket."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "nem lehet interaktívan összefûzni a szabványos bemenetet."
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "mindkét összehasonlítandó fájl könyvtár"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 #, fuzzy
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
@@ -1440,58 +1456,45 @@ msgstr ""
 "v:\tAz azonos sorok beépítése figyelmeztetéssel.\n"
 "q:\tKilépés.\n"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: nem megengedett kapcsoló -- %c\n"
+
+#~ msgid ""
+#~ "This is free software; see the source for copying conditions.  There is "
+#~ "NO\n"
+#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
+#~ "PURPOSE.\n"
+#~ msgstr ""
+#~ "Ez szabad szoftver; a sokszorosításra vonatkozó feltételeket lásd a "
+#~ "forrásban.\n"
+#~ "SEMMILYEN garanciát nem vállalunk, még azt sem állítjuk, hogy ez a "
+#~ "program\n"
+#~ "KERESKEDELMI CÉLOKRA ALKALMAS vagy HASZNÁLHATÓ EGY ADOTT FELADATRA.\n"
+
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i UGRÁS1:UGRÁS2  --ignore-initial=UGRÁS1:UGRÁS2"
 
 #~ msgid "-s  --quiet  --silent  Output nothing; yield exit status only."
 #~ msgstr "-s  --quiet  --silent  Nincs kimenet, csak visszatérési érték."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  A kimenet a verziószám."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  Kiírja ezt a segítséget."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Három fájlt hasonlít össze sorról sorra."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr "-E  --ignore-tab-expansion  Nem figyeli a tab/szóköz cserét."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr ""
-#~ "-b  --ignore-space-change  Nem figyeli az üres helyek változtatását."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Figyelmen kívül hagy minden üres helyet."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr "-B  --ignore-blank-lines  Figyelmen kívül hagyja az üres sorokat."
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
+#~ msgstr "A hibákat <bug-gnu-utils@gnu.org> címre kérjük jelenteni."
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr ""
-#~ "--strip-trailing-cr  A bemenetbõl elhagyja a befejezõ kocsivissza "
-#~ "karaktereket."
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "a `-%ld' kapcsoló elavult; használja a `-%c %ld' kapcsolót "
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Az összes fájlt szövegként kezeli"
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "a `-%ld' kapcsoló elavult; ne használja"
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1505,10 +1508,6 @@ msgstr ""
 #~ "  -F RK  --show-function-line=RK  Megmutatja a legközelebbi RK-ra "
 #~ "illeszkedõ sort."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  A kimenet egy ed-parancsfájl."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1520,38 +1519,12 @@ msgstr ""
 #~ "  --left-column  A közös sorokat csak bal oldalon írja ki.\n"
 #~ "  --suppress-common-lines  Nem írja ki a közös sorokat."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr ""
-#~ "-t  --expand-tabs  A tabulátorokat szóközzel helyettesíti a kimenetben."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr ""
-#~ "-T  --initial-tab  A tabulátorok helyesen jelennek meg a kezdõ "
-#~ "tabulátornak köszönhetõen."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr ""
-#~ "--tabsize=NUM  Tabulátorpozíció minden NUM. nyomtatási oszlopban (alapból "
-#~ "8)."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  Megpróbál kevesebb különbséget találni."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files  Nagy fájlokat feltételez sok, elszórt, kis "
 #~ "változással."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr ""
-#~ "-A  --show-all  Kiírja az összes változást, zárójelezi az ütközéseket."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr " -X  Kiírja és zárójelezi az átfedõ változtatásokat."
 
@@ -1563,81 +1536,6 @@ msgstr ""
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L CÍMKE  --label=CÍMKE  A CÍMKÉ-t használja fájlnév helyet."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr ""
-#~ "--diff-program=PROGRAM  A PROGRAM-ot használja a fájlok\n"
-#~ "                        összehasonlításához."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Figyelmen kívül hagy minden üres helyet."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w SZÁM  --width=SZÁM  Legfeljebb SZÁM széles kimenet (alapból 130)."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "-l  --left-column  A közös sorokat csak bal oldra írja ki."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  Nagy fájlokat feltételez sok, elszórt, kis "
-#~ "változással."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "olvasás sikertelen"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "az írás sikertelen"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "olvasás sikertelen"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "olvasás sikertelen"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "az írás sikertelen"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "az írás sikertelen"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: nem megengedett kapcsoló -- %c\n"
-
-#~ msgid ""
-#~ "This is free software; see the source for copying conditions.  There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-#~ msgstr ""
-#~ "Ez szabad szoftver; a sokszorosításra vonatkozó feltételeket lásd a "
-#~ "forrásban.\n"
-#~ "SEMMILYEN garanciát nem vállalunk, még azt sem állítjuk, hogy ez a "
-#~ "program\n"
-#~ "KERESKEDELMI CÉLOKRA ALKALMAS vagy HASZNÁLHATÓ EGY ADOTT FELADATRA.\n"
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr "A hibákat <bug-gnu-utils@gnu.org> címre kérjük jelenteni."
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "a `-%ld' kapcsoló elavult; használja a `-%c %ld' kapcsolót "
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "a `-%ld' kapcsoló elavult; ne használja"
-
 #~ msgid "subsidiary program `%s' not found"
 #~ msgstr "`%s' segédprogram nem található"
 
index 1f138c6..88751f8 100644 (file)
Binary files a/po/id.gmo and b/po/id.gmo differ
index 671ca9f..c3b6b6c 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: diffutils 2.9\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2010-02-14 08:00+0700\n"
 "Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -25,7 +25,7 @@ msgstr "kesalahan program"
 msgid "stack overflow"
 msgstr "overflow stack"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Kesalahan sistem tidak dikenal"
 
@@ -138,100 +138,102 @@ msgstr "%s: pilihan '%s' membutuhkan sebuah argumen\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr "`"
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr "'"
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Sukses"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Tidak cocok"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Ekspresi reguler tidak valid"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Karakter kolasi tidak valid"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Nama kelas karakter tidak valid"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Akhiran backslash"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Referensi balik tidak valid"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "Tidak cocok [ atau [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "Tidak cocok ( atau \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "Tidak cocok \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Isi dari \\{\\} tidak valid"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Batas akhir tidak valid"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Kehabisan memori"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Ekspresi reguler yang mengawali tidak valid"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Ekspresi reguler berakhir dengan prematur"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Ekspresi reguler terlalu besar"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "Tidak cocok ) atau \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Tidak ada ekspresi reguler sebelumnya"
 
@@ -261,18 +263,18 @@ msgid "failed to reopen %s with mode %s"
 msgstr "gagal untuk membuka kembali %s dengan mode %s"
 
 #: lib/xstrtol-error.c:63
-#, c-format
-msgid "invalid %s%s argument `%s'"
+#, fuzzy, c-format
+msgid "invalid %s%s argument '%s'"
 msgstr "argumen %s%s tidak valid `%s'"
 
 #: lib/xstrtol-error.c:68
-#, c-format
-msgid "invalid suffix in %s%s argument `%s'"
+#, fuzzy, c-format
+msgid "invalid suffix in %s%s argument '%s'"
 msgstr "akhiran dalam argumen %s%s tidak valid `%s'"
 
 #: lib/xstrtol-error.c:72
-#, c-format
-msgid "%s%s argument `%s' too large"
+#, fuzzy, c-format
+msgid "%s%s argument '%s' too large"
 msgstr "%s%s argumen `%s' terlalu besar"
 
 #: lib/version-etc.c:74
@@ -450,7 +452,7 @@ msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Bantuan umum menggunakan perangkat lunak GNU: <http://www.gnu.org/gethelp>\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Berkas %s dan %s berbeda\n"
@@ -460,7 +462,7 @@ msgstr "Berkas %s dan %s berbeda\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "File biner %s dan %s berbeda\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Tidak ada baris-baru di akhir dari berkas"
 
@@ -474,14 +476,14 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "Coba `%s --help' untuk informasi lebih lanjut."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "tidak valid --ignore-initial nilai `%s'"
 
 #: src/cmp.c:147
@@ -489,14 +491,14 @@ msgstr "tidak valid --ignore-initial nilai `%s'"
 msgid "options -l and -s are incompatible"
 msgstr "pilihan -l dan -s tidak kompatibel"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "gagal menulis"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "standar keluaran"
 
@@ -558,7 +560,7 @@ msgid ""
 "at the beginning of each file (zero by default)."
 msgstr "SKIP1 dan SKIP2 adalah jumlah byte yang harus dilewati di tiap file."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -574,27 +576,28 @@ msgstr ""
 "GB 1,000,000,000, G 1,073,741,824, dan seterusnya untuk T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "Jika sebuah FILE adalah `-' atau tidak ada, baca input standar"
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "Status keluar adalah 0 jika masukan sama, 1 jika berbeda, 2 jika bermasalah."
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "nilai --byte tidak valid `%s'"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "tidak ada operand setelah `%s'"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "operand ekstra `%s'"
 
 #: src/cmp.c:491
@@ -613,165 +616,162 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: EOF pada %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr "Paul Eggert"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr "Mike Haertel"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr "David Hayes"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr "Richard Stallman"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr "Len Tower"
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "panjang context tidak valid `%s'"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "paginasi tidak didukung pada host ini"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "terlalu banyak option label file"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "lebar tidak valid `%s'"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "option lebar konflik"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "panjang horizon tidak valid `%s'"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "tabsize tidak valid `%s'"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "option tabsize konflik"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "--from-file dan --to-file keduanya disebutkan"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal  Output normal diff."
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q  --brief  Tampilkan hanya apakah file berbeda."
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files  Laporkan ketika dua file sama."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w NUM  --width=NUM  Output paling banyak NUM (baku 130) kolom cetakan."
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 "-w NUM  --width=NUM  Output paling banyak NUM (baku 130) kolom cetakan."
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Perlakukan seluruh file sebagai teks."
+msgstr "-e  --ed  Output adalah script ed."
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs  Output dalam format RCS diff."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  Tampilkan informasi versi."
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
 "-w NUM  --width=NUM  Output paling banyak NUM (baku 130) kolom cetakan."
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr "-l  --left-column  Hanya tampilkan kolom kiri baris yang sama."
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  Jangan tampilkan baris yang sama."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Ekspansi tab ke spasi dalam output."
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr "-T  --initial-tab  Buat tab beraturan dg menambahkan sebuah tab."
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr "--tabsize=NUM  Tab stop adalah setiap NUM (default 8) kolom cetakan."
 
-#: src/diff.c:871
+#: src/diff.c:874
 #, fuzzy
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
@@ -779,52 +779,56 @@ msgstr ""
 "--suppress-blank-empty Tekan spasi atau tab sebelum mengeluarkan baris "
 "kosong."
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr "-l  --paginate  Berikan output ke `pr' untuk di-paginate."
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr "-r  --recursive  Membandingkan subdirektori secara rekursif."
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N  --new-file  Perlakukan tiada file sebagai kosong."
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 "--unidirectional-new-file  Anggap file tidak ada pertama sebagai kosong."
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr "--ignore-file-name-case  Abaikan case saat membandingkan nama file."
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "--no-ignore-file-name-case  Pertimbangkan case saat membandingkan nama file."
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr "-x PAT  --exclude=PAT  Tanpa file yang cocok dengan PAT."
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
 "-X FILE  --exclude-from=FILE  Abaikan file yang cocok dengan pola dalam FILE"
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
@@ -832,7 +836,7 @@ msgstr ""
 "-S FILE  --starting-file=FILE  Mulai dengan FILE ketika membandingkan "
 "direktori."
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -841,7 +845,7 @@ msgstr ""
 "--from-file=FILE1  Bandingkan FILE1 ke semua operand.  FILE1 dapat berupa "
 "direktori."
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -850,97 +854,98 @@ msgstr ""
 "--to-file=FILE2  Bandingkan semua operand dengan FILE2.  FILE2 dapat berupa "
 "direktori."
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr "-i  --ignore-case  Abaikan beda case dalam isi file."
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr "-E  --ignore-tab-expansion  Abaikan perubahan akibat ekspansi tab."
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-space  Abaikan seluruh white space."
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Abaikan perubahan sejumlah white space."
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space  Abaikan seluruh white space."
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr "-B  --ignore-blank-lines   Abaikan perubahan baris kosong."
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I RE  --ignore-matching-lines=RE  Abaikan perubahan baris yang cocok dg RE."
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text  Perlakukan seluruh file sebagai teks."
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Hapus trailing carriage return pada input."
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary Baca dan tulis data dalam mode biner."
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D NAME  --ifdef=NAME  Output file merge untuk tampilkan `#ifdef NAME' diffs."
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "--GTYPE-group-format=GFMT Serupa, tapi format input kelompok GTYPE dg GFMT. "
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr "--line-format=LFMT Serupa, tapi format seluruh baris input dg LFMT."
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "--LTYPE-line-format=LFMT Serupa, tapi format baris input LTYPE dg LFMT."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  LTYPE adalah `old', `new', atau `unchanged'.  GTYPE adalah LTYPE atau "
 "`changed'."
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -969,7 +974,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -982,7 +987,7 @@ msgstr ""
 "    %l  isi baris, tanpa baris baru\n"
 "    %[-][WIDTH][.[PREC]]{doxX}n  printf-style spec untuk nomor baris input"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -996,17 +1001,17 @@ msgstr ""
 "    %c'C'  karakter tunggal C\n"
 "    %c'\\OOO'  karakter dengan kode oktal OOO"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Usahakan mencari perubahan terkecil."
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr "--horizon-lines=NUM Pertahankan NUM baris prefiks dan suffiks umum."
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
@@ -1014,77 +1019,85 @@ msgstr ""
 "-H  --speed-large-files  Asumsikan file besar dan banyak sebaran perubahan "
 "kecil."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version  Tampilkan informasi versi."
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "FILES adalah `FILE1 FILE2' atau `DIR1 DIR2' atau `DIR FILE...' atau `FILE... "
 "DIR'."
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
 "Bila --from-file atau --to-file diberikan, tidak ada batasan untuk FILES."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "Jika sebuah file FILE adalah `-', baca standard input."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Penggunaan: %s [OPTION]... FILES\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "Bandingkan file baris per baris"
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "Nilai option %s konflik dengan `%s'"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "option gaya output konflik"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Hanya dalam %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "tidak dapat membandingkan `-' dg direktori"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "-D option tidak didukung dg direktori"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Subdirektori sama: %s dan %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "File %s adalah %s sementara file %s adalah %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Berkas %s dan %s berbeda\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "File %s dan %s identik\n"
@@ -1100,11 +1113,12 @@ msgid "incompatible options"
 msgstr "option tidak kompatibel"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "`-' dispesifikasikan lebih dari satu file input"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "gagal membaca"
 
@@ -1141,13 +1155,12 @@ msgid ""
 msgstr "-x  --overlap-only  Tampilkan perubahan yang overlap."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
-msgstr "-E  --show-overlap  Output perubahan unmerge, konflik dl tanda kurung."
+msgstr ""
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "-i  Tambah perintah `w' dan `q' ke script ed."
 
 #: src/diff3.c:438
@@ -1183,9 +1196,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Perlakukan seluruh file sebagai teks."
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1237,30 +1249,30 @@ msgstr "kesalahan internal: tipe diff tidak valid dalam process_diff"
 msgid "invalid diff format; invalid change separator"
 msgstr "format diff tidak valid; separator perubahan tidak valid"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "format diff tidak valid; baris akhir tidak lengkap"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "program subsider `%s' tidak dipanggil"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "format diff tidak valid; karakter leading line tidak tepat"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "kesalahan internal: tipe diff tidak valid dimasukkan ke output"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "file input mengecil"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "tidak dapat membandingkan nama file `%s' dan `%s'"
 
 #: src/dir.c:209
@@ -1273,90 +1285,96 @@ msgstr "%s: rekursif loop direktori"
 msgid "Thomas Lord"
 msgstr "Thomas Lord"
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
 "-o FILE  --output=FILE  Operasi secara interaktif, kirim output ke FILE."
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i  --ignore-case  Abaikan huruf kapital dan huruf kecil."
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr "-E  --ignore-tab-expansion  Abaikan perubahan akibat ekspansi tab."
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-space  Abaikan seluruh white space."
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Abaikan perubahan sejumlah white space."
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  Abaikan seluruh white space."
+msgstr "-W  --ignore-all-space  Abaikan seluruh white space."
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr "-B  --ignore-blank-lines   Abaikan perubahan baris kosong."
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I RE  --ignore-matching-lines=RE  Abaikan perubahan baris yang cocok dg RE."
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Hapus trailing carriage return pada input."
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text  Perlakukan seluruh file sebagai teks."
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 "-w NUM  --width=NUM  Output paling banyak NUM (baku 130) kolom cetakan."
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr "-l  --left-column  Hanya tampilkan kolom kiri baris yang sama."
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  Jangan tampilkan baris yang sama."
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Ekspansi tab ke spasi dalam output."
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr "--tabsize=NUM  Tab stop adalah setiap NUM (default 8) kolom cetakan."
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Usahakan mencari perubahan terkecil."
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
@@ -1364,40 +1382,39 @@ msgstr ""
 "-H  --speed-large-files  Asumsikan file besar dan banyak sebaran perubahan "
 "kecil."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr "--diff-program=PROGRAM  Gunakan PROGRAM untuk membandingkan file."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Perlakukan seluruh file sebagai teks."
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version  Tampilkan informasi versi."
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Pemakaian: %s [OPTION]... FILE1 FILE2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Merge side-by-side beda file."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "tidak dapat menggabung input standar secara interaktif"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "kedua file yang dibandingkan adalah direktori"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
@@ -1429,49 +1446,15 @@ msgstr ""
 #~ "-s  --quiet  --silent  Tidak mengeluarkan apapun; hanya memberikan status "
 #~ "keluar saja."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  Tampilkan informasi versi."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help Tampilkan bantuan ini."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Bandingkan tiga file baris per baris."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr "-E  --ignore-tab-expansion  Abaikan perubahan akibat ekspansi tab."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr "-b  --ignore-space-change  Abaikan perubahan sejumlah white space."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Abaikan seluruh white space."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr "-B  --ignore-blank-lines   Abaikan perubahan baris kosong."
-
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr "--strip-trailing-cr  Hapus trailing carriage return pada input."
-
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Perlakukan seluruh file sebagai teks."
-
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1482,10 +1465,6 @@ msgstr ""
 #~ "  -F RE  --show-function-line=RE  Tampilkan baris paling akhir yang cocok "
 #~ "dengan RE."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Output adalah script ed."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1497,33 +1476,11 @@ msgstr ""
 #~ "  --left-column  Output hanya kolom kiri baris bersama.\n"
 #~ "  --suppress-common-lines  Jangan hasilkan baris bersama."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs  Ekspansi tab ke spasi dalam output."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr "-T  --initial-tab  Buat tab beraturan dg menambahkan sebuah tab."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr ""
-#~ "--tabsize=NUM  Tab stop adalah setiap NUM (default 8) kolom cetakan."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  Usahakan mencari perubahan terkecil."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files  Asumsikan file besar dan banyak perubahan kecil."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr ""
-#~ "-A  --show-all Output seluruh perubahan, konflik dalam tanda kurung."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "-X  Output perubahan overlap, beri tanda kurung."
 
@@ -1533,54 +1490,6 @@ msgstr ""
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L LABEL  --label=LABEL  Gunakan LABEL bukan nama file."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr "--diff-program=PROGRAM  Gunakan PROGRAM untuk membandingkan file."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Abaikan seluruh white space."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w NUM  --width=NUM  Output paling banyak NUM (baku 130) kolom cetakan."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "-l  --left-column  Hanya tampilkan kolom kiri baris yang sama."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  Asumsikan file besar dan banyak perubahan kecil."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "gagal membaca"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "gagal menulis"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "gagal membaca"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "gagal membaca"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "gagal menulis"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "gagal menulis"
-
 #~ msgid "%s: illegal option -- %c\n"
 #~ msgstr "%s: pilihan -- %c tidak legal\n"
 
index 1bc10e6..183664e 100644 (file)
Binary files a/po/it.gmo and b/po/it.gmo differ
index 702c691..5eec84b 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -1,14 +1,14 @@
 # Italian messages for diffutils.
 # Copyright (C) 2004, 2005, 2010 Free Software Foundation, Inc.
 # This file is distributed under the same license as the diffutils package.
-# Marco Colombo <m.colombo@ed.ac.uk>, 2004, 2005, 2010.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2004, 2005, 2010, 2011.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: diffutils 3.0\n"
+"Project-Id-Version: diffutils 3.2\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
-"PO-Revision-Date: 2010-08-18 16:25+0100\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
+"PO-Revision-Date: 2011-09-14 16:26+0100\n"
 "Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
 "Language: it\n"
@@ -24,7 +24,7 @@ msgstr "errore del programma"
 msgid "stack overflow"
 msgstr "overflow dello stack"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Errore di sistema sconosciuto"
 
@@ -82,9 +82,9 @@ msgid "weird file"
 msgstr "file strano"
 
 #: lib/getopt.c:547 lib/getopt.c:576
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: l'opzione '%s' è ambigua\n"
+msgstr "%s: l'opzione '%s' è ambigua; alternative:"
 
 #: lib/getopt.c:624 lib/getopt.c:628
 #, c-format
@@ -138,100 +138,102 @@ msgstr "%s: l'opzione '-W %s' richiede un argomento\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr "'"
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr "'"
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Successo"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Nessuna corrispondenza"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Espressione regolare non valida"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Carattere di collazione non valido"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Nome della classe di caratteri non valido"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Backslash finale"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Riferimento all'indietro non valido"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "[ o [^ non accoppiata"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "( o \\( non accoppiata"
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "\\{ non accoppiata"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Contenuto di \\{\\} non valido"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Fine dell'intervallo non valida"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Memoria esaurita"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "L'espressione regolare precedente non è valida"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Fine prematura dell'espressione regolare"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "L'espressione regolare è troppo grande"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr ") o \\) non accoppiata"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Non c'è una espressione regolare precedente"
 
@@ -261,19 +263,19 @@ msgid "failed to reopen %s with mode %s"
 msgstr "riapertura di %s in modalità %s non riuscita"
 
 #: lib/xstrtol-error.c:63
-#, c-format
-msgid "invalid %s%s argument `%s'"
-msgstr ""
+#, fuzzy, c-format
+msgid "invalid %s%s argument '%s'"
+msgstr "argomento '%3$s' di %1$s%2$s non valido"
 
 #: lib/xstrtol-error.c:68
-#, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr ""
+#, fuzzy, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr "suffisso '%3$s' non valido nell'argomento di %1$s%2$s"
 
 #: lib/xstrtol-error.c:72
-#, c-format
-msgid "%s%s argument `%s' too large"
-msgstr ""
+#, fuzzy, c-format
+msgid "%s%s argument '%s' too large"
+msgstr "argomento '%3$s' di %1$s%2$s troppo grande"
 
 #: lib/version-etc.c:74
 #, c-format
@@ -449,7 +451,7 @@ msgstr "%s home page: <http://www.gnu.org/software/%s/>\n"
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Aiuto sull'uso di software GNU: <http://www.gnu.org/gethelp/>\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "I file %s e %s sono diversi\n"
@@ -459,7 +461,7 @@ msgstr "I file %s e %s sono diversi\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "I file binari %s e %s sono diversi\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Manca newline alla fine del file"
 
@@ -473,14 +475,14 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "Usare '%s --help' per maggiori informazioni."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "Valore '%s' non valido per --ignore-initial"
 
 #: src/cmp.c:147
@@ -488,65 +490,61 @@ msgstr "Valore '%s' non valido per --ignore-initial"
 msgid "options -l and -s are incompatible"
 msgstr "le opzioni -l e -s sono incompatibili"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "scrittura non riuscita"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "standard output"
 
 #: src/cmp.c:161
-#, fuzzy
 msgid "-b, --print-bytes          print differing bytes"
-msgstr "-b  --print-bytes           Stampa i byte differenti."
+msgstr "-b, --print-bytes           Stampa i byte differenti"
 
 #: src/cmp.c:162
-#, fuzzy
 msgid "-i, --ignore-initial=SKIP         skip first SKIP bytes of both inputs"
-msgstr "-i SKIP  --ignore-initial=SKIP  Salta i primi SKIP byte di input."
+msgstr ""
+"-i, --ignore-initial=SKIP   Salta i primi SKIP byte di entrambi gli input"
 
 # Lo strano allineamento è corretto
 #: src/cmp.c:163
-#, fuzzy
 msgid ""
 "-i, --ignore-initial=SKIP1:SKIP2  skip first SKIP1 bytes of FILE1 and\n"
 "                                      first SKIP2 bytes of FILE2"
 msgstr ""
-"                            Salta i primi SKIP1 byte di FILE1 e i primi "
-"SKIP2\n"
-"                              byte di FILE2."
+"-i, --ignore-initial=SKIP1:SKIP2 Salta i primi SKIP1 byte di FILE1 e i "
+"primi\n"
+"                                SKIP2 byte di FILE2"
 
 # Lo strano allineamento della seconda riga è corretto.
 #: src/cmp.c:165
-#, fuzzy
 msgid ""
 "-l, --verbose              output byte numbers and differing byte values"
 msgstr ""
-"-l  --verbose               Mostra i numeri e i valori di tutti i byte\n"
-"                              differenti."
+"-l, --verbose               Mostra i numeri e i valori di tutti i byte\n"
+"                                differenti"
 
 # Solitamente viene usato NUM quando si vuole specificare un numero.
 #: src/cmp.c:166
-#, fuzzy
 msgid "-n, --bytes=LIMIT          compare at most LIMIT bytes"
-msgstr "-n NUM  --bytes=NUM         Confronta al massimo NUM byte."
+msgstr "-n, --bytes=NUM             Confronta al massimo NUM byte"
 
 #: src/cmp.c:167
 msgid "-s, --quiet, --silent      suppress all normal output"
-msgstr ""
+msgstr "-s, --quiet, --silent       Sopprime tutto l'output normale"
 
 #: src/cmp.c:168
 msgid "    --help                 display this help and exit"
-msgstr ""
+msgstr "    --help                  Mostra questo aiuto ed esce"
 
 #: src/cmp.c:169
-#, fuzzy
 msgid "-v, --version              output version information and exit"
-msgstr "-v  --version               Stampa le informazioni sulla versione."
+msgstr ""
+"-v, --version               Stampa le informazioni sulla versione ed esce"
 
 #: src/cmp.c:178
 #, c-format
@@ -558,16 +556,19 @@ msgid "Compare two files byte by byte."
 msgstr "Confronta due file byte per byte."
 
 #: src/cmp.c:182
-#, fuzzy
 msgid ""
 "The optional SKIP1 and SKIP2 specify the number of bytes to skip\n"
 "at the beginning of each file (zero by default)."
-msgstr "SKIP1 e SKIP2 sono il numero di byte da saltare in ogni file."
+msgstr ""
+"I valori opzionali SKIP1 e SKIP2 indicano il numero di byte da saltare\n"
+"all'inizio di ogni file (zero se non indicato)."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
+"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle "
+"corte.\n"
 
 #: src/cmp.c:191
 msgid ""
@@ -581,28 +582,29 @@ msgstr ""
 "GB 1,000,000,000, G 1,073,741,824, e così via per T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "Se un FILE è '-' o è mancante, legge lo standard input."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
-"Lo stato d'uscita è 0 quando gli input sono identici, 1 quando sono "
-"differenti, 2 quando si riscontrano dei problemi."
+"Il codice d'uscita è 0 se gli input sono identici, 1 se sono differenti, 2 "
+"quando si riscontrano dei problemi."
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "valore '%s' non valido per --bytes"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "operando mancante dopo '%s'"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "extra operando '%s'"
 
 #: src/cmp.c:491
@@ -621,319 +623,301 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: EOF in %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr "Paul Eggert"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr "Mike Haertel"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr "David Hayes"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr "Richard Stallman"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr "Len Tower"
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "lunghezza di contesto '%s' non valida"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "paginazione non supportata su questo host"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "troppe opzioni di etichetta"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "larghezza '%s' non valida"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "opzioni di larghezza in conflitto"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "lunghezza di orizzonte '%s' non valida"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "lunghezza di tabulazione '%s' non valida"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "opzioni di lunghezza di tabulazione in conflitto"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "--from-file e --to-file specificati entrambi"
 
-#: src/diff.c:851
-#, fuzzy
+#: src/diff.c:854
 msgid "    --normal                  output a normal diff (the default)"
-msgstr "--normal                    Mostra una diff normale."
+msgstr "    --normal                  Mostra una diff normale (predefinito)"
 
-#: src/diff.c:852
-#, fuzzy
+#: src/diff.c:855
 msgid "-q, --brief                   report only when files differ"
-msgstr "-q  --brief                 Segnala solo se i file sono diversi."
+msgstr "-q, --brief                   Segnala solo se i file sono diversi"
 
-#: src/diff.c:853
-#, fuzzy
+#: src/diff.c:856
 msgid "-s, --report-identical-files  report when two files are the same"
-msgstr "-s  --report-identical-files   Segnala quando due file sono identici."
+msgstr "-s, --report-identical-files  Segnala quando due file sono identici"
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w NUM  --width=NUM         Mostra al massimo NUM colonne (predefinito 130)."
+"-c, -C NUM, --context[=NUM]   Mostra NUM righe di contesto copiato\n"
+"                                (predefinito 3)"
 
-#: src/diff.c:855
-#, fuzzy
+#: src/diff.c:858
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
-"-w NUM  --width=NUM         Mostra al massimo NUM colonne (predefinito 130)."
+"-u, -U NUM, --unified[=NUM]   Mostra NUM righe di contesto unificato\n"
+"                                (predefinito 3)"
 
-#: src/diff.c:856
-#, fuzzy
+#: src/diff.c:859
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text                  Considera tutti i file come testo."
+msgstr "-e, --ed                      Mostra uno script per ed"
 
-#: src/diff.c:857
-#, fuzzy
+#: src/diff.c:860
 msgid "-n, --rcs                     output an RCS format diff"
-msgstr "-n  --rcs                   Mostra una diff in formato RCS."
+msgstr "-n, --rcs                     Mostra una diff in formato RCS"
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version               Stampa le informazioni sulla versione."
+msgstr "-y, --side-by-side            Output in due colonne"
 
-#: src/diff.c:859
-#, fuzzy
+#: src/diff.c:862
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
-"-w NUM  --width=NUM         Mostra al massimo NUM colonne (predefinito 130)."
+"-W, --width=NUM               Mostra al massimo NUM colonne (predefinito 130)"
 
 # Lo strano allineamento della seconda riga è corretto.
-#: src/diff.c:860
-#, fuzzy
+#: src/diff.c:863
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr ""
-"-l  --left-column           Mostra solo la colonna di sinistra per le righe\n"
-"                              in comune."
+"    --left-column             Mostra solo la colonna di sinistra per le "
+"righe\n"
+"                                in comune"
 
-#: src/diff.c:861
-#, fuzzy
+#: src/diff.c:864
 msgid "    --suppress-common-lines   do not output common lines"
-msgstr "-s  --suppress-common-lines  Non mostra le righe in comune."
+msgstr "    --suppress-common-lines   Non mostra le righe in comune"
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
+"-p, --show-c-function         Mostra in quale funzione C si trova ogni\n"
+"                                differenza"
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
+"-F, --show-function-line=ER   Mostra la riga più recente che corrisponde\n"
+"                                all'espressione regolare ER"
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
+"    --label ETICHETTA         Usa ETHICHETTA invece del nome del file\n"
+"                                (può essere ripetuta)"
 
-#: src/diff.c:868
-#, fuzzy
+#: src/diff.c:871
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr ""
-"-t  --expand-tabs           Espande le tabulazioni in spazi nell'output."
+"-t, --expand-tabs             Espande le tabulazioni in spazi nell'output"
 
-#: src/diff.c:869
-#, fuzzy
+#: src/diff.c:872
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
-"-T  --initial-tab           Allinea le tabulazioni usando una tabulazione."
+"-T, --initial-tab             Allinea le tabulazioni usando una tabulazione"
 
-#: src/diff.c:870
-#, fuzzy
+#: src/diff.c:873
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr ""
-"--tabsize=NUM               Stop di tabulazione ogni NUM colonne\n"
-"                            (predefinito 8)."
+"    --tabsize=NUM             Stop di tabulazione ogni NUM colonne\n"
+"                                (predefinito 8)"
 
-#: src/diff.c:871
-#, fuzzy
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
-"--suppress-blank-empty      Rimuove gli spazi o le tabulazioni prima di "
-"righe di\n"
-"                            output vuote."
+"    --suppress-blank-empty    Rimuove spazi e tabulazioni prima di righe\n"
+"                                di output vuote"
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr ""
-"-l  --paginate              Passa l'output attraverso 'pr' per impaginarlo."
+"-l, --paginate                Passa l'output attraverso 'pr' per impaginarlo"
 
-#: src/diff.c:874
-#, fuzzy
+#: src/diff.c:877
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr ""
-"-r  --recursive             Confronta ricorsivamente ogni sottodirectory\n"
-"                            incontrata."
+"-r, --recursive               Confronta ricorsivamente ogni sottodirectory\n"
+"                                incontrata"
 
-#: src/diff.c:875
-#, fuzzy
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 msgid "-N, --new-file                  treat absent files as empty"
-msgstr "-N  --new-file              Considera i file mancanti come vuoti."
+msgstr "-N, --new-file                Considera i file mancanti come vuoti"
 
-#: src/diff.c:876
-#, fuzzy
+#: src/diff.c:880
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
-"--unidirectional-new-file   Considera i file mancanti in prima posizione\n"
-"                            come vuoti."
+"    --unidirectional-new-file Considera i file mancanti in prima posizione\n"
+"                                come vuoti"
 
-#: src/diff.c:877
-#, fuzzy
+#: src/diff.c:881
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
-"--ignore-file-name-case     Ignora differenze in maiuscole e minuscole\n"
-"                            confrontando nomi di file."
+"    --ignore-file-name-case   Ignora differenze in maiuscole e minuscole\n"
+"                                confrontando nomi di file"
 
-#: src/diff.c:878
-#, fuzzy
+#: src/diff.c:882
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
-"--no-ignore-file-name-case  Considera differenze in maiuscole e minuscole\n"
-"                            confrontando nomi di file."
+"    --no-ignore-file-name-case Considera differenze in maiuscole e "
+"minuscole\n"
+"                                confrontando nomi di file"
 
-#: src/diff.c:879
-#, fuzzy
+#: src/diff.c:883
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr ""
-"-x MODELLO  --exclude=MODELLO  Esclude i file che corrispondono al MODELLO."
+"-x, --exclude=MODELLO         Esclude i file che corrispondono al MODELLO"
 
-#: src/diff.c:880
-#, fuzzy
+#: src/diff.c:884
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
-"-X FILE  --exclude-from=FILE   Esclude i file che corrispondono a ogni\n"
-"                               modello in FILE."
+"-X, --exclude-from=FILE       Esclude i file che corrispondono a qualsiasi\n"
+"                                modello in FILE"
 
-#: src/diff.c:881
-#, fuzzy
+#: src/diff.c:885
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
-"-S FILE  --starting-file=FILE  Comincia con FILE quando si confrontano\n"
-"                               directory."
+"-S, --starting-file=FILE      Comincia da FILE quando si confrontano "
+"directory"
 
-#: src/diff.c:882
-#, fuzzy
+#: src/diff.c:886
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
 "                                  FILE1 can be a directory"
 msgstr ""
-"--from-file=FILE1           Confronta FILE1 con tutti gli operandi.\n"
-"                            FILE1 può essere una directory."
+"    --from-file=FILE1         Confronta FILE1 con tutti gli operandi;\n"
+"                                FILE1 può essere una directory"
 
-#: src/diff.c:884
-#, fuzzy
+#: src/diff.c:888
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
 "                                  FILE2 can be a directory"
 msgstr ""
-"--to-file=FILE2             Confronta tutti gli operandi con FILE2.\n"
-"                            FILE2 può essere una directory."
+"    --to-file=FILE2           Confronta tutti gli operandi con FILE2;\n"
+"                                FILE2 può essere una directory"
 
-#: src/diff.c:887
-#, fuzzy
+#: src/diff.c:891
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr ""
-"-i  --ignore-case           Ignora differenze in maiuscole e minuscole nel\n"
-"                            contenuto del file."
+"-i, --ignore-case             Ignora differenze in maiuscole e minuscole "
+"nel\n"
+"                                contenuto del file"
 
-#: src/diff.c:888
-#, fuzzy
+#: src/diff.c:892
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
-"-E  --ignore-tab-expansion  Ignora differenze causate dall'espansione\n"
-"                            delle tabulazioni."
+"-E, --ignore-tab-expansion    Ignora differenze causate dall'espansione\n"
+"                                delle tabulazioni"
 
-#: src/diff.c:889
-#, fuzzy
+#: src/diff.c:893
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
-msgstr "-w  --ignore-all-space      Ignora tutti gli spazi."
+msgstr "-Z, --ignore-trailing-space   Ignora gli spazi a fine riga"
 
-#: src/diff.c:890
-#, fuzzy
+#: src/diff.c:894
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
-msgstr "-b  --ignore-space-change   Ignora differenze nel numero di spazi."
+msgstr "-b, --ignore-space-change     Ignora differenze nel numero di spazi"
 
-#: src/diff.c:891
-#, fuzzy
+#: src/diff.c:895
 msgid "-w, --ignore-all-space          ignore all white space"
-msgstr "-w  --ignore-all-space      Ignora tutti gli spazi."
+msgstr "-w, --ignore-all-space        Ignora tutti gli spazi"
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
-msgstr "-B  --ignore-blank-lines    Ignora differenze in righe vuote."
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
+msgstr "-B, --ignore-blank-lines      Ignora differenze in righe vuote"
 
-#: src/diff.c:893 src/sdiff.c:178
+# Lo strano allineamento della seconda riga è corretto
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
-"-I ER  --ignore-matching-lines=ER  Ignora differenze che corrispondono\n"
-"                                   all'espressione regolare ER."
+"-I, --ignore-matching-lines=ER Ignora differenze che corrispondono\n"
+"                                all'espressione regolare ER"
 
-#: src/diff.c:895
-#, fuzzy
+#: src/diff.c:899
 msgid "-a, --text                      treat all files as text"
-msgstr "-a  --text                  Considera tutti i file come testo."
+msgstr "-a, --text                    Considera tutti i file come testo"
 
-#: src/diff.c:896
-#, fuzzy
+#: src/diff.c:900
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr ""
-"--strip-trailing-cr         Elimina i ritorni a capo a fine riga in input."
+"     --strip-trailing-cr      Elimina i ritorni a capo a fine riga in input"
 
-#: src/diff.c:898
-#, fuzzy
+#: src/diff.c:902
 msgid "    --binary                    read and write data in binary mode"
-msgstr "--binary  Leggi e scrivi in modalità binaria."
+msgstr "    --binary  Legge e scrive in modalità binaria"
 
 # Con questa opzione, i due file originali sono uniti in un unico file che
 # viene stampato sullo standard output. Le differenze sono mostrate così:
@@ -946,47 +930,44 @@ msgstr "--binary  Leggi e scrivi in modalità binaria."
 # #endif /* NOME */
 # Testo comune.
 #
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
-"-D NOME  --ifdef=NOME       Mostra le differenze in un unico file usando\n"
-"                            '#ifdef NOME'."
+"-D, --ifdef=NOME              Mostra le differenze in un unico file usando\n"
+"                                '#ifdef NOME'"
 
-#: src/diff.c:902
-#, fuzzy
+#: src/diff.c:906
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
-"--GTYPE-group-format=GFMT   Simile, ma formatta i gruppi di input GTYPE\n"
-"                            con GFMT."
+"    --GTYPE-group-format=GFMT Simile, ma formatta i gruppi di input GTYPE\n"
+"                                con GFMT"
 
-#: src/diff.c:903
-#, fuzzy
+#: src/diff.c:907
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
-"--line-format=LFMT          Simile, ma formatta tutte le righe di input\n"
-"                            con LFMT."
+"    --line-format=LFMT        Formatta tutte le righe di input con LFMT"
 
-#: src/diff.c:904
-#, fuzzy
+#: src/diff.c:908
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
-"--LTYPE-line-format=LFMT    Simile, ma formatta le righe di input LTYPE\n"
-"                            con LFMT."
+"    --LTYPE-line-format=LFMT  Formatta le righe di input LTYPE con LFMT"
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
+"  Queste opzioni di formato forniscono un controllo preciso dell'output di\n"
+"    diff, generalizzando -D/--ifdef."
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr "  LTYPE è 'old', 'new', o 'unchanged'. GTYPE è LTYPE o 'changed'."
 
-#: src/diff.c:908
-#, fuzzy
+#: src/diff.c:912
 msgid ""
 "  GFMT (only) may contain:\n"
 "    %<  lines from FILE1\n"
@@ -1001,7 +982,7 @@ msgid ""
 "        M  L+1\n"
 "    %(A=B?T:E)  if A equals B then T else E"
 msgstr ""
-"  GFMT può contenere:\n"
+"  GFMT può (solo) contenere:\n"
 "    %<  righe dal FILE1\n"
 "    %>  righe dal FILE2\n"
 "    %=  righe comuni a FILE1 e FILE2\n"
@@ -1013,10 +994,10 @@ msgstr ""
 "        L  numero dell'ultima riga\n"
 "        N  numero di righe = L-F+1\n"
 "        E  F-1\n"
-"        M  L+1"
+"        M  L+1\n"
+"    %(A=B?T:E)  se A è uguale a B allora T, altrimenti E"
 
-#: src/diff.c:920
-#, fuzzy
+#: src/diff.c:924
 msgid ""
 "  LFMT (only) may contain:\n"
 "    %L  contents of line\n"
@@ -1026,11 +1007,10 @@ msgstr ""
 "  LFMT può contenere:\n"
 "    %L  contenuto della riga\n"
 "    %l  contenuto della riga, ad esclusione di ogni andata a capo finale\n"
-"    %[-][LARGHEZZA][.[PREC]]{doxX}n  formato in stile printf del\n"
-"                                     numero di riga di input"
+"    %[-][LARGHEZZA][.[PREC]]{doxX}n  formato in stile printf del numero\n"
+"                                       di riga di input"
 
-#: src/diff.c:924
-#, fuzzy
+#: src/diff.c:928
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
 "    %%  %\n"
@@ -1038,99 +1018,103 @@ msgid ""
 "    %c'\\OOO'  the character with octal code OOO\n"
 "    C    the character C (other characters represent themselves)"
 msgstr ""
-"  GFMT o LFMT possono contenere:\n"
-"    %%  %\n"
-"    %c'C'  il carattere C\n"
-"    %c'\\OOO'  il carattere con codice ottale OOO"
+"  GFMT e LFMT possono contenere:\n"
+"    %%        %\n"
+"    %c'C'     il singolo carattere C\n"
+"    %c'\\OOO'  il carattere con codice ottale OOO\n"
+"    C         il carattere C (altri caratteri rappresentano se stessi)"
 
-#: src/diff.c:930
-#, fuzzy
+#: src/diff.c:934
 msgid "-d, --minimal            try hard to find a smaller set of changes"
-msgstr "-d  --minimal               Minimizza il numero di differenze."
+msgstr "-d, --minimal               Minimizza il numero di differenze"
 
-#: src/diff.c:931
-#, fuzzy
+#: src/diff.c:935
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
-"--horizon-lines=NUM         Mantiene NUM righe di prefisso e suffisso comune."
+"    --horizon-lines=NUM     Mantiene NUM righe di prefisso e suffisso comune"
 
-#: src/diff.c:932
-#, fuzzy
+#: src/diff.c:936
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr ""
-"-H  --speed-large-files     Assume file grandi e tante piccole differenze."
+"    --speed-large-files     Assume file grandi e tante piccole differenze"
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
-msgstr ""
+msgstr "    --help                  Mostra questo aiuto ed esce"
 
-#: src/diff.c:935
-#, fuzzy
+#: src/diff.c:939
 msgid "-v, --version            output version information and exit"
-msgstr "-v  --version               Stampa le informazioni sulla versione."
+msgstr ""
+"-v, --version               Stampa le informazioni sulla versione ed esce"
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "FILES sono 'FILE1 FILE2' o 'DIR1 DIR2' o 'DIR FILE...' o 'FILE... DIR'."
 
-#: src/diff.c:938
-#, fuzzy
+#: src/diff.c:942
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
 "Se --from-file o --to-file sono usati, non ci sono restrizioni per FILES."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "Se un FILE è '-', legge lo standard input."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Uso: %s [OPZIONE]... FILES\n"
 
-#: src/diff.c:950
-#, fuzzy
+#: src/diff.c:954
 msgid "Compare FILES line by line."
 msgstr "Confronta i file riga per riga."
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "conflitto nell'opzione %s: valore '%s'"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "opzioni di stile di output in conflitto"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Solo in %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "impossibile confrontare '-' con una directory"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "opzione -D non supportata con directory"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Sottodirectory in comune: %s e %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "File %s è un %s mentre file %s è un %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "I file %s e %s sono diversi\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "I file %s e %s sono identici\n"
@@ -1146,11 +1130,12 @@ msgid "incompatible options"
 msgstr "opzioni incompatibili"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "'-' specificato per più di un file di input"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "lettura fallita"
 
@@ -1170,11 +1155,10 @@ msgstr "lettura fallita"
 #
 # Lo strano allineamento della seconda riga è corretto.
 #: src/diff3.c:428
-#, fuzzy
 msgid "-A, --show-all              output all changes, bracketing conflicts"
 msgstr ""
-"-A  --show-all              Mostra tutte le differenze, tenendo separati\n"
-"                              i conflitti."
+"-A, --show-all              Mostra tutte le differenze, tenendo separati\n"
+"                                i conflitti"
 
 # Per mostrare i diversi output generati con le varie opzioni di diff3, 
 # ho usato i seguenti file:
@@ -1194,13 +1178,12 @@ msgstr ""
 #
 # Lo strano allineamento della seconda riga è corretto.
 #: src/diff3.c:430
-#, fuzzy
 msgid ""
 "-e, --ed                    output ed script incorporating changes\n"
 "                                from OLDFILE to YOURFILE into MYFILE"
 msgstr ""
-"-e  --ed                    Mostra cambiamenti da VECCHIOFILE a TUOFILE\n"
-"                              in MIOFILE."
+"-e, --ed                    Mostra uno script ed con i cambiamenti\n"
+"                                da VECCHIOFILE a TUOFILE in MIOFILE"
 
 # Questa opzione produce:
 #
@@ -1215,21 +1198,18 @@ msgstr ""
 # .
 #
 #: src/diff3.c:432
-#, fuzzy
 msgid "-E, --show-overlap          like -e, but bracket conflicts"
-msgstr ""
-"-E  --show-overlap          Mostra le differenze, tenendo separati i "
-"conflitti."
+msgstr "-E, --show-overlap          Come -e, tenendo separati i conflitti"
 
 # Questa opzione, per i 3 file considerati, non produce niente.
 #
 #: src/diff3.c:433
-#, fuzzy
 msgid ""
 "-3, --easy-only             like -e, but incorporate only nonoverlapping "
 "changes"
 msgstr ""
-"-3  --easy-only             Mostra le differenze che non si sovrappongono."
+"-3  --easy-only             Come -e, ma mostra solo i cambiamenti che non\n"
+"                                si sovrappongono"
 
 # Questa opzione produce:
 #
@@ -1239,79 +1219,64 @@ msgstr ""
 # .
 #
 #: src/diff3.c:434
-#, fuzzy
 msgid ""
 "-x, --overlap-only          like -e, but incorporate only overlapping changes"
-msgstr "-x  --overlap-only          Mostra le differenze che si sovrappongono."
+msgstr ""
+"-x, --overlap-only          Come -e, ma mostra solo i cambiamenti che si\n"
+"                                sovrappongono"
 
-# Questa opzione produce:
-#
-# diff3 -E file1 file2 file3
-# 2a
-# =======
-# Questo è il file 3.
-# >>>>>>> file3
-# .
-# 1a
-# <<<<<<< file1
-# .
-#
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
-msgstr ""
-"-E  --show-overlap          Mostra le differenze, tenendo separati i "
-"conflitti."
+msgstr "-X                          Come -x, ma tiene separati i conflitti"
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr ""
-"-i                          Aggiunge i comandi 'w' e 'q' agli script per ed."
+"-i                          Aggiunge i comandi 'w' e 'q' agli script per ed"
 
 #: src/diff3.c:438
 msgid ""
 "-m, --merge                 output actual merged file, according to\n"
 "                                -A if no other options are given"
 msgstr ""
+"-m, --merge                 Mostra il file combinato risultante, secondo -A\n"
+"                                se non è indicata nessun'altra opzione"
 
 #: src/diff3.c:441
-#, fuzzy
 msgid "-a, --text                  treat all files as text"
-msgstr "-a  --text                  Considera tutti i file come testo."
+msgstr "-a, --text                  Considera tutti i file come testo"
 
 #: src/diff3.c:442
-#, fuzzy
 msgid "    --strip-trailing-cr     strip trailing carriage return on input"
 msgstr ""
-"--strip-trailing-cr         Elimina i ritorni a capo a fine riga in input."
+"    --strip-trailing-cr     Elimina i ritorni a capo a fine riga in input"
 
 #: src/diff3.c:443
-#, fuzzy
 msgid "-T, --initial-tab           make tabs line up by prepending a tab"
 msgstr ""
-"-T  --initial-tab           Allinea le tabulazioni usando una tabulazione."
+"-T, --initial-tab           Allinea le tabulazioni usando una tabulazione"
 
 #: src/diff3.c:444
-#, fuzzy
 msgid "    --diff-program=PROGRAM  use PROGRAM to compare files"
-msgstr "--diff-program=PROGRAMMA    Usa PROGRAMMA per confrontare i file."
+msgstr "    --diff-program=PROGRAMMA Usa PROGRAMMA per confrontare i file"
 
 #: src/diff3.c:445
 msgid ""
 "-L, --label=LABEL           use LABEL instead of file name\n"
 "                                (can be repeated up to three times)"
 msgstr ""
+"-L, --label=ETICHETTA       Usa ETICHETTA invece del nome del file\n"
+"                                (può essere repetuta fino a tre volte)"
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text                  Considera tutti i file come testo."
+msgstr "    --help                  Mostra questo aiuto ed esce"
 
 #: src/diff3.c:449
-#, fuzzy
 msgid "-v, --version               output version information and exit"
-msgstr "-v  --version               Stampa le informazioni sulla versione."
+msgstr ""
+"-v, --version               Stampa le informazioni sulla versione ed esce"
 
 #: src/diff3.c:458
 #, c-format
@@ -1335,12 +1300,27 @@ msgid ""
 "and output the actual merged file.  For unusual input, this is more\n"
 "robust than using ed.\n"
 msgstr ""
+"\n"
+"Il formato predefinito di output è una rappresentazione più o meno "
+"leggibile\n"
+"dei cambiamenti.\n"
+"\n"
+"Le opzioni -e, -E, -x, -X (e le opzioni lunghe corrispondenti) producono "
+"uno\n"
+"script per ed invece dell'output predefinito.\n"
+"\n"
+"Infine, l'opzione -m (--merge) indica a diff3 di combinare internamente i "
+"file\n"
+"e mostrare il file combinato. Per input non convenzionali, ciò è più "
+"robusto\n"
+"di ed.\n"
 
 #: src/diff3.c:482
 msgid "Exit status is 0 if successful, 1 if conflicts, 2 if trouble."
 msgstr ""
-"Lo stato d'uscita è 0 se c'è successo, 1 se c'è conflitto, 2 se sono stati\n"
-"riscontrati dei problemi."
+"Il codice d'uscita è 0 in caso di successo, 1 in caso di conflitto, 2 se "
+"sono\n"
+"stati riscontrati dei problemi."
 
 #: src/diff3.c:675
 msgid "internal error: screwup in format of diff blocks"
@@ -1359,30 +1339,30 @@ msgstr "errore interno: tipo di diff non valido in process_diff"
 msgid "invalid diff format; invalid change separator"
 msgstr "formato di diff non valido; separatore di modifica non valido"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "formato di diff non valido; ultima riga incompleta"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "programma accessorio '%s' non può essere chiamato"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "formato di diff non valido; caratteri incorretti a inizio riga"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "errore interno: il tipo di diff passato all'output non è valido"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "il file di input è rimpicciolito"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "impossibile confrontare i nomi dei file '%s' e '%s'"
 
 #: src/dir.c:209
@@ -1396,143 +1376,131 @@ msgid "Thomas Lord"
 msgstr "Thomas Lord"
 
 # Lo strano allineamento della seconda riga è corretto.
-#: src/sdiff.c:170
-#, fuzzy
+#: src/sdiff.c:173
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
-"-o FILE  --output=FILE     Lavora in modo interattivo, scrivendo l'output\n"
-"                             in FILE."
+"-o, --output=FILE           Procede in modo interattivo, scrivendo l'output\n"
+"                                in FILE"
 
 # Questa traduzione corrisponde a quella usata sopra per diff.
-#: src/sdiff.c:172
-#, fuzzy
+#: src/sdiff.c:175
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
-msgstr ""
-"-i  --ignore-case           Ignora differenze in maiuscole e minuscole."
+msgstr "-i, --ignore-case           Ignora differenze in maiuscole e minuscole"
 
-#: src/sdiff.c:173
-#, fuzzy
+#: src/sdiff.c:176
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
-"-E  --ignore-tab-expansion  Ignora differenze causate dall'espansione\n"
-"                            delle tabulazioni."
+"-E, --ignore-tab-expansion  Ignora differenze causate dall'espansione\n"
+"                                delle tabulazioni"
 
-#: src/sdiff.c:174
-#, fuzzy
+#: src/sdiff.c:177
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
-msgstr "-w  --ignore-all-space      Ignora tutti gli spazi."
+msgstr "-Z, --ignore-trailing-space Ignora gli spazi a fine riga"
 
-#: src/sdiff.c:175
-#, fuzzy
+#: src/sdiff.c:178
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
-msgstr "-b  --ignore-space-change   Ignora differenze nel numero di spazi."
+msgstr "-b, --ignore-space-change   Ignora differenze nel numero di spazi"
 
-#: src/sdiff.c:176
-#, fuzzy
+#: src/sdiff.c:179
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space      Ignora tutti gli spazi."
+msgstr "-W, --ignore-all-space      Ignora tutti gli spazi"
 
-#: src/sdiff.c:177
-#, fuzzy
+#: src/sdiff.c:180
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
-msgstr "-B  --ignore-blank-lines    Ignora differenze in righe vuote."
+msgstr "-B, --ignore-blank-lines    Ignora differenze in righe vuote"
 
-#: src/sdiff.c:179
+# Lo strano allineamento della seconda riga è corretto
+#: src/sdiff.c:181
 #, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I, --ignore-matching-lines=ER Ignora differenze che corrispondono\n"
+"                                all'espressione regolare ER"
+
+#: src/sdiff.c:182
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr ""
-"--strip-trailing-cr         Elimina i ritorni a capo a fine riga in input."
+"    --strip-trailing-cr     Elimina i ritorni a capo a fine riga in input"
 
-#: src/sdiff.c:180
-#, fuzzy
+#: src/sdiff.c:183
 msgid "-a, --text                   treat all files as text"
-msgstr "-a  --text                  Considera tutti i file come testo."
+msgstr "-a, --text                  Considera tutti i file come testo"
 
-#: src/sdiff.c:182
-#, fuzzy
+#: src/sdiff.c:185
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
-"-w NUM  --width=NUM         Mostra al massimo NUM colonne (predefinito 130)."
+"-w, --width=NUM             Mostra al massimo NUM colonne (predefinito 130)"
 
 # Lo strano allineamento della seconda riga è corretto.
-#: src/sdiff.c:183
-#, fuzzy
+#: src/sdiff.c:186
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr ""
-"-l  --left-column           Mostra solo la colonna di sinistra per le righe\n"
-"                              in comune."
+"-l, --left-column           Mostra solo la colonna di sinistra per le righe\n"
+"                                in comune"
 
-#: src/sdiff.c:184
-#, fuzzy
+#: src/sdiff.c:187
 msgid "-s, --suppress-common-lines  do not output common lines"
-msgstr "-s  --suppress-common-lines  Non mostra le righe in comune."
+msgstr "-s, --suppress-common-lines Non mostra le righe in comune"
 
-#: src/sdiff.c:186
-#, fuzzy
+#: src/sdiff.c:189
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr ""
-"-t  --expand-tabs           Espande le tabulazioni in spazi nell'output."
+"-t, --expand-tabs           Espande le tabulazioni in spazi nell'output"
 
-#: src/sdiff.c:187
-#, fuzzy
+#: src/sdiff.c:190
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr ""
 "--tabsize=NUM               Stop di tabulazione ogni NUM colonne\n"
-"                            (predefinito 8)."
+"                                (predefinito 8)"
 
-#: src/sdiff.c:189
-#, fuzzy
+#: src/sdiff.c:192
 msgid "-d, --minimal                try hard to find a smaller set of changes"
-msgstr "-d  --minimal               Minimizza il numero di differenze."
+msgstr "-d, --minimal               Minimizza il numero di differenze"
 
-#: src/sdiff.c:190
-#, fuzzy
+#: src/sdiff.c:193
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr ""
-"-H  --speed-large-files     Assume file grandi e tante piccole differenze."
+"-H, --speed-large-files     Assume file grandi e tante piccole differenze"
 
-#: src/sdiff.c:191
-#, fuzzy
+#: src/sdiff.c:194
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
-msgstr "--diff-program=PROGRAMMA    Usa PROGRAMMA per confrontare i file."
+msgstr "--diff-program=PROGRAMMA    Usa PROGRAMMA per confrontare i file"
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text                  Considera tutti i file come testo."
+msgstr "    --help                  Mostra questo aiuto ed esce"
 
-#: src/sdiff.c:194
-#, fuzzy
+#: src/sdiff.c:197
 msgid "-v, --version                output version information and exit"
-msgstr "-v  --version               Stampa le informazioni sulla versione."
+msgstr ""
+"-v, --version               Stampa le informazioni sulla versione ed esce"
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Uso: %s [OPZIONE]... FILE1 FILE2\n"
 
-#: src/sdiff.c:205
-#, fuzzy
+#: src/sdiff.c:208
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
-msgstr "Mostra le differenze fianco a fianco."
+msgstr "Mostra le differenze tra FILE1 e FILE2 fianco a fianco."
 
 # Tobia Conforto: impossibile combinare in modo interattivo da standard input
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "impossibile combinare in modo interattivo con lo standard input"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "entrambi i file da confrontare sono directory"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
@@ -1555,248 +1523,3 @@ msgstr ""
 "s:\tInclude silenziosamente le righe in comune.\n"
 "v:\tInclude prolissamente le righe in comune.\n"
 "q:\tEsce.\n"
-
-#~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
-#~ msgstr "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
-
-# Lo strano allineamento della seconda riga è corretto.
-#~ msgid "-s  --quiet  --silent  Output nothing; yield exit status only."
-#~ msgstr ""
-#~ "-s  --quiet  --silent       Non mostra niente; fornisce solo lo stato "
-#~ "d'uscita."
-
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version               Stampa le informazioni sulla versione."
-
-#~ msgid "--help  Output this help."
-#~ msgstr "--help                      Mostra questo aiuto."
-
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Confronta tre file riga per riga."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr ""
-#~ "-E  --ignore-tab-expansion  Ignora differenze causate dall'espansione\n"
-#~ "                            delle tabulazioni."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr "-b  --ignore-space-change   Ignora differenze nel numero di spazi."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space      Ignora tutti gli spazi."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr "-B  --ignore-blank-lines    Ignora differenze in righe vuote."
-
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr ""
-#~ "--strip-trailing-cr         Elimina i ritorni a capo a fine riga in input."
-
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text                  Considera tutti i file come testo."
-
-#, fuzzy
-#~ msgid ""
-#~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
-#~ "context.\n"
-#~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
-#~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
-#~ "  -p  --show-c-function  Show which C function each change is in.\n"
-#~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
-#~ msgstr ""
-#~ "-c  -C NUM  --context[=NUM] Mostra NUM righe (predefinito 3) di contesto\n"
-#~ "                            copiato.\n"
-#~ "-u  -U NUM  --unified[=NUM] Mostra NUM righe (predefinito 3) di contesto\n"
-#~ "                            unificato.\n"
-#~ "  --label ETICHETTA         Usa ETICHETTA invece del nome del file.\n"
-#~ "  -p  --show-c-function     Mostra in quale funzione C appare il "
-#~ "cambiamento.\n"
-#~ "  -F ER  --show-function-line=ER  Mostra la più vicina riga che "
-#~ "corrisponde\n"
-#~ "                                  all'espressione regolare ER."
-
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed                    Mostra uno script per ed."
-
-#~ msgid ""
-#~ "-y  --side-by-side  Output in two columns.\n"
-#~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
-#~ "  --left-column  Output only the left column of common lines.\n"
-#~ "  --suppress-common-lines  Do not output common lines."
-#~ msgstr ""
-#~ "-y  --side-by-side          Mostra in due colonne.\n"
-#~ "  -W NUM  --width=NUM       Mostra al massimo NUM colonne (predefinito "
-#~ "130).\n"
-#~ "  --left-column             Mostra solo la colonna di sinistra per le "
-#~ "righe\n"
-#~ "                            in comune.\n"
-#~ "  --suppress-common-lines   Non mostra le righe in comune."
-
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr ""
-#~ "-t  --expand-tabs           Espande le tabulazioni in spazi nell'output."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr ""
-#~ "-T  --initial-tab           Allinea le tabulazioni usando una tabulazione."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr ""
-#~ "--tabsize=NUM               Stop di tabulazione ogni NUM colonne\n"
-#~ "                            (predefinito 8)."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal               Minimizza il numero di differenze."
-
-#~ msgid ""
-#~ "--speed-large-files  Assume large files and many scattered small changes."
-#~ msgstr ""
-#~ "--speed-large-files         Assume file grandi e tante piccole differenze."
-
-# Questa opzione produce:
-#
-# diff3 -A file1 file2 file3
-# 2a
-# ||||||| file2
-# Questo è il file 2.
-# =======
-# Questo è il file 3.
-# >>>>>>> file3
-# .
-# 1a
-# <<<<<<< file1
-# .
-#
-# Lo strano allineamento della seconda riga è corretto.
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr ""
-#~ "-A  --show-all              Mostra tutte le differenze, tenendo separati\n"
-#~ "                              i conflitti."
-
-# Questa opzione produce:
-#
-# diff3 -X file1 file2 file3
-# 2a
-# =======
-# Questo è il file 3.
-# >>>>>>> file3
-# .
-# 1a
-# <<<<<<< file1
-# .
-#
-# Lo strano allineamento della seconda riga è corretto.
-#~ msgid "-X  Output overlapping changes, bracketing them."
-#~ msgstr ""
-#~ "-X                          Mostra le differenze che si sovrappongono,\n"
-#~ "                              tenendole separate."
-
-# Questa opzione produce:
-#
-# diff3 -m file1 file2 file3
-# Testo comune.
-# <<<<<<< file1
-# Questo è il file 1.
-# ||||||| file2
-# Questo è il file 2.
-# =======
-# Questo è il file 3.
-# >>>>>>> file3
-# Altro testo comune.
-#
-# Lo strano allineamento della seconda riga è corretto.
-#~ msgid "-m  --merge  Output merged file instead of ed script (default -A)."
-#~ msgstr ""
-#~ "-m  --merge                 Mostra le differenze in un file unico invece\n"
-#~ "                              che in uno script per ed (predefinito -A)."
-
-#~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
-#~ msgstr ""
-#~ "-L ETICHETTA  --label=ETICHETTA  Usa ETICHETTA invece del nome del file."
-
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr "--diff-program=PROGRAMMA    Usa PROGRAMMA per confrontare i file."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space      Ignora tutti gli spazi."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w NUM  --width=NUM         Mostra al massimo NUM colonne (predefinito "
-#~ "130)."
-
-# Lo strano allineamento della seconda riga è corretto.
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr ""
-#~ "-l  --left-column           Mostra solo la colonna di sinistra per le "
-#~ "righe\n"
-#~ "                              in comune."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files         Assume file grandi e tante piccole differenze."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "lettura fallita"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "scrittura non riuscita"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "lettura fallita"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "lettura fallita"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "scrittura non riuscita"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "scrittura non riuscita"
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr "Segnalare i bug a <bug-gnu-utils@gnu.org>."
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "l'opzione '-%ld' è obsoleta; usare '-%c %ld'"
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "l'opzione '-%ld' è obsoleta; rimuoverla"
-
-#~ msgid "subsidiary program `%s' not found"
-#~ msgstr "programma accessorio '%s' non trovato"
-
-#~ msgid "subsidiary program `%s' failed"
-#~ msgstr "programma accessorio '%s' non riuscito"
-
-#~ msgid "subsidiary program `%s' failed (exit status %d)"
-#~ msgstr "programma accessorio '%s' non riuscito (stato d'uscita %d)"
index 59e34a6..e12f65e 100644 (file)
Binary files a/po/ja.gmo and b/po/ja.gmo differ
index e87a4e7..9c96ab4 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -1,5 +1,5 @@
 # Japanese GNU diffutils messages
-# Copyright (C) 2000, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2011 Free Software Foundation, Inc.
 # This file is distributed under the same license as the diffutils package.
 # IIDA Yosiaki <iida@gnu.org>, 2002.
 # Masahito Yamaga <yamaga@ipc.chiba-u.ac.jp>, 2002.
@@ -7,13 +7,13 @@
 #  derived from the version by Yasuyuki Furukawa <yasu@on.cs.keio.ac.jp> 1998.
 #                              Jun Nishii <jun@flatout.org> 1999.
 #                              Daisuke Yamashita <yamad@mb.infoweb.ne.jp> 1999.
-# Yasuaki Taniguchi <yasuakit@gmail.com>, 2010.
+# Yasuaki Taniguchi <yasuakit@gmail.com>, 2010, 2011.
 msgid ""
 msgstr ""
-"Project-Id-Version: diffutils 3.0\n"
+"Project-Id-Version: GNU diffutils 3.2\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
-"PO-Revision-Date: 2010-10-19 10:06+0900\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
+"PO-Revision-Date: 2011-09-08 14:13+0900\n"
 "Last-Translator: Yasuaki Taniguchi <yasuakit@gmail.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
 "Language: ja\n"
@@ -30,7 +30,7 @@ msgstr "プログラムエラー"
 msgid "stack overflow"
 msgstr "スタックオーバーフロー"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "不明なシステムエラー"
 
@@ -44,7 +44,7 @@ msgstr "通常ファイル"
 
 #: lib/file-type.c:41
 msgid "directory"
-msgstr "ディレクトリ"
+msgstr "ディレクトリ"
 
 #: lib/file-type.c:44
 msgid "block special file"
@@ -87,9 +87,9 @@ msgid "weird file"
 msgstr "不明なファイル"
 
 #: lib/getopt.c:547 lib/getopt.c:576
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: オプション '%s' は曖昧です\n"
+msgstr "%s: オプション '%s' は曖昧です。次のものが可能です:"
 
 #: lib/getopt.c:624 lib/getopt.c:628
 #, c-format
@@ -143,100 +143,102 @@ msgstr "%s: オプション '-W %s' は引数が必要です\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr "`"
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr "'"
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "成功です"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "一致しません"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "無効な正規表現です"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "無効な照合文字です"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "無効な文字クラス名です"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "終端のバックスラッシュ"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "無効な前方参照です"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "[ または [^ が不一致です"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "( または \\( が不一致です"
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "\\{ が不一致です"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "\\{\\} の中身が無効です"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "無効な範囲終了です"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "メモリを使い果たしました"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "無効な前方正規表現です"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "正規表現が途中で終了しました"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "正規表現が大きすぎます"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr ") または \\) が不一致です"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "以前に正規表現がありません"
 
@@ -266,18 +268,18 @@ msgid "failed to reopen %s with mode %s"
 msgstr "%s をモード %s で再度開くことに失敗しました"
 
 #: lib/xstrtol-error.c:63
-#, c-format
-msgid "invalid %s%s argument `%s'"
+#, fuzzy, c-format
+msgid "invalid %s%s argument '%s'"
 msgstr "引数 `%3$s' に対して %1$s%2$s が無効です"
 
 #: lib/xstrtol-error.c:68
-#, c-format
-msgid "invalid suffix in %s%s argument `%s'"
+#, fuzzy, c-format
+msgid "invalid suffix in %s%s argument '%s'"
 msgstr "引数 `%3$s' に対して無効な接尾辞 %1$s%2$s です"
 
 #: lib/xstrtol-error.c:72
-#, c-format
-msgid "%s%s argument `%s' too large"
+#, fuzzy, c-format
+msgid "%s%s argument '%s' too large"
 msgstr "引数 `%3$s' に対する %1$s%2$s が大きすぎます"
 
 #: lib/version-etc.c:74
@@ -456,7 +458,7 @@ msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "GNU ソフトウェアを使用する際の一般的なヘルプ: <http://www.gnu.org/gethelp/>\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "ファイル %s と %s は異なります\n"
@@ -464,9 +466,9 @@ msgstr "ファイル %s と %s は異なります\n"
 #: src/analyze.c:462
 #, c-format
 msgid "Binary files %s and %s differ\n"
-msgstr "バイナリファイル %s と%s は異なります\n"
+msgstr "ã\83\90ã\82¤ã\83\8aã\83ªã\83¼ã\83\95ã\82¡ã\82¤ã\83« %s ã\81¨%s ã\81¯ç\95°ã\81ªã\82\8aã\81¾ã\81\99\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "ファイル末尾に改行がありません"
 
@@ -480,94 +482,93 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
-msgstr "「%s --help」で、より詳細な情報を調べてみてください。"
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
+msgstr "詳しくは`%s --help'を実行してください。"
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
-msgstr "無効な--ignore-initialの値「%s」"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
+msgstr "無効な --ignore-initial の値 `%s' です"
 
 #: src/cmp.c:147
 #, c-format
 msgid "options -l and -s are incompatible"
-msgstr "オプション-lと-sは両立しません"
+msgstr "オプション -l と -s は同時に指定できません"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
-msgstr "書込み失敗"
+msgstr "書き込みに失敗しました"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "標準出力"
 
 #: src/cmp.c:161
-#, fuzzy
 msgid "-b, --print-bytes          print differing bytes"
-msgstr "-b  --print-bytes  異なるバイトを表示。"
+msgstr "-b, --print-bytes          異なるバイトを表示する"
 
 #: src/cmp.c:162
-#, fuzzy
 msgid "-i, --ignore-initial=SKIP         skip first SKIP bytes of both inputs"
-msgstr "-i SKIP  --ignore-initial=SKIP  入力の先頭SKIPバイトをスキップ。"
+msgstr ""
+"-i, --ignore-initial=SKIP         両方の入力の先頭 SKIP バイトをスキップする"
 
 #: src/cmp.c:163
-#, fuzzy
 msgid ""
 "-i, --ignore-initial=SKIP1:SKIP2  skip first SKIP1 bytes of FILE1 and\n"
 "                                      first SKIP2 bytes of FILE2"
-msgstr "  FILE1のSKIP1バイトとFILE2のSKIP2バイトをスキップ。"
+msgstr ""
+"-i, --ignore-initial=SKIP1:SKIP2  FILE1 の先頭 SKIP1 バイトと FILE2 の先頭\n"
+"                                      SKIP2 バイトをスキップする"
 
 #: src/cmp.c:165
-#, fuzzy
 msgid ""
 "-l, --verbose              output byte numbers and differing byte values"
-msgstr "-l  --verbose  すべての異なるバイトの指数と値を出力。"
+msgstr "-l, --verbose              バイト数および異なるバイトの値を出力する"
 
 #: src/cmp.c:166
-#, fuzzy
 msgid "-n, --bytes=LIMIT          compare at most LIMIT bytes"
-msgstr "-n LIMIT  --bytes=LIMIT  高々LIMITバイトを比較。"
+msgstr "-n, --bytes=LIMIT          最大 LIMIT バイトを比較する"
 
 #: src/cmp.c:167
 msgid "-s, --quiet, --silent      suppress all normal output"
-msgstr ""
+msgstr "-s, --quiet, --silent      通常の表示をすべて抑止する"
 
 #: src/cmp.c:168
 msgid "    --help                 display this help and exit"
-msgstr ""
+msgstr "    --help                 このメッセージを表示して終了する"
 
 #: src/cmp.c:169
-#, fuzzy
 msgid "-v, --version              output version information and exit"
-msgstr "-v  --version  バージョン情報を出力。"
+msgstr "-v, --version              バージョン情報を表示して終了する"
 
 #: src/cmp.c:178
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]\n"
-msgstr ""
-"使用法: %s [オプション]... ファイル1 [ファイル2 [スキップ1 [スキップ2]]]\n"
+msgstr "使用法: %s [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]\n"
 
 #: src/cmp.c:180
 msgid "Compare two files byte by byte."
 msgstr "2つのファイルをバイトごとに比較します。"
 
 #: src/cmp.c:182
-#, fuzzy
 msgid ""
 "The optional SKIP1 and SKIP2 specify the number of bytes to skip\n"
 "at the beginning of each file (zero by default)."
-msgstr "「スキップ1」と「スキップ2」は、各ファイルをスキップするバイト数。"
+msgstr ""
+"オプションの SKIP1 と SKIP2 はそれぞれのファイルの先頭からスキップする\n"
+"バイト数を指定します(デフォルトは 0)。"
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
+"長い形式のオプションで必須の引数は、それに対応する短い形式のオプションでも同"
+"様に必須です。\n"
 
 #: src/cmp.c:191
 msgid ""
@@ -575,34 +576,35 @@ msgid ""
 "kB 1000, K 1024, MB 1,000,000, M 1,048,576,\n"
 "GB 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y."
 msgstr ""
-"スキップの値には、次の係数を続けることもできます。\n"
-"kB 1000、K 1024、MB 1,000,000、M 1,048,576、\n"
-"GB 1,000,000,000、G 1,073,741,824、またT、P、E、Z、Yについても同様。"
+"SKIP の値には次の倍数を表す接尾辞を付けることも出来ます:\n"
+"kB 1000, K 1024, MB 1,000,000, M 1,048,576,\n"
+"GB 1,000,000,000, G 1,073,741,824。また、 T, P, E, Z, Y も同様です。"
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
-msgstr "もしファイルがないか「-」のとき、標準入力を読みます。"
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
+msgstr "FILE が `-' または指定しない場合、標準入力から読み込みます。"
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "終了コードは、入力ファイルが同じ場合は 0、入力ファイルが異なる場合は 1、\n"
 "問題が発生したときは 2 になります。"
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
-msgstr "無効な--bytesの値「%s」"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
+msgstr "無効な --bytes の値 `%s' です。"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
-msgstr "「%s」の後のオペランドがありません"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
+msgstr "`%s' の後に被演算子がありません"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
-msgstr "余計なオペランド「%s」"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
+msgstr "余分な被演算子 `%s' です。"
 
 #: src/cmp.c:491
 #, c-format
@@ -617,323 +619,321 @@ msgstr "%s %s 異なります: バイト %s、行 %s %3o %s %3o %s\n"
 #: src/cmp.c:559
 #, c-format
 msgid "cmp: EOF on %s\n"
-msgstr "cmp: ファイル%sの末尾\n"
+msgstr "cmp: %s でファイル終端 (EOF) に達しました\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr "Paul Eggert"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr "Mike Haertel"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr "David Hayes"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr "Richard Stallman"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr "Len Tower"
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
-msgstr "無効な前後の幅「%s」"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
+msgstr "無効な前後の行数 `%s' です"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "このホストではページ割付けをサポートしません"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "ファイル・ラベル・オプションが多すぎます"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
-msgstr "無効な幅「%s」"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
+msgstr "無効な幅 `%s' です"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
-msgstr "幅のオプションが衝突しています"
+msgstr "幅のオプションが競合しています"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
-msgstr "無効な横幅「%s」"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
+msgstr "無効な横幅 `%s' です"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
-msgstr "無効なタブ幅「%s」"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
+msgstr "無効なタブ幅 `%s' です"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
-msgstr "タブ幅のオプションが衝突しています"
+msgstr "タブ幅のオプションが競合しています"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
-msgstr "--from-fileと--to-fileの両方を指定しました"
+msgstr "--from-file および --to-file の両方が指定されています"
 
-#: src/diff.c:851
-#, fuzzy
+#: src/diff.c:854
 msgid "    --normal                  output a normal diff (the default)"
-msgstr "--normal  標準的な差分を出力。"
+msgstr "    --normal                  通常の diff を出力する (デフォルト)"
 
-#: src/diff.c:852
-#, fuzzy
+#: src/diff.c:855
 msgid "-q, --brief                   report only when files differ"
-msgstr "-q  --brief  ファイルが異なるかどうかだけを出力。"
+msgstr "-q, --brief                   ファイルが異なるかどうかのみ表示する"
 
-#: src/diff.c:853
-#, fuzzy
+#: src/diff.c:856
 msgid "-s, --report-identical-files  report when two files are the same"
-msgstr "-s  --report-identical-files  両ファイルが同じときに報告する。"
+msgstr ""
+"-s, --report-identical-files  両方のファイルが同一であるかどうかのみ表示する"
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
-msgstr "-w NUM  --width=NUM  行当り高々NUM (既定は130) 桁で出力。"
+msgstr ""
+"-c, -C NUM, --context[=NUM]   コンテキスト diff 形式で前後 NUM (デフォルト: "
+"3) 行を表示する"
 
-#: src/diff.c:855
-#, fuzzy
+#: src/diff.c:858
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
-msgstr "-w NUM  --width=NUM  行当り高々NUM (既定は130) 桁で出力。"
+msgstr ""
+"-u, -U NUM, --unified[=NUM]   ユニファイド diff 形式で前後 NUM (デフォルト: "
+"3) 行を表示する"
 
-#: src/diff.c:856
-#, fuzzy
+#: src/diff.c:859
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  すべてテキストとして処理。"
+msgstr "-e, --ed                      ed スクリプトを出力する"
 
-#: src/diff.c:857
-#, fuzzy
+#: src/diff.c:860
 msgid "-n, --rcs                     output an RCS format diff"
-msgstr "-n  --rcs  RCS形式の差分を出力。"
+msgstr "-n, --rcs                     RCS 形式の diff を出力する"
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  バージョン情報を出力。"
+msgstr "-y, --side-by-side            出力を2列にする"
 
-#: src/diff.c:859
-#, fuzzy
+#: src/diff.c:862
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
-msgstr "-w NUM  --width=NUM  行当り高々NUM (既定は130) 桁で出力。"
+msgstr ""
+"-W, --width=NUM               表示する列を最大 NUM (デフォルト: 130) 列にする"
 
-#: src/diff.c:860
-#, fuzzy
+#: src/diff.c:863
 msgid ""
 "    --left-column             output only the left column of common lines"
-msgstr "-l  --left-column  共通行は左列だけ出力。"
+msgstr "    --left-column             共通行は左側の列のみ表示する"
 
-#: src/diff.c:861
-#, fuzzy
+#: src/diff.c:864
 msgid "    --suppress-common-lines   do not output common lines"
-msgstr "-s  --suppress-common-lines  共通行の出力を抑止。"
+msgstr "    --suppress-common-lines   共通行の出力を抑止する"
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
-msgstr ""
+msgstr "-p, --show-c-function         変更がある C 関数を表示する"
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
-msgstr ""
+msgstr "-F, --show-function-line=RE   RE に一致する最も近い行を表示する"
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
+"    --label LABEL             ファイル名の代わりに LABEL を使用する\n"
+"                                (繰り返し指定できます)"
 
-#: src/diff.c:868
-#, fuzzy
+#: src/diff.c:871
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
-msgstr "-t  --expand-tabs  出力のタブを空白に展開する。"
+msgstr "-t, --expand-tabs             出力時にタブをスペースに展開する"
 
-#: src/diff.c:869
-#, fuzzy
+#: src/diff.c:872
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
-msgstr "-T  --initial-tab  タブで始まる行は、前にタブを置いて揃える。"
+msgstr ""
+"-T, --initial-tab             タブで始まる行は、前にタブを置いてそろえる"
 
-#: src/diff.c:870
-#, fuzzy
+#: src/diff.c:873
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
-msgstr "--tabsize=NUM  タブ幅を NUM (デフォルトは 8) 列に設定する。"
+msgstr ""
+"    --tabsize=NUM             タブ幅を NUM (デフォルト: 8) 列に設定する"
 
-#: src/diff.c:871
-#, fuzzy
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
-msgstr "--suppress-blank-empty  空の出力行でスペースまたはタブを抑止する。"
+msgstr ""
+"    --suppress-blank-empty    空の出力行の前後ではスペースまたはタブを抑止す"
+"る"
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
-msgstr "-l  --paginate  出力を `pr' でページ分割する。"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
+msgstr ""
+"-l, --paginate                ページ割り付けを行うために `pr' を通して出力す"
+"る"
 
-#: src/diff.c:874
-#, fuzzy
+#: src/diff.c:877
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
-msgstr "-r  --recursive  見つかった下位ディレクトリーを再帰的に比較する。"
+msgstr "-r, --recursive                 サブディレクトリーを再帰的に比較する"
 
-#: src/diff.c:875
-#, fuzzy
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 msgid "-N, --new-file                  treat absent files as empty"
-msgstr "-N  --new-file  存在しないファイルは空とみなす。"
+msgstr ""
+"-N, --new-file                  存在しないファイルを空ファイルとして扱う"
 
-#: src/diff.c:876
-#, fuzzy
+#: src/diff.c:880
 msgid "    --unidirectional-new-file   treat absent first files as empty"
-msgstr "--unidirectional-new-file  存在しない前者のファイルは空とみなす。"
+msgstr ""
+"    --unidirectional-new-file   存在しない最初のファイルを空ファイルとして扱"
+"う"
 
-#: src/diff.c:877
-#, fuzzy
+#: src/diff.c:881
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
-msgstr "--ignore-file-name-case  ファイル名の大文字小文字を無視。"
+msgstr "    --ignore-file-name-case     ファイル名の大文字と小文字を区別しない"
 
-#: src/diff.c:878
-#, fuzzy
+#: src/diff.c:882
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
-msgstr "--no-ignore-file-name-case  ファイル名の大文字小文字を区別。"
+msgstr "    --no-ignore-file-name-case  ファイル名の大文字と小文字を区別する"
 
-#: src/diff.c:879
-#, fuzzy
+#: src/diff.c:883
 msgid "-x, --exclude=PAT               exclude files that match PAT"
-msgstr "-x PAT  --exclude=PAT  PATと一致するファイルを除外する。"
+msgstr "-x, --exclude=PAT               PAT に一致するファイルを除外する"
 
-#: src/diff.c:880
-#, fuzzy
+#: src/diff.c:884
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
-"-X FILE  --exclude-from=FILE  FILE内の各パターンと一致するファイルを除外。"
+"-X, --exclude-from=FILE         FILE 内のパターンに一致するファイルを除外する"
 
-#: src/diff.c:881
-#, fuzzy
+#: src/diff.c:885
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
-"-S FILE  --starting-file=FILE  ディレクトリーを比較する際、FILEから始める。"
+"-S, --starting-file=FILE        ディレクトリーを比較する時に FILE から始める"
 
-#: src/diff.c:882
-#, fuzzy
+#: src/diff.c:886
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
 "                                  FILE1 can be a directory"
 msgstr ""
-"--from-file=FILE1  全オペランドとFILE1を比較。FILE1はディレクトリーも可。"
+"    --from-file=FILE1           すべての被演算子と FILE1 を比較する\n"
+"                                  FILE1 はディレクトリーでもよい"
 
-#: src/diff.c:884
-#, fuzzy
+#: src/diff.c:888
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
 "                                  FILE2 can be a directory"
 msgstr ""
-"--to-file=FILE2  FILE2と全オペランドを比較。FILE2はディレクトリーも可。"
+"    --to-file=FILE2             すべての被演算子を FILE2 を比較する\n"
+"                                  FILE2 はディレクトリーでもよい"
 
-#: src/diff.c:887
-#, fuzzy
+#: src/diff.c:891
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
-msgstr "-i  --ignore-case  ファイル内容の大文字小文字を無視。"
+msgstr ""
+"-i, --ignore-case               ファイル内容の比較時に大文字と小文字を区別し"
+"ない"
 
-#: src/diff.c:888
-#, fuzzy
+#: src/diff.c:892
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
-msgstr "-E  --ignore-tab-expansion  タブ展開の差を無視。"
+msgstr "-E, --ignore-tab-expansion      タブ展開によって発生する違いを無視する"
 
-#: src/diff.c:889
-#, fuzzy
+#: src/diff.c:893
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
-msgstr "-w  --ignore-all-space  全空白を無視。"
+msgstr "-Z, --ignore-trailing-space     行末にあるスペースを無視する"
 
-#: src/diff.c:890
-#, fuzzy
+#: src/diff.c:894
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
-msgstr "-b  --ignore-space-change  空白数の差を無視。"
+msgstr "-b, --ignore-space-change       スペース数により生じる違いを無視する"
 
-#: src/diff.c:891
-#, fuzzy
+#: src/diff.c:895
 msgid "-w, --ignore-all-space          ignore all white space"
-msgstr "-w  --ignore-all-space  全空白を無視。"
+msgstr "-w, --ignore-all-space          すべてのスペースを無視する"
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
-msgstr "-B  --ignore-blank-lines  空白だけの行の差を無視。"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
+msgstr ""
+"-B, --ignore-blank-lines        空白類文字だけの行により生じる違いを無視する"
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
-msgstr "-i RE  --ignore-matching-lines=RE  REに一致するすべての行の差を無視。"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
+msgstr ""
+"-I, --ignore-matching-lines=RE  RE と一致するすべての行の違いを無視する"
 
-#: src/diff.c:895
-#, fuzzy
+#: src/diff.c:899
 msgid "-a, --text                      treat all files as text"
-msgstr "-a  --text  すべてテキストとして処理。"
+msgstr "-a, --text                      すべてのファイルをテキストとして扱う"
 
-#: src/diff.c:896
-#, fuzzy
+#: src/diff.c:900
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
-msgstr "--strip-trailing-cr  入力から行末キャリッジ・リターンを削除。"
+msgstr ""
+"    --strip-trailing-cr         入力から CR (キャリッジリターン) を除去する"
 
-#: src/diff.c:898
-#, fuzzy
+#: src/diff.c:902
 msgid "    --binary                    read and write data in binary mode"
-msgstr "--binary  バイナリー・モードで読み書き。"
+msgstr "    --binary                    バイナリーモードでデータを読み書きする"
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
-msgstr "-D NAME  --ifdef=NAME  差分を「#ifdef NAME」で示す併合ファイルを出力。"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
+msgstr ""
+"-D, --ifdef=NAME                パッチ適用時に `#ifdef NAME' で併合されるよう"
+"に差分を出力する"
 
-#: src/diff.c:902
-#, fuzzy
+#: src/diff.c:906
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
-msgstr "--GTYPE-group-format=GFMT  同様だが、GTYPEの入力群をGFMTで整形。"
+msgstr "    --GTYPE-group-format=GFMT   GTYPE の入力グループを GFMT で整形する"
 
-#: src/diff.c:903
-#, fuzzy
+#: src/diff.c:907
 msgid "    --line-format=LFMT          format all input lines with LFMT"
-msgstr "--line-format=LFMT  同様だが、全入力行をLFMTで整形。"
+msgstr "    --line-format=LFMT          すべての入力行を LFMT で整形する"
 
-#: src/diff.c:904
-#, fuzzy
+#: src/diff.c:908
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
-msgstr "--LTYPE-line-format=LFMT  同様だが、LTYPE入力行をLFMTで整形。"
+msgstr "    --LTYPE-line-format=LFMT    LTYPE 入力行を LFMT で整形する"
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
+"  これらの書式整形オプションは -D/--ifdef に適用される diff の出力をきれい"
+"に\n"
+"    見えるように制御するために提供されます。"
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
-"  ここでLTYPEは「old」「new」「unchanged」。GTYPEはLTYPEか「changed」。"
+"  LTYPE は `old'、`new'、または`unchanged'です。GTYPE は LTYPE または "
+"`changed' です。"
 
-#: src/diff.c:908
-#, fuzzy
+#: src/diff.c:912
 msgid ""
 "  GFMT (only) may contain:\n"
 "    %<  lines from FILE1\n"
@@ -948,33 +948,32 @@ msgid ""
 "        M  L+1\n"
 "    %(A=B?T:E)  if A equals B then T else E"
 msgstr ""
-"  GFMTには以下を指定できます:\n"
-"    %<  FILE1の行\n"
-"    %>  FILE2の行\n"
-"    %=  FILE1とFILE2の共通行\n"
-"    %[-][WIDTH][.[PREC]]{doxX}LETTER  printf風指定でのLETTER\n"
-"      LETTERは、以下の文字で新しい方、小文字で古い方:\n"
+"  GFMT でのみ指定できる書式:\n"
+"    %<  FILE1 からの行\n"
+"    %>  FILE2 からの行\n"
+"    %=  FILE1 と FILE2 で共通の行\n"
+"    %[-][WIDTH][.[PREC]]{doxX}LETTER  printf 書式の LETTER\n"
+"      LETTER は次の通りです。ただし古いグループでは小文字です:\n"
 "        F  最初の行番号\n"
 "        L  最後の行番号\n"
 "        N  行数 = L-F+1\n"
 "        E  F-1\n"
-"        M  L+1"
+"        M  L+1\n"
+"    %(A=B?T:E)  A と B が等しい場合は T、等しくない場合は E"
 
-#: src/diff.c:920
-#, fuzzy
+#: src/diff.c:924
 msgid ""
 "  LFMT (only) may contain:\n"
 "    %L  contents of line\n"
 "    %l  contents of line, excluding any trailing newline\n"
 "    %[-][WIDTH][.[PREC]]{doxX}n  printf-style spec for input line number"
 msgstr ""
-"  LFMTには以下を指定できます:\n"
-"    %L  行内容\n"
-"    %l  後続する改行をのぞいた行内容\n"
-"    %[-][WIDTH][.[PREC]]{doxX}n  printf風指定での入力行数"
+"  LFMT でのみ指定できる書式:\n"
+"    %L  行内容\n"
+"    %l  行末にあるすべての種類の改行文字を除いた行の内容\n"
+"    %[-][WIDTH][.[PREC]]{doxX}n  printf 書式の入力行"
 
-#: src/diff.c:924
-#, fuzzy
+#: src/diff.c:928
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
 "    %%  %\n"
@@ -982,98 +981,105 @@ msgid ""
 "    %c'\\OOO'  the character with octal code OOO\n"
 "    C    the character C (other characters represent themselves)"
 msgstr ""
-"  GFMTやLFMTには以下を指定できます:\n"
+"  GFMT と LFMT の両方で指摘できる書式:\n"
 "    %%  %\n"
-"    %c'C'  文字C一文字\n"
-"    %c'\\OOO'  8進コードOOOの文字"
+"    %c'C'  単一文字 C\n"
+"    %c'\\OOO'  八進数コード OOO\n"
+"    C    文字 C (他の文字も同様に表す)"
 
-#: src/diff.c:930
-#, fuzzy
+#: src/diff.c:934
 msgid "-d, --minimal            try hard to find a smaller set of changes"
-msgstr "-d  --minimal  できるだけがんばって、小さい差分を見つける。"
+msgstr "-d, --minimal            差分の大きさが最小となるように違いを検出する"
 
-#: src/diff.c:931
-#, fuzzy
+#: src/diff.c:935
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
-msgstr "--horizon-lines=NUM  先頭と末尾にある共通なNUM行を確保。"
+msgstr "    --horizon-lines=NUM  差分の前後にある共通部分を NUM 行保持する"
 
-#: src/diff.c:932
-#, fuzzy
+#: src/diff.c:936
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
-msgstr "-H  --speed-large-files  巨大なファイルに分散した変更があると仮定。"
+msgstr ""
+"    --speed-large-files  巨大なファイルに小さな差分が分散していると仮定する"
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
-msgstr ""
+msgstr "    --help               このヘルプを表示して終了する"
 
-#: src/diff.c:935
-#, fuzzy
+#: src/diff.c:939
 msgid "-v, --version            output version information and exit"
-msgstr "-v  --version  バージョン情報を出力。"
+msgstr "-v, --version            バージョン情報を表示して終了する"
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
-msgstr "FILESは、「FILE1 FILE2」「DIR1 DIR2」「DIR FILE...」「FILE... DIR」。"
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
+msgstr ""
+"FILES は `FILE1 FILE2'、`DIR1 DIR2' 、`DIR FILE...'、または `FILE... DIR' で"
+"す。"
 
-#: src/diff.c:938
-#, fuzzy
+#: src/diff.c:942
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
-msgstr "--from-fileや--to-fileを指定すれば、FILESの制限はありません。"
+msgstr ""
+"--from-file または --to-file が与えられた場合、FILE に制限はありません。"
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
-msgstr "ファイルが「-」のとき、標準入力を読みます。"
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
+msgstr "FILE が `-' の場合、標準入力から読み込みます。"
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
-msgstr "使用法: %s [オプション]... FILES\n"
+msgstr "使用法: %s [OPTION]... FILES\n"
 
-#: src/diff.c:950
-#, fuzzy
+#: src/diff.c:954
 msgid "Compare FILES line by line."
-msgstr "2つのファイルを行ごとに比較します。"
+msgstr "FILES を行ごとに比較します。"
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
-msgstr "%sオプションの値「%s」が衝突しています"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
+msgstr "%s オプションの値 `%s' が競合しています"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
-msgstr "出力指定オプションが衝突しています"
+msgstr "出力形式オプションが競合しています"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
-msgstr "%sだけに発見: %s\n"
+msgstr "%s のみに存在: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
-msgstr "「-」はディレクトリーと比較できません"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
+msgstr "`-' とディレクトリーは比較できません"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
-msgstr "-Dオプションはディレクトリーでのサポートをしていません"
+msgstr "-D オプションはディレクトリーにはサポートされません"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
-msgstr "共通の下位ディレクトリー: %sと%s\n"
+msgstr "共通のサブディレクトリー: %s と %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
-msgstr "ファイル%sは%s、ファイル%sは%s\n"
+msgstr "ファイル %s は %s です。一方、ファイル %s は %s です\n"
+
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "ファイル %s と %s は異なります\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
-msgstr "ファイル%sと%sは同一\n"
+msgstr "ファイル %s と %s は同一です\n"
 
 #. This is a proper name. See the gettext manual, section Names.
 #: src/diff3.c:41
@@ -1083,103 +1089,104 @@ msgstr "Randy Smith"
 #: src/diff3.c:313
 #, c-format
 msgid "incompatible options"
-msgstr "両立しないオプション"
+msgstr "同時に指定できないオプションです"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
-msgstr "入力ファイルに「-」が複数回指定されました"
+#, fuzzy
+msgid "'-' specified for more than one input file"
+msgstr "入力ファイルとして `-' が複数回指定されています"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
-msgstr "読込み失敗"
+msgstr "読み込みに失敗しました"
 
 #: src/diff3.c:428
-#, fuzzy
 msgid "-A, --show-all              output all changes, bracketing conflicts"
-msgstr "-A  --show-all  衝突をくくり、全変更を出力。"
+msgstr ""
+"-A, --show-all              競合をすべて括弧でくくり、変更をすべて出力する"
 
 #: src/diff3.c:430
-#, fuzzy
 msgid ""
 "-e, --ed                    output ed script incorporating changes\n"
 "                                from OLDFILE to YOURFILE into MYFILE"
-msgstr "-e  --ed  OLDFILEからYOURFILEへのMYFILEにたいする未併合の変更を出力。"
+msgstr ""
+"-e, --ed                    OLDFILE、YOURFILE、MYFILE の間の違いを ed\n"
+"                                スクリプトとして出力する\n"
+"                                "
 
 #: src/diff3.c:432
-#, fuzzy
 msgid "-E, --show-overlap          like -e, but bracket conflicts"
-msgstr "-E  --show-overlap  衝突をくくり、未併合の変更を出力。"
+msgstr "-E, --show-overlap          -e と同様だが、競合を括弧でくくる"
 
 #: src/diff3.c:433
-#, fuzzy
 msgid ""
 "-3, --easy-only             like -e, but incorporate only nonoverlapping "
 "changes"
-msgstr "-3  --easy-only  衝突していない、未併合の変更を出力。"
+msgstr ""
+"-3, --easy-only             -e と同様だが、3ファイル競合で無い部分のみ出力す"
+"る"
 
 #: src/diff3.c:434
-#, fuzzy
 msgid ""
 "-x, --overlap-only          like -e, but incorporate only overlapping changes"
-msgstr "-x  --overlap-only  重複した変更を出力。"
+msgstr ""
+"-x, --overlap-only          -e と同様だが、3ファイル競合の部分のみ出力する"
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
-msgstr "-E  --show-overlap  衝突をくくり、未併合の変更を出力。"
+msgstr "-X                          -x と同様だが、競合を括弧でくくる"
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
-msgstr "-i  edスクリプトの後に「w」と「q」コマンドを追加。"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
+msgstr ""
+"-i                          ed スクリプトの後に `w' と `q' コマンドを追加する"
 
 #: src/diff3.c:438
 msgid ""
 "-m, --merge                 output actual merged file, according to\n"
 "                                -A if no other options are given"
 msgstr ""
+"-m, --merge                 他のオプションを指定していない場合、-A 従って\n"
+"                                実際に併合されたファイルを出力する"
 
 #: src/diff3.c:441
-#, fuzzy
 msgid "-a, --text                  treat all files as text"
-msgstr "-a  --text  すべてテキストとして処理。"
+msgstr "-a, --text                  すべてのファイルをテキストとして扱う"
 
 #: src/diff3.c:442
-#, fuzzy
 msgid "    --strip-trailing-cr     strip trailing carriage return on input"
-msgstr "--strip-trailing-cr  入力から行末キャリッジ・リターンを削除。"
+msgstr "    --strip-trailing-cr     入力から末尾のキャリッジリターンを除去する"
 
 #: src/diff3.c:443
-#, fuzzy
 msgid "-T, --initial-tab           make tabs line up by prepending a tab"
-msgstr "-T  --initial-tab  タブで始まる行は、前にタブを置いて揃える。"
+msgstr "-T, --initial-tab           タブで始まる行は、前にタブを置いてそろえる"
 
 #: src/diff3.c:444
-#, fuzzy
 msgid "    --diff-program=PROGRAM  use PROGRAM to compare files"
-msgstr "--diff-program=PROGRAM  ファイルの比較にPROGRAMを使用。"
+msgstr "    --diff-program=PROGRAM  ファイル比較に PROGRAM を使用する"
 
 #: src/diff3.c:445
 msgid ""
 "-L, --label=LABEL           use LABEL instead of file name\n"
 "                                (can be repeated up to three times)"
 msgstr ""
+"-L, --label=LABEL           ファイル名の代わりに LABEL を使用する\n"
+"                                (3回まで繰り返し指定できる)"
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  すべてテキストとして処理。"
+msgstr "    --help                  このヘルプを表示して終了する"
 
 #: src/diff3.c:449
-#, fuzzy
 msgid "-v, --version               output version information and exit"
-msgstr "-v  --version  バージョン情報を出力。"
+msgstr "-v, --version               バージョン情報を表示して終了する"
 
 #: src/diff3.c:458
 #, c-format
 msgid "Usage: %s [OPTION]... MYFILE OLDFILE YOURFILE\n"
-msgstr "使用法: %s [オプション]... MYFILE OLDFILE YOURFILE\n"
+msgstr "Usage: %s [OPTION]... MYFILE OLDFILE YOURFILE\n"
 
 #: src/diff3.c:460
 msgid "Compare three files line by line."
@@ -1198,6 +1205,15 @@ msgid ""
 "and output the actual merged file.  For unusual input, this is more\n"
 "robust than using ed.\n"
 msgstr ""
+"\n"
+"デフォルトでは違いが人間にとって読みやすい出力形式です。\n"
+"\n"
+"-e、-E、-x、-X (およびその長い形式) オプションを指定した場合はデフォルト\n"
+"の代わりに ed スクリプトを出力します。\n"
+"\n"
+"最後に、-m (--merge) オプションにより diff3 は内部で併合を行い、実際に\n"
+"併合されたファイルを出力します。通常の入力としては、これは ed を使用す\n"
+"るより強固です。\n"
 
 #: src/diff3.c:482
 msgid "Exit status is 0 if successful, 1 if conflicts, 2 if trouble."
@@ -1207,178 +1223,170 @@ msgstr ""
 
 #: src/diff3.c:675
 msgid "internal error: screwup in format of diff blocks"
-msgstr "å\86\85é\83¨ã\82¨ã\83©ã\83¼: å·®å\88\86ã\83\96ã\83­ã\83\83ã\82¯ã\81®å½¢å¼\8fã\81«ã\83\8fã\83\9eã\82\8b"
+msgstr "å\86\85é\83¨ã\82¨ã\83©ã\83¼: å·®å\88\86ã\83\96ã\83­ã\83\83ã\82¯ã\81®å½¢å¼\8fã\82\92ã\81\86ã\81¾ã\81\8få\87¦ç\90\86ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\81§ã\81\97ã\81\9f"
 
 #: src/diff3.c:968
 #, c-format
 msgid "%s: diff failed: "
-msgstr "%s: diff失敗: "
+msgstr "%s: diff に失敗しました: "
 
 #: src/diff3.c:990
 msgid "internal error: invalid diff type in process_diff"
-msgstr "内部エラー: process_diff内で無効な差分型"
+msgstr "内部エラー: process_diff 内に無効な差分型があります"
 
 #: src/diff3.c:1015
 msgid "invalid diff format; invalid change separator"
-msgstr "無効な差分形式; 無効な変更区切り"
+msgstr "無効な差分形式です。無効な変更区切りです"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
-msgstr "無効な差分形式; 最終行が未終端"
+msgstr "無効な差分形式です。最後の行が不完全です"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "下位プログラム `%s' が起動できません"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
-msgstr "無効な差分形式; 不正な行頭文字群"
+msgstr "無効な差分形式です。行の先頭文字が誤っています"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
-msgstr "内部エラー: 出力に渡される無効な差分型"
+msgstr "内部エラー: 無効な差分型が出力に渡されました"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
-msgstr "入力ファイルが縮んだ"
+msgstr "入力ファイルが小さくなりました"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
-msgstr "ファイル名「%s」と「%s」を比較できません"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
+msgstr "ファイル `%s' と `%s' を比較できません"
 
 #: src/dir.c:209
 #, c-format
 msgid "%s: recursive directory loop"
-msgstr "%s: 再帰的なディレクトリループです"
+msgstr "%s: ディレクトリーが再帰的にループしています"
 
 #. This is a proper name. See the gettext manual, section Names.
 #: src/sdiff.c:42
 msgid "Thomas Lord"
 msgstr "Thomas Lord"
 
-#: src/sdiff.c:170
-#, fuzzy
+#: src/sdiff.c:173
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
-msgstr "-o FILE  --output=FILE  対話的に操作し、出力はFILEへ。"
+msgstr "-o, --output=FILE            対話的に操作し、出力を FILE に送る"
 
-#: src/sdiff.c:172
-#, fuzzy
+#: src/sdiff.c:175
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
-msgstr "-i  --ignore-case  ファイル内容の大文字小文字を同一視。"
+msgstr "-i, --ignore-case            大文字と小文字を区別しない"
 
-#: src/sdiff.c:173
-#, fuzzy
+#: src/sdiff.c:176
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
-msgstr "-E  --ignore-tab-expansion  タブ展開の差を無視。"
+msgstr "-E, --ignore-tab-expansion   タブ展開によって発生する違いを無視する"
 
-#: src/sdiff.c:174
-#, fuzzy
+#: src/sdiff.c:177
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
-msgstr "-w  --ignore-all-space  全空白を無視。"
+msgstr "-Z, --ignore-trailing-space  行末にあるスペースを無視する"
 
-#: src/sdiff.c:175
-#, fuzzy
+#: src/sdiff.c:178
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
-msgstr "-b  --ignore-space-change  空白数の差を無視。"
+msgstr "-b, --ignore-space-change    スペース数により生じる違いを無視する"
 
-#: src/sdiff.c:176
-#, fuzzy
+#: src/sdiff.c:179
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  全空白を無視。"
+msgstr "-W, --ignore-all-space       すべてのスペースを無視する"
 
-#: src/sdiff.c:177
-#, fuzzy
+#: src/sdiff.c:180
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
-msgstr "-B  --ignore-blank-lines  空白だけの行の差を無視。"
+msgstr ""
+"-B, --ignore-blank-lines     空白類文字だけの行により生じる違いを無視する"
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
 #, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I, --ignore-matching-lines=RE  RE と一致するすべての行の違いを無視する"
+
+#: src/sdiff.c:182
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
-msgstr "--strip-trailing-cr  入力から行末キャリッジ・リターンを削除。"
+msgstr ""
+"    --strip-trailing-cr      入力から末尾のキャリッジリターンを除去する"
 
-#: src/sdiff.c:180
-#, fuzzy
+#: src/sdiff.c:183
 msgid "-a, --text                   treat all files as text"
-msgstr "-a  --text  すべてテキストとして処理。"
+msgstr "-a, --text                   すべてのファイルをテキストとして扱う"
 
-#: src/sdiff.c:182
-#, fuzzy
+#: src/sdiff.c:185
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
-msgstr "-w NUM  --width=NUM  行当り高々NUM (既定は130) 桁で出力。"
+msgstr ""
+"-w, --width=NUM              表示する列を最大 NUM (デフォルト: 130) 列にする"
 
-#: src/sdiff.c:183
-#, fuzzy
+#: src/sdiff.c:186
 msgid ""
 "-l, --left-column            output only the left column of common lines"
-msgstr "-l  --left-column  共通行は左列だけ出力。"
+msgstr "-l, --left-column            共通行は左側の列のみ表示する"
 
-#: src/sdiff.c:184
-#, fuzzy
+#: src/sdiff.c:187
 msgid "-s, --suppress-common-lines  do not output common lines"
-msgstr "-s  --suppress-common-lines  共通行の出力を抑止。"
+msgstr "-s, --suppress-common-lines  共通行の出力を抑止する"
 
-#: src/sdiff.c:186
-#, fuzzy
+#: src/sdiff.c:189
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
-msgstr "-t  --expand-tabs  出力のタブを空白に展開する。"
+msgstr "-t, --expand-tabs            出力時にタブをスペースに展開する"
 
-#: src/sdiff.c:187
-#, fuzzy
+#: src/sdiff.c:190
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
-msgstr "--tabsize=NUM  タブ幅を NUM (デフォルトは 8) 列に設定する。"
+msgstr "    --tabsize=NUM            タブ幅を NUM (デフォルト: 8) 列に設定する"
 
-#: src/sdiff.c:189
-#, fuzzy
+#: src/sdiff.c:192
 msgid "-d, --minimal                try hard to find a smaller set of changes"
-msgstr "-d  --minimal  できるだけがんばって、小さい差分を見つける。"
+msgstr ""
+"-d, --minimal                差分の大きさが最小となるように違いを検出する"
 
-#: src/sdiff.c:190
-#, fuzzy
+#: src/sdiff.c:193
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
-msgstr "-H  --speed-large-files  巨大なファイルに分散した変更があると仮定。"
+msgstr ""
+"-H, --speed-large-files      巨大なファイルに小さな差分が分散していると仮定す"
+"る"
 
-#: src/sdiff.c:191
-#, fuzzy
+#: src/sdiff.c:194
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
-msgstr "--diff-program=PROGRAM  ファイルの比較にPROGRAMを使用。"
+msgstr "    --diff-program=PROGRAM   ファイル比較に PROGRAM を使用する"
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  すべてテキストとして処理。"
+msgstr "    --help                   このヘルプを表示して終了する"
 
-#: src/sdiff.c:194
-#, fuzzy
+#: src/sdiff.c:197
 msgid "-v, --version                output version information and exit"
-msgstr "-v  --version  バージョン情報を出力。"
+msgstr "-v, --version                バージョン情報を表示して終了する"
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "使用法: %s [OPTION]... FILE1 FILE2\n"
 
-#: src/sdiff.c:205
-#, fuzzy
+#: src/sdiff.c:208
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
-msgstr "ファイル差分の2段組併合"
+msgstr "FILE1 と FILE2 の差分を2段組で比較しながら併合します。"
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "標準出力は対話的に併合できません"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
-msgstr "比較対象は両方ともディレクトリ"
+msgstr "比較対象は両方ともディレクトリーです"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
@@ -1391,16 +1399,16 @@ msgid ""
 "v:\tVerbosely include common lines.\n"
 "q:\tQuit.\n"
 msgstr ""
-"ed:\t両方の版にヘッダーで飾って、利用し、編集。\n"
-"eb:\t両側の版を使用して編集。\n"
-"el:\t左側の版を使用して編集。\n"
-"er:\t右側の版を使用して編集。\n"
-"e:\t新版を編集。\n"
-"l:\t左側の版を使用。\n"
-"r:\t右側の版を使用。\n"
-"s:\t共通行を寡黙に含む。\n"
-"v:\t共通行を饒舌に含む。\n"
-"q:\t終了。\n"
+"ed:           両方にヘッダーを付加し、両方の版を編集して使用する。\n"
+"eb:           両方の版を編集して使用する。\n"
+"el または e1: 左側の版を編集して使用する。\n"
+"er または e2: 右側の版を編集して使用する。\n"
+"e:            両方の版を破棄し、新規行を編集する。\n"
+"l または 1:   左側の版を使用する。\n"
+"r または 2:   右側の版を使用する。\n"
+"s:            共通行を暗黙的に含める。\n"
+"v:            共通行を明示して含める。\n"
+"q:            終了する。\n"
 
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
@@ -1408,49 +1416,15 @@ msgstr ""
 #~ msgid "-s  --quiet  --silent  Output nothing; yield exit status only."
 #~ msgstr "-s  --quiet  --silent  出力なし。終了ステータスのみ。"
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  バージョン情報を出力。"
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  この説明を出力。"
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "3つのファイルを行ごとに比較します。"
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr "-E  --ignore-tab-expansion  タブ展開の差を無視。"
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr "-b  --ignore-space-change  空白数の差を無視。"
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  全空白を無視。"
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr "-B  --ignore-blank-lines  空白だけの行の差を無視。"
-
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr "--strip-trailing-cr  入力から行末キャリッジ・リターンを削除。"
-
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  すべてテキストとして処理。"
-
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1460,10 +1434,6 @@ msgstr ""
 #~ "  -p  --show-c-function  各変更を含むCの関数名を表示。\n"
 #~ "  -F RE  --show-function-line=RE  REと一致する直近の行を表示。"
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  edスクリプトを出力。"
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1475,30 +1445,10 @@ msgstr ""
 #~ "  --left-column  共通行は左列だけ出力。\n"
 #~ "  --suppress-common-lines  共通行の出力を抑止。"
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs  出力のタブを空白に展開する。"
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr "-T  --initial-tab  タブで始まる行は、前にタブを置いて揃える。"
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr "--tabsize=NUM  タブ幅を NUM (デフォルトは 8) 列に設定する。"
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  できるだけがんばって、小さい差分を見つける。"
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr "--speed-large-files  巨大なファイルに分散した変更があると仮定。"
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr "-A  --show-all  衝突をくくり、全変更を出力。"
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "-X  衝突をくくりながら、変更を出力。"
 
@@ -1508,49 +1458,3 @@ msgstr ""
 
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L LABEL  --label=LABEL  ファイル名の代わりにLABELを使用。"
-
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr "--diff-program=PROGRAM  ファイルの比較にPROGRAMを使用。"
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  全空白を無視。"
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr "-w NUM  --width=NUM  行当り高々NUM (既定は130) 桁で出力。"
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "-l  --left-column  共通行は左列だけ出力。"
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr "--speed-large-files  巨大なファイルに分散した変更があると仮定。"
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "読込み失敗"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "書込み失敗"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "読込み失敗"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "読込み失敗"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "書込み失敗"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "書込み失敗"
index 36657eb..767078a 100644 (file)
Binary files a/po/lv.gmo and b/po/lv.gmo differ
index baba581..6e8c3db 100644 (file)
--- a/po/lv.po
+++ b/po/lv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: diffutils-3.0\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2010-07-07 11:28+0100\n"
 "Last-Translator: Rihards Priedītis <rprieditis@gmail.com>\n"
 "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
@@ -26,7 +26,7 @@ msgstr "programmas kļūda"
 msgid "stack overflow"
 msgstr "steka pārplūšana"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Nezināma sistēmas kļūda"
 
@@ -139,100 +139,102 @@ msgstr "%s: opcijai \"-W %s\"  nepieciešams arguments\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr "\""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr "\""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Veiksmīgi"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Nav sakritību"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Nederīga regulārā izteiksme"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Nederīga salīdzināmā rakstzīme"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Nederīgs rakstzīmju klases nosaukums"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Atkārtojošās otrādās slīpsvītras"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Nederīga aizmugures atsauce"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "Nesakrītošs [ vao [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "Nesakrītošs ( vai \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "Nesakrītošs \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Nederīgs saturs iekš \\{\\}"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Nederīgas apgabala beigas"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Izskausta atmiņa"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Nederīga iepriekšējā regulārā izteiksme"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Priekšlaicīgas beigas regulārai izteiksmei"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Pārāk liela regulārā izteiksme"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "Nesakrītošs ) vai \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Nav iepriekšējas regulārās izteiksmes"
 
@@ -262,18 +264,18 @@ msgid "failed to reopen %s with mode %s"
 msgstr "neizdevās atkārtoti atvērt %s režīmā %s"
 
 #: lib/xstrtol-error.c:63
-#, c-format
-msgid "invalid %s%s argument `%s'"
+#, fuzzy, c-format
+msgid "invalid %s%s argument '%s'"
 msgstr "nederīgs %s%s arguments \"%s\""
 
 #: lib/xstrtol-error.c:68
-#, c-format
-msgid "invalid suffix in %s%s argument `%s'"
+#, fuzzy, c-format
+msgid "invalid suffix in %s%s argument '%s'"
 msgstr "nederīgs  piedēklis iekš %s%s argumenta \"%s\""
 
 #: lib/xstrtol-error.c:72
-#, c-format
-msgid "%s%s argument `%s' too large"
+#, fuzzy, c-format
+msgid "%s%s argument '%s' too large"
 msgstr "%s%s arguments \"%s\" ir pārak liels"
 
 #: lib/version-etc.c:74
@@ -451,7 +453,7 @@ msgstr ""
 "Vispārēja palīdzība izmantojot GNU programmatūru: <http://www.gnu.org/"
 "gethelp/>\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Faili %s un %s atšķiras\n"
@@ -461,7 +463,7 @@ msgstr "Faili %s un %s atšķiras\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "Binārie faili %s un %s atšķiras\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Nav jaunu rindu faila beigās"
 
@@ -475,14 +477,14 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "Mēģiniet \"%s --help\" , lai iegūtu vairāk informācijas."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "nederīga --ignore-initial vērtība \"%s\""
 
 #: src/cmp.c:147
@@ -490,14 +492,14 @@ msgstr "nederīga --ignore-initial vērtība \"%s\""
 msgid "options -l and -s are incompatible"
 msgstr "opcijas -l un -s nav savstarpēji saderīgas"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "rakstīšana neizdevās"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "standarta izvads"
 
@@ -563,7 +565,7 @@ msgid ""
 "at the beginning of each file (zero by default)."
 msgstr "IZLAIST1 un IZLAIST2 ir cipari, cik baitus izlaist katrā failā."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -579,28 +581,29 @@ msgstr ""
 "GB 1,000,000,000, G 1,073,741,824, un tā tālāk T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "Ja FAILAM ir \"-\" vai trūkst, tad lasīt standarta ievadu."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "Izejas stāvoklis ir 0, ja ievads ir tāds pats, 1 ja tas ir atšķirīgs, 2 ja "
 "ir neptikšanas."
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "nederīga --bytes vērtība \"%s\""
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "trūkst operands pēc \"%s\""
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "papildus operands \"%s\""
 
 #: src/cmp.c:491
@@ -619,96 +622,93 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: EOF uz %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr "Paul Eggert"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr "Mike Haertel"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr "David Hayes"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr "Richard Stallman"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr "Len Tower"
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "nederīgs konteksta garums \"%s\""
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "lapošana netiek atbalstīta uz šī resursdatora"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "pārāk daudz faila etiķešu opciju"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "nederīgs platums \"%s\""
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "konfliktējošas platuma opcijas"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "nederīgs horizontālais garums \"%s\""
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "nederīgs tabulācijas izmērs \"%s\""
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "konfliktējošas tabulācijas izmēru opcijas"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "--from-file un --to-file abi norādīti"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal  Izvada parastu diff."
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q  --brief  Izvadit tikai, ja faili atšķiras."
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files  Ziņot, kad divi faili ir vienādi."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w NUMURS  --width=NUMURS  Izvada līdz NUMURAM (noklusētais 130) drukas "
-"kolonas."
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
@@ -716,22 +716,21 @@ msgstr ""
 "-w NUMURS  --width=NUMURS  Izvada līdz NUMURAM (noklusētais 130) drukas "
 "kolonas."
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Izturēties pret visiem failiem, kā teksta."
+msgstr "-e  --ed  Izvada ed skriptā."
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs  Izvada RCS diff formātā."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  Izvada versijas informāciju."
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
@@ -739,42 +738,42 @@ msgstr ""
 "-w NUMURS  --width=NUMURS  Izvada līdz NUMURAM (noklusētais 130) drukas "
 "kolonas."
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr "-l  --left-column  Izvadīt tikai kreiso kolonu no kopējām rindām."
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  Neizvadīt kopējās rindas."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Izplest tabulācijas atstarpi izvadā."
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr "-T  --initial-tab  Pacelt tabulācijas rindu pirm tabulācijas."
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
@@ -782,7 +781,7 @@ msgstr ""
 "--tabsize=NUMURS  Tabulāciju apstāšanāss ir katru NUMURU (noklusētais ir 8) "
 "drukas kolonas."
 
-#: src/diff.c:871
+#: src/diff.c:874
 #, fuzzy
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
@@ -790,48 +789,52 @@ msgstr ""
 "--suppress-blank-empty  Apspiest atstarpes vai tabulācijas pirms tukšam "
 "izvades rindām."
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr "-l  --paginate  Izlaist izvadu caur \"pr\", lai lapotu to."
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr ""
 "-r  --recursive  Rekursīvā salīdzināšana jebkurai atrastai apakšdirektorijai."
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N  --new-file  Izturēties pret trūkstošiem faili, kā tukšiem failiem."
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 "--unidirectional-new-file  Izturēties pret trūkstošiem failiem kā tukšiem."
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
 "--ignore-file-name-case  Ignorēt reģistru, kad salīdzina faila nosaukumus."
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "--no-ignore-file-name-case  Neignorēt reģistru kad salīdzina faila "
 "nosaukumus."
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr "-x PAT  --exclude=PAT  Izslēgt failus, kuri atbilst PAT."
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
@@ -839,14 +842,14 @@ msgstr ""
 "-X FAILS  --exclude-from=FAILS  Izslēgt failus, kuri atbilst jebkuram "
 "paternam FAILĀ."
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
 "-S FAILS  --starting-file=FAILS  Sākt ar FAILU, kad salīdzina direktorijas."
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -855,7 +858,7 @@ msgstr ""
 "--from-file=FAILS1  Salīdzini FAILU1 ar visiem operandiem. FAILS1 nevar būt "
 "direktorija."
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -864,100 +867,101 @@ msgstr ""
 "--to-file=FAILS2  Salīdzini visus operandus ar FAILU2. FAILS2 nevar būt "
 "direktorija."
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr "-i  --ignore-case  Ignorē reģistra atšķirības faila saturā."
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Ignorēt izmaiņas, dēļ tabulācijas izplešanās."
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-space  Ignorēt visas atstarpes."
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Ignorēt izmaiņas, dēļ atstarpēm."
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space  Ignorēt visas atstarpes."
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr "-B  --ignore-blank-lines  Ignorēt izmaiņas rindās, kur viss ir tukšs."
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I RE  --ignore-matching-lines=RE  Ignorēt izmaiņas rindās, kuras sakrīt ar "
 "RE."
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text  Izturēties pret visiem failiem, kā teksta."
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Noņemt atkārtojošo rakstatgrieze ievadā."
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary  Lasīt un rakstīt datus binārajā režīmā."
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D NOSAUKUMS  --ifdef=NOSAUKUMS  Izvads sapludināts failā, lai rāda \"#ifdef "
 "NOSAUKUMS\"  diffs."
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "--GTYPE-group-format=GFMT  Līdzigs, bet formāts GTYPE ievades grupām ar GFMT."
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr "--line-format=LFMT  Līdzīgs, bet formāts visam ievades rindām ar LFMT."
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "--LTYPE-line-format=LFMT  Līdzīgs, bet formāts LTYPE ievades rindām ir LFMT."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  LTYPE ir \"old\", \"new\", vai \"unchanged\".  GTYPE ir LTYPE vai \"changed"
 "\"."
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -985,7 +989,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -999,7 +1003,7 @@ msgstr ""
 "    %[-][PLATUMS][.[PREC]]{doxX}n  printf-style specifikācija ievades rindu "
 "numuriem"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -1013,19 +1017,19 @@ msgstr ""
 "    %c'C'  vienu rakstzīmi C\n"
 "    %c'\\OOO'  rakstzīmi ar oktālo kodu OOO"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Mēģināt smagi atrast pašas mazākas izmaiņu kopas."
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 "--horizon-lines=SKAITS  Uzturēt SKAITU līniju kopējiem prefiksiem un "
 "sufiksiem."
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
@@ -1033,77 +1037,85 @@ msgstr ""
 "-H  --speed-large-files  Pieņemt, ka faili ir lieli un satur daudzas mazas "
 "izmaiņas."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version  Izvada versijas informāciju."
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "FAILI ir \"FAILS1 FAILS2\" vai \"DIREKTORIJA1 DIREKTORIJA2\" vai "
 "\"DIREKTORIJA FAILS...\" vai \"FAILS... DIREKTORIJA\"."
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
 "Ja --from-file vai --to-file ir dots, nav nekādu ierobežojumu uz FAILIEM."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "Ja FAILS ir \"-\", lasīt standarta ievadu"
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Izmantošana: %s [OPCIJAS]... FAILI\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "Salīdzina failu rindu pa rindai"
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "konfliktējoša %s opcijas vērtība \"%s\""
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "konfliktējoša izvades stila opcijas"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Tikai iekš %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "nevar salīdzināt \"-\" ar direktoriju"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "-D opcija netik atbalstīta ar direktorijām"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Kopējās apakšdirektorijas: %s un %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "Fails %s ir %s kamēr fails %s ir %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Faili %s un %s atšķiras\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Fails %s un %s ir identiski\n"
@@ -1119,11 +1131,12 @@ msgid "incompatible options"
 msgstr "savstarpēji nesaderīgas opcijas"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "\"-\" norādīts vairāk par vienu ievades failu"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "lasīšana neizdevās"
 
@@ -1162,15 +1175,12 @@ msgid ""
 msgstr "-x  --overlap-only  Izvada pārklājušas izmaiņas."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap  Izvada nesapludinātās izmaiņas, ieliekot iekavās "
-"konfliktus."
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "-i  Apvienot `w' un `q' komandas ed skriptā."
 
 #: src/diff3.c:438
@@ -1207,9 +1217,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Izturēties pret visiem failiem, kā teksta."
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1262,30 +1271,30 @@ msgstr "iekšējā kļūda: nederīgs diff veids iekš process_diff"
 msgid "invalid diff format; invalid change separator"
 msgstr "nederīgs diff formāts; nederīgs izmaiņu atdalītājs"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "nederīgs diff formāts; nepilnīga pēdējā rindiņa"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "nevarēja izsaukt palīgprogrammu \"%s\""
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "nederīgs diff formāts; nederīgas rindas ievades rakstzīmes"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "iekšējā kļūda: nederīgs uz izvadu padotais diff veids"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "ievades fails saruka"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "nevar salīdzināt faila nosaukumus \"%s\" un \"%s\""
 
 #: src/dir.c:209
@@ -1298,14 +1307,14 @@ msgstr "%s: rekrusīvs direktorijas cikls"
 msgid "Thomas Lord"
 msgstr "Thomas Lord"
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
 "-o FAILS  --output=FAILS  Darboties interaktīvi, izvadot izvadu uz FAILU."
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
@@ -1313,44 +1322,51 @@ msgstr ""
 "-i  --ignore-case  Uzskatīt ka augšējais un apkšējais reģistrs ir viens un "
 "tas pats."
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Ignorēt izmaiņas, dēļ tabulācijas izplešanās."
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-space  Ignorēt visas atstarpes."
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Ignorēt izmaiņas, dēļ atstarpēm."
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  Ignorēt visas atstarpes."
+msgstr "-W  --ignore-all-space  Ignorēt visas atstarpes."
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr "-B  --ignore-blank-lines  Ignorēt izmaiņas rindās, kur viss ir tukšs."
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I RE  --ignore-matching-lines=RE  Ignorēt izmaiņas rindās, kuras sakrīt ar "
+"RE."
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Noņemt atkārtojošo rakstatgrieze ievadā."
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text  Izturēties pret visiem failiem, kā teksta."
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
@@ -1358,23 +1374,23 @@ msgstr ""
 "-w NUMURS  --width=NUMURS  Izvada līdz NUMURAM (noklusētais 130) drukas "
 "kolonas."
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr "-l  --left-column  Izvadīt tikai kreiso kolonu no kopējām rindām."
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  Neizvadīt kopējās rindas."
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Izplest tabulācijas atstarpi izvadā."
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
@@ -1382,12 +1398,12 @@ msgstr ""
 "--tabsize=NUMURS  Tabulāciju apstāšanāss ir katru NUMURU (noklusētais ir 8) "
 "drukas kolonas."
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Mēģināt smagi atrast pašas mazākas izmaiņu kopas."
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
@@ -1395,41 +1411,40 @@ msgstr ""
 "-H  --speed-large-files  Pieņemt, ka faili ir lieli un satur daudzas mazas "
 "izmaiņas."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr ""
 "--diff-program=PROGRAMMA  Izmantot PROGRAMMU, lai salīdzinātu divus failus."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Izturēties pret visiem failiem, kā teksta."
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version  Izvada versijas informāciju."
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Izmantošana: %s [OPCIJAS]... FAILS1 FAILS2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Plecu-pie-pleca failu atšķirību sapludināšana"
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "nevar interaktīvi sapludināt standarta ievadu"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "abi salīdzināmie faili ir direktorijas"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
@@ -1459,51 +1474,15 @@ msgstr ""
 #~ msgid "-s  --quiet  --silent  Output nothing; yield exit status only."
 #~ msgstr "-s  --quiet  --silent  Izvada neko, izdod tikai izejas stāvokli."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  Izvada versijas informāciju."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  Izvada šo palīdzību."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Salīdzināt trīs failus rindiņu pa rindiņai."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr ""
-#~ "-E  --ignore-tab-expansion  Ignorēt izmaiņas, dēļ tabulācijas izplešanās."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr "-b  --ignore-space-change  Ignorēt izmaiņas, dēļ atstarpēm."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Ignorēt visas atstarpes."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr ""
-#~ "-B  --ignore-blank-lines  Ignorēt izmaiņas rindās, kur viss ir tukšs."
-
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr "--strip-trailing-cr  Noņemt atkārtojošo rakstatgrieze ievadā."
-
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Izturēties pret visiem failiem, kā teksta."
-
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1515,10 +1494,6 @@ msgstr ""
 #~ "  -p  --show-c-function  Rāda C funkcijas, kurās ir izmaiņas.\n"
 #~ "  -F RE  --show-function-line=RE  Rāda nesenāko skarītošo RE rindu."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Izvada ed skriptā."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1530,34 +1505,12 @@ msgstr ""
 #~ "  --left-column  Izvada tikai kreisās kolonas no kopējām rindām.\n"
 #~ "  --suppress-common-lines  Neizvada kopējās rindas."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs  Izplest tabulācijas atstarpi izvadā."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr "-T  --initial-tab  Pacelt tabulācijas rindu pirm tabulācijas."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr ""
-#~ "--tabsize=NUMURS  Tabulāciju apstāšanāss ir katru NUMURU (noklusētais ir "
-#~ "8) drukas kolonas."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  Mēģināt smagi atrast pašas mazākas izmaiņu kopas."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files  Pieņemt, ka faili ir lieli un satur daudzas mazas "
 #~ "izmaiņas."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr "-A  --show-all  Izvada visas izmaņas, ieliekot iekavās konfliktus."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "-X  Izvada pārklājušas izmaiņas, ieliekot iekavās tās."
 
@@ -1570,58 +1523,6 @@ msgstr ""
 #~ msgstr ""
 #~ "-L ETIĶETE  --label=ETIĶETE  Izmantot ETIĶETI nevis faila nosaukumu."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr ""
-#~ "--diff-program=PROGRAMMA  Izmantot PROGRAMMU, lai salīdzinātu divus "
-#~ "failus."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Ignorēt visas atstarpes."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w NUMURS  --width=NUMURS  Izvada līdz NUMURAM (noklusētais 130) drukas "
-#~ "kolonas."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "-l  --left-column  Izvadīt tikai kreiso kolonu no kopējām rindām."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  Pieņemt, ka faili ir lieli un satur daudzas mazas "
-#~ "izmaiņas."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "lasīšana neizdevās"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "rakstīšana neizdevās"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "lasīšana neizdevās"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "lasīšana neizdevās"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "rakstīšana neizdevās"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "rakstīšana neizdevās"
-
 #~ msgid "%s: illegal option -- %c\n"
 #~ msgstr "%s: neatļauta opcija -- %c\n"
 
index c805ef2..dded17d 100644 (file)
Binary files a/po/ms.gmo and b/po/ms.gmo differ
index 978293b..7c5b1c9 100644 (file)
--- a/po/ms.po
+++ b/po/ms.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: diffutils 2.8.7\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2005-03-29 19:43+0800\n"
 "Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
 "Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
@@ -25,7 +25,7 @@ msgstr "ralat program"
 msgid "stack overflow"
 msgstr "stack melimpah"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Ralat sistem tidak diketahui"
 
@@ -138,100 +138,102 @@ msgstr "%s: pilihan `%s' memerlukan hujah\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Berjaya"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Tiada padanan"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Regular expression tidak sah"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Aksara pengumpulsemakan tidak sah"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Nama kelas aksara tidak sah"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Slash dibelakang"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Rujukan belakang tidak sah"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "[ atau [^ tidak sepadan"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "( atau \\( tidak sepadan"
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "\\{ tidak sepadan"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Kandungan \\{\\} tidak sah"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Julat akhir tidak sah"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Kehabisan memori"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Regular expression awalan tidak sah"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Regular expression tamat tiba-tiba"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Regular expression terlalu besar"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr ") atau \\) tidak sepadan"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Tiada regular expression terdahulu"
 
@@ -263,17 +265,17 @@ msgstr ""
 
 #: lib/xstrtol-error.c:63
 #, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "nilai --bytes `%s' tidak sah"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "panjang horizon `%s' tidak sah"
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr ""
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr ""
 
 #: lib/version-etc.c:74
@@ -441,7 +443,7 @@ msgstr ""
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Fail %s dan %s berbeza\n"
@@ -451,7 +453,7 @@ msgstr "Fail %s dan %s berbeza\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "Fail %s dan %s berbeza\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Tiada baris baru pada penghujung fail"
 
@@ -465,14 +467,14 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr ""
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "Cuba `%s --help' untuk maklumat lanjut."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "nilai `%s' --ignore-initial tidak sah"
 
 #: src/cmp.c:147
@@ -480,14 +482,14 @@ msgstr "nilai `%s' --ignore-initial tidak sah"
 msgid "options -l and -s are incompatible"
 msgstr "pilihan -l dan -s tidak sepadan"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "gagal menulis"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "keluaran piawai"
 
@@ -552,7 +554,7 @@ msgid ""
 msgstr ""
 "LANGKAU1 dan LANGKAU2 adalah jumlah byte untuk dilangkau dalam setiap fail."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -568,28 +570,29 @@ msgstr ""
 "GB 1,000,000,000, G 1,073,741,824, dan seterusnya untuk T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "Jika FAIL adalah `-' atau tiada, baca masukan piawai."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "Status keluar adalah 0 jika masukan adalah sama, 1 jika berbeza, 2 jika "
 "bermasalah."
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "nilai --bytes `%s' tidak sah"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "operan hilang selepas `%s'"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "operan tambahan `%s'"
 
 #: src/cmp.c:491
@@ -608,208 +611,209 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: EOF pada %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr ""
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "panjang konteks `%s' tidak sah"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "pagination tidak disokong pada hos ini"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "terlalu banyak pilihan label fail"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "lebar `%s' tidak sah"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "pilihan lebar berkonflik"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "panjang horizon `%s' tidak sah"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "saiz tab `%s' tidak sah"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "pilihan saiz tab berkonflik"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "--from-file dan --to-file kedua-duanya dinyatakan"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal  Keluarkan diff normal."
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q  --brief  Keluaran hanya jika fail berbeza."
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files  Lapor apabila dua fail adalah sama."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w NOM  --width=NOM  Keluarkan paling banyak NOM (default 130) lajur cetakan."
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 "-w NOM  --width=NOM  Keluarkan paling banyak NOM (default 130) lajur cetakan."
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Layan semua fail sebagai teks."
+msgstr "-e  --ed  Keluarkan skrip ed."
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs  Keluarkan diff format RCS."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  Keluarkan maklumat versi."
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
 "-w NOM  --width=NOM  Keluarkan paling banyak NOM (default 130) lajur cetakan."
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr "-l  --left-column  Keluarkan hanya lajur kiri baris yang sama."
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  Jangan keluarkan baris sama."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Kembang tab kepada ruang dalam keluaran."
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr "-T  --initial-tab  Jadikan tab sebaris dengan menambah awalan tab."
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr "--tabsize=NOM  Hentian tab setial NOM (default 8) lajur cetakan."
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr "-l  --paginate  Salur keluaran menerusi `pr' untuk paginate."
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr ""
 "-r  --recursive  Banding berulang-ulang sebarang subdirektori yang dijumpai."
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N  --new-file  Anggap fail tidak wujud sebagai kosong."
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr "--unidirectional-new-file  Anggap fail tidak wujud sebagai kosong."
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr "--ignore-file-name-case  Abai case apabila membanding nama fail."
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "--no-ignore-file-name-case  Ambil kira case ketika membanding nama fail."
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr "-x PAT  --exclude=PAT  Asing fail yang sepadan PAT."
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
@@ -817,14 +821,14 @@ msgstr ""
 "-X FAIL  --exclude-from=FAIL  Asing fail yang sepadan sebarang corak dalam "
 "FAIL."
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
 "-S FAIL  --starting-file=FAIL  Mula dengan FAIL apabila membanding direktori."
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -833,7 +837,7 @@ msgstr ""
 "--from-file=FAIL1  Banding FAIL1 kepada semua operan.  FAIL1 boleh jadi "
 "direktori."
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -842,106 +846,107 @@ msgstr ""
 "--to-file=FAIL2  Banding semua operan kepada FAIL2.  FAIL2 boleh jadi "
 "direktori."
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr "-i  --ignore-case  Abai perbezaan case dalam kandungan fail."
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Abai perubahan diakibatkan oleh pengembangan tab."
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-space  Abai semua ruang putih."
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Abai perubahan dalam jumlah ruang putih."
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space  Abai semua ruang putih."
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr ""
 "-B  --ignore-blank-lines  Abai perubahan dimana baris adalah kesemuanya "
 "kosong."
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I RE  --ignore-matching-lines=RE  Abai perubahan dimana baris semua sepadan "
 "RE."
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text  Layan semua fail sebagai teks."
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Buang enter penghujung pada masukan."
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary  Baca dan tulis data dalam mod binari."
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D NAMA  --ifdef=NAMA  Keluarkan fail tergabung untuk menunjukkan perbezaa "
 "`#ifdef NAMA'."
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "--GTYPE-group-format=GFMT  Hampir sama, tetapi format masukan GTYPE "
 "dikumpulkan dengan GFMT."
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
 "--line-format=LFMT  Hampir sama, tetapi format semua baris masukan dengan "
 "LFMT."
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "--LTYPE-line-format=LFMT  Hampir sama, tetapi format baris masukan LTYPE "
 "dengan LFMT."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  LTYPE adalah `old', `new', atau `unchanged'.  GTYPE adalah LTYPE atau "
 "`changed'."
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -970,7 +975,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -983,7 +988,7 @@ msgstr ""
 "    %l  kandungan baris, tidak termasuk baris baru dipenghujung\n"
 "    %[-][WIDTH][.[PREC]]{doxX}n  spec gaya-printf untuk nombor baris masukan"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -997,17 +1002,17 @@ msgstr ""
 "    %c'C'  satu aksara C\n"
 "    %c'\\OOO'  aksara dengan kod oktal OOO"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Cuba cari dengan tekun set perbezaan yang kecil."
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr "--horizon-lines=NOM  Pastikan NOM baris prefix dan suffix sama."
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
@@ -1015,76 +1020,84 @@ msgstr ""
 "-H  --speed-large-files  Anggap fail besar dan banyak perubahan kecil "
 "tersebar."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version  Keluarkan maklumat versi."
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "FAIL-FAIL adalah `FAIL1 FAIL2' atau `DIR1 DIR2' atau `DIR FAIL...' atau "
 "`FAIL... DIR'."
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr "Jika --from-file atau --to-file diberi, tiada sekatan pada FAIL."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "Jika FAIL adalah `-', baca masukan piawai."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Penggunaan: %s [PILIHAN]... FAIL\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "Banding fail setiap baris."
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "nilai pilihan %s berkonflik `%s'"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "pilihan gaya keluaran berkonflik"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Hanya dalam %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "tidak dapat membandingkan `-' kepada direktori"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "pilihan -D tidak disokong dengan direktori"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Subdirektori umum: %s dan %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "Fail %s adalah %s manakala fail %s adalah %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Fail %s dan %s berbeza\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Fail %s dan %s adalah serupa\n"
@@ -1100,11 +1113,12 @@ msgid "incompatible options"
 msgstr "pilihan tidak sepadan"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "`-' dinyatakan untuk lebih daripada satu fail masukan"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "gagal membaca"
 
@@ -1143,14 +1157,12 @@ msgid ""
 msgstr "-x  --overlap-only  Keluarkan perubahan bertindih."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap  Keluarkan perubahan tidak digabung, kurungkan konflik."
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "-i  Tambah arahan `w' dan `q' kepada skrip ed."
 
 #: src/diff3.c:438
@@ -1186,9 +1198,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Layan semua fail sebagai teks."
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1240,30 +1251,30 @@ msgstr "ralat dalaman: jenis diff tidak sah dalam process_diff"
 msgid "invalid diff format; invalid change separator"
 msgstr "format diff tidak sah; pengasing perbezaan tidak sah"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "format diff tidak sah; baris akhir tidak lengkap"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "program subsidiari `%s' tidak dapat dilaksanakan"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "format diff tidak sah; aksara awal baris tidak betul"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "ralat dalaman: jenis diff tidak sah diberikan kepada keluaran"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "fail masukan mengecil"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "tidak dapat membandingkan fail bernama `%s' dan `%s'"
 
 #: src/dir.c:209
@@ -1276,93 +1287,100 @@ msgstr ""
 msgid "Thomas Lord"
 msgstr ""
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
 "-o FAIL  --output=FAIL  Operasi secara interaktif, hantar keluaran ke FAIL."
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i  --ignore-case  Anggap huruf besar dan kecil sebagai sama."
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Abai perubahan diakibatkan oleh pengembangan tab."
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-space  Abai semua ruang putih."
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Abai perubahan dalam jumlah ruang putih."
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  Abai semua ruang putih."
+msgstr "-W  --ignore-all-space  Abai semua ruang putih."
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr ""
 "-B  --ignore-blank-lines  Abai perubahan dimana baris adalah kesemuanya "
 "kosong."
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I RE  --ignore-matching-lines=RE  Abai perubahan dimana baris semua sepadan "
+"RE."
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Buang enter penghujung pada masukan."
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text  Layan semua fail sebagai teks."
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 "-w NOM  --width=NOM  Keluarkan paling banyak NOM (default 130) lajur cetakan."
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr "-l  --left-column  Keluarkan hanya lajur kiri baris yang sama."
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  Jangan keluarkan baris sama."
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Kembang tab kepada ruang dalam keluaran."
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr "--tabsize=NOM  Hentian tab setial NOM (default 8) lajur cetakan."
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Cuba cari dengan tekun set perbezaan yang kecil."
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
@@ -1370,40 +1388,39 @@ msgstr ""
 "-H  --speed-large-files  Anggap fail besar dan banyak perubahan kecil "
 "tersebar."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr "--diff-program=PROGRAM  Guna PROGRAM untuk membanding fail."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Layan semua fail sebagai teks."
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version  Keluarkan maklumat versi."
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Penggunaan: %s [PILIHAN]... FAIL1 FAIL2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Gabung bersebelahan perbezaaan fail."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "tidak dapat menggabung masukan piawai secara interaktif"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "kedua-dua fail yang akan dibanding adalah direktori"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 #, fuzzy
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
@@ -1429,6 +1446,20 @@ msgstr ""
 "v:\tSertakan baris sama dengan berjela.\n"
 "q:\tKeluar.\n"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: pilihan salah  -- %c\n"
+
+#~ msgid ""
+#~ "This is free software; see the source for copying conditions.  There is "
+#~ "NO\n"
+#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
+#~ "PURPOSE.\n"
+#~ msgstr ""
+#~ "Ini adalah perisian bebas; lihat sumber untuk syarat menyalin.  TIADA "
+#~ "jaminan disediakan;\n"
+#~ "tidak juga untuk KEBOLEHDAGANGAN atau KEUPAYAAN UNTUK SESUATU TUJUAN "
+#~ "KHUSUS.\n"
+
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i LANGKAU1:LANGKAU2  --ignore-initial=LANGKAU1:LANGKAU2"
 
@@ -1436,53 +1467,24 @@ msgstr ""
 #~ msgstr ""
 #~ "-s  --quiet  --silent  Tiada keluaran; hasilkan status keluaran sahaja."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  Keluarkan maklumat versi."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  Keluarkan bantuan ini."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Banding tiga fail tiap-tiap baris."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr ""
-#~ "-E  --ignore-tab-expansion  Abai perubahan diakibatkan oleh pengembangan "
-#~ "tab."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr "-b  --ignore-space-change  Abai perubahan dalam jumlah ruang putih."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Abai semua ruang putih."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr ""
-#~ "-B  --ignore-blank-lines  Abai perubahan dimana baris adalah kesemuanya "
-#~ "kosong."
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
+#~ msgstr "Lapor pepijat kepada <bug-gnu-utils@gnu.org>."
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr "--strip-trailing-cr  Buang enter penghujung pada masukan."
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "pilihan `-%ld' tidak lagi digunakan; guna `-%c %ld'"
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Layan semua fail sebagai teks."
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "pilihan `-%ld' tidak lagi digunakan; abaikannya"
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1495,10 +1497,6 @@ msgstr ""
 #~ "perubahan.\n"
 #~ "  -F RE  --show-function-line=RE  Papar baris terbaru sepadan RE."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Keluarkan skrip ed."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1511,32 +1509,12 @@ msgstr ""
 #~ "  --left-column  Keluarkan hanya lajur kiri pada baris sama.\n"
 #~ "  --suppress-common-lines  Jangan keluarkan baris sama."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs  Kembang tab kepada ruang dalam keluaran."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr "-T  --initial-tab  Jadikan tab sebaris dengan menambah awalan tab."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr "--tabsize=NOM  Hentian tab setial NOM (default 8) lajur cetakan."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  Cuba cari dengan tekun set perbezaan yang kecil."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files  Anggap fail besar dan banyak perubahan kecil "
 #~ "tersebar."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr "-A  --show-all  Keluarkan semua perubahan, kurungkan konflik."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "-X  Keluarkan perubahan bertindih, kurungkan mereka."
 
@@ -1548,79 +1526,6 @@ msgstr ""
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L LABEL  --label=LABEL  Guna LABEL selain daripada nama fail."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr "--diff-program=PROGRAM  Guna PROGRAM untuk membanding fail."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Abai semua ruang putih."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w NOM  --width=NOM  Keluarkan paling banyak NOM (default 130) lajur "
-#~ "cetakan."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "-l  --left-column  Keluarkan hanya lajur kiri baris yang sama."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  Anggap fail besar dan banyak perubahan kecil "
-#~ "tersebar."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "gagal membaca"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "gagal menulis"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "gagal membaca"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "gagal membaca"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "gagal menulis"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "gagal menulis"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: pilihan salah  -- %c\n"
-
-#~ msgid ""
-#~ "This is free software; see the source for copying conditions.  There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-#~ msgstr ""
-#~ "Ini adalah perisian bebas; lihat sumber untuk syarat menyalin.  TIADA "
-#~ "jaminan disediakan;\n"
-#~ "tidak juga untuk KEBOLEHDAGANGAN atau KEUPAYAAN UNTUK SESUATU TUJUAN "
-#~ "KHUSUS.\n"
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr "Lapor pepijat kepada <bug-gnu-utils@gnu.org>."
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "pilihan `-%ld' tidak lagi digunakan; guna `-%c %ld'"
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "pilihan `-%ld' tidak lagi digunakan; abaikannya"
-
 #~ msgid "subsidiary program `%s' not found"
 #~ msgstr "program subsidiari `%s' tidak dijumpai"
 
index 353b2e2..cecab7f 100644 (file)
Binary files a/po/nl.gmo and b/po/nl.gmo differ
index 337df88..583ffff 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,15 +1,17 @@
 # Dutch translations for GNU diffutils.
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the diffutils package.
 #
-# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2008, 2010, 2011.
+# Would she be called Adinda...
+#
+# Benno Schulenberg <benno@vertaalt.nl>, 2007, 2008, 2010, 2011, 2012.
 # Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
 msgid ""
 msgstr ""
-"Project-Id-Version: diffutils-3.1\n"
+"Project-Id-Version: diffutils-3.3-pre1\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
-"PO-Revision-Date: 2011-08-13 16:35+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
+"PO-Revision-Date: 2012-10-31 21:04+0100\n"
 "Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
 "Language: nl\n"
@@ -27,7 +29,7 @@ msgstr "programmafout"
 msgid "stack overflow"
 msgstr "stack-overloop"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Onbekende systeemfout"
 
@@ -140,101 +142,103 @@ msgstr "%s: optie '-W %s' vereist een argument\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr "‘"
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr "’"
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Gelukt"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Geen overeenkomsten"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Ongeldige reguliere expressie"
 
 # Zie http://mailman.vrijschrift.org/pipermail/vertaling/2005-August/004670.html
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Ongeldig samengesteld teken"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Ongeldige tekenklassenaam"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Backslash aan het eind"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Ongeldige terugverwijzing"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "Ongepaarde [ of [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "Ongepaarde ( of \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "Ongepaarde \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Ongeldige inhoud van \\{\\}"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Ongeldig bereikeinde"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Onvoldoende geheugen beschikbaar"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Ongeldige voorafgaande reguliere expressie"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Voortijdig einde van reguliere expressie"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Reguliere expressie is te groot"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "Ongepaarde ) of \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Geen eerdere reguliere expressie"
 
@@ -265,17 +269,17 @@ msgstr "opnieuw openen van '%s' met modus %s is mislukt"
 
 #: lib/xstrtol-error.c:63
 #, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "ongeldig argument '%3$s' van %1$s%2$s"
 
 #: lib/xstrtol-error.c:68
 #, c-format
-msgid "invalid suffix in %s%s argument `%s'"
+msgid "invalid suffix in %s%s argument '%s'"
 msgstr "ongeldig achtervoegsel in argument '%3$s' van %1$s%2$s"
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr "argument '%3$s' van %1$s%2$s is te groot"
 
 #: lib/version-etc.c:74
@@ -456,7 +460,7 @@ msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Algemene hulp bij gebruik van GNU-software: <http://www.gnu.org/gethelp/>\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Bestanden %s en %s zijn verschillend\n"
@@ -466,7 +470,7 @@ msgstr "Bestanden %s en %s zijn verschillend\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "Binaire bestanden %s en %s zijn verschillend\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Geen regeleindeteken (LF) aan einde van bestand"
 
@@ -480,14 +484,14 @@ msgstr "Torbjörn Granlund"
 msgid "David MacKenzie"
 msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
 #, c-format
-msgid "Try `%s --help' for more information."
+msgid "Try '%s --help' for more information."
 msgstr "Typ '%s --help' voor meer informatie."
 
 #: src/cmp.c:137
 #, c-format
-msgid "invalid --ignore-initial value `%s'"
+msgid "invalid --ignore-initial value '%s'"
 msgstr "ongeldige waarde '%s' voor '--ignore-initial'"
 
 #: src/cmp.c:147
@@ -495,14 +499,14 @@ msgstr "ongeldige waarde '%s' voor '--ignore-initial'"
 msgid "options -l and -s are incompatible"
 msgstr "opties '-l' en '-s' gaan niet samen"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "schrijven is mislukt"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "standaarduitvoer"
 
@@ -567,7 +571,7 @@ msgstr ""
 "dat\n"
 "aan het begin van elk bestand moet worden overgeslagen (standaard nul)."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -586,11 +590,11 @@ msgstr ""
 "  GB 1.000.000.000,  G 1.073.741.824,  enzovoort voor T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr ""
 "Als een BESTAND ontbreekt of '-' is, wordt er van standaardinvoer gelezen."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "De afsluitwaarde is 0 als de invoeren gelijk zijn, 1 als ze verschillen,\n"
@@ -598,17 +602,17 @@ msgstr ""
 
 #: src/cmp.c:240
 #, c-format
-msgid "invalid --bytes value `%s'"
+msgid "invalid --bytes value '%s'"
 msgstr "ongeldige waarde '%s' voor '--bytes'"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
 #, c-format
-msgid "missing operand after `%s'"
+msgid "missing operand after '%s'"
 msgstr "ontbrekend argument na '%s'"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
 #, c-format
-msgid "extra operand `%s'"
+msgid "extra operand '%s'"
 msgstr "overtollig argument '%s'"
 
 #: src/cmp.c:491
@@ -627,138 +631,138 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: einde-van-bestand op %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr "Paul Eggert"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr "Mike Haertel"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr "David Hayes"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr "Richard Stallman"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr "Len Tower"
 
-#: src/diff.c:340
+#: src/diff.c:339
 #, c-format
-msgid "invalid context length `%s'"
+msgid "invalid context length '%s'"
 msgstr "ongeldige contextlengte '%s'"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "het in pagina's indelen is op deze computer niet mogelijk"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "te veel bestandslabel-opties"
 
-#: src/diff.c:515
+#: src/diff.c:514
 #, c-format
-msgid "invalid width `%s'"
+msgid "invalid width '%s'"
 msgstr "ongeldige breedte '%s'"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "conflicterende breedte-opties"
 
-#: src/diff.c:544
+#: src/diff.c:543
 #, c-format
-msgid "invalid horizon length `%s'"
+msgid "invalid horizon length '%s'"
 msgstr "ongeldige horizonlengte '%s'"
 
-#: src/diff.c:595
+#: src/diff.c:598
 #, c-format
-msgid "invalid tabsize `%s'"
+msgid "invalid tabsize '%s'"
 msgstr "ongeldige tabgrootte '%s'"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "conflicterende tabgrootte-opties"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "zowel '--from-file' als '--to-file' zijn opgegeven"
 
-#: src/diff.c:851
+#: src/diff.c:854
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "    --normal               een gewone diff produceren (standaard)"
 
-#: src/diff.c:852
+#: src/diff.c:855
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q, --brief                alleen aangeven of bestanden verschillen"
 
-#: src/diff.c:853
+#: src/diff.c:856
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr ""
 "-s, --report-identical-files    vermelden of twee bestanden hetzelfde zijn"
 
-#: src/diff.c:854
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
 "-c, -C AANTAL, --context[=AANTAL]    dit AANTAL regels (standaard 3) van\n"
 "                                       gekopieerde context tonen"
 
-#: src/diff.c:855
+#: src/diff.c:858
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 "-u, -U AANTAL, --unified[=AANTAL]    dit AANTAL regels (standaard 3) van\n"
 "                                       geünificeerde context tonen"
 
-#: src/diff.c:856
+#: src/diff.c:859
 msgid "-e, --ed                      output an ed script"
 msgstr "-e, --ed                   een ed-script produceren"
 
-#: src/diff.c:857
+#: src/diff.c:860
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n, --rcs                  een diff in RCS-opmaak produceren"
 
-#: src/diff.c:858
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
 msgstr "-y, --side-by-side         het resultaat weergeven in twee kolommen"
 
-#: src/diff.c:859
+#: src/diff.c:862
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
 "-w, --width=AANTAL         maximaal dit AANTAL kolommen tonen (standaard 130)"
 
-#: src/diff.c:860
+#: src/diff.c:863
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr ""
 "    --left-column          bij gelijke regels alleen de linkerkolom tonen"
 
-#: src/diff.c:861
+#: src/diff.c:864
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "    --suppress-common-lines    de gelijke regels onderdrukken"
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 "-p, --show-c-function      vermelden in welke C-functie elke wijziging is"
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 "-F, --show-function-line=RE    recentste regel overeenkomend met RE tonen"
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
@@ -766,82 +770,86 @@ msgstr ""
 "    --label LABEL          dit LABEL gebruiken in plaats van bestandsnaam\n"
 "                             (mag herhaald worden)"
 
-#: src/diff.c:868
+#: src/diff.c:871
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t, --expand-tabs          tabs uitschrijven naar spaties in uitvoer"
 
-#: src/diff.c:869
+#: src/diff.c:872
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
 "-T, --initial-tab          tabs uitlijnen door invoegen van tab aan het begin"
 
-#: src/diff.c:870
+#: src/diff.c:873
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr ""
 "    --tabsize=AANTAL       tab-stops op elke AANTAL posities (standaard 8)"
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 "    --suppress-blank-empty    spatie of tab onderdrukken voor lege uitregels"
 
-#: src/diff.c:872
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+#: src/diff.c:875
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr ""
 "-l, --paginate             de uitvoer door 'pr' halen om deze in pagina's\n"
 "                             in te delen"
 
-#: src/diff.c:874
+#: src/diff.c:877
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr "-r, --recursive            recursief elke gevonden submap vergelijken"
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr "    --no-dereference       symbolische koppelingen niet volgen"
+
+#: src/diff.c:879
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N, --new-file             afwezige bestanden als leeg behandelen"
 
-#: src/diff.c:876
+#: src/diff.c:880
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 "    --unidirectional-new-file    alleen bestanden die afwezig zijn in de\n"
 "                                   eerste map als leeg behandelen"
 
-#: src/diff.c:877
+#: src/diff.c:881
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
 "    --ignore-file-name-case    verschil tussen hoofd- en kleine letters "
 "negeren\n"
 "                                 bij vergelijken van bestandsnamen"
 
-#: src/diff.c:878
+#: src/diff.c:882
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "    --no-ignore-file-name-case    onderscheid maken tussen hoofd- en kleine\n"
 "                                    letters bij vergelijken van bestandsnamen"
 
-#: src/diff.c:879
+#: src/diff.c:883
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr ""
 "-x, --exclude=PATROON      bestanden uitsluiten als ze overeenkomen met "
 "PATROON"
 
-#: src/diff.c:880
+#: src/diff.c:884
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
 "-X, --exclude-from=BESTAND    bestanden uitsluiten die overeenkomen met\n"
 "                                een patroon in BESTAND"
 
-#: src/diff.c:881
+#: src/diff.c:885
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
 "-S, --starting-file=BESTAND    beginnen met BESTAND bij vergelijken van "
 "mappen"
 
-#: src/diff.c:882
+#: src/diff.c:886
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
 "                                  FILE1 can be a directory"
@@ -849,7 +857,7 @@ msgstr ""
 "    --from-file=BESTAND1    BESTAND1 met alle argumenten vergelijken;\n"
 "                              BESTAND1 mag een map zijn"
 
-#: src/diff.c:884
+#: src/diff.c:888
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
 "                                  FILE2 can be a directory"
@@ -857,88 +865,88 @@ msgstr ""
 "    --to-file=BESTAND2    alle argumenten met BESTAND2 vergelijken;\n"
 "                            BESTAND2 mag een map zijn"
 
-#: src/diff.c:887
+#: src/diff.c:891
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr ""
 "-i, --ignore-case          verschil tussen hoofd- en kleine letters\n"
 "                             negeren in bestandsinhoud"
 
-#: src/diff.c:888
+#: src/diff.c:892
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr "-E, --ignore-tab-expansion    omzettingen van tabs in spaties negeren"
 
-#: src/diff.c:889
-#, fuzzy
+#: src/diff.c:893
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
-msgstr "-W, --ignore-all-space        alle witruimte negeren"
+msgstr "-Z, --ignore-trailing-space   witruimte aan einde van regel negeren"
 
-#: src/diff.c:890
+#: src/diff.c:894
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr ""
 "-b, --ignore-space-change     wijzigingen in hoeveelheid witruimte negeren"
 
-#: src/diff.c:891
+#: src/diff.c:895
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w, --ignore-all-space        alle witruimte negeren"
 
-#: src/diff.c:892
+#: src/diff.c:896
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr ""
-"-B, --ignore-blank-lines      wijzigingen waarvan regels leeg zijn negeren"
+"-B, --ignore-blank-lines      wijzigingen waarvan alle regels leeg zijn "
+"negeren"
 
-#: src/diff.c:893 src/sdiff.c:178
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+#: src/diff.c:897
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I, --ignore-matching-lines=RE  wijzigingen waarvan alle regels "
 "overeenkomen\n"
 "                                  met reguliere expressie RE negeren"
 
-#: src/diff.c:895
+#: src/diff.c:899
 msgid "-a, --text                      treat all files as text"
 msgstr "-a, --text                 alle bestanden als tekst behandelen"
 
-#: src/diff.c:896
+#: src/diff.c:900
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr ""
 "    --strip-trailing-cr    Enter-tekens (CR's) aan einde van regels weglaten"
 
-#: src/diff.c:898
+#: src/diff.c:902
 msgid "    --binary                    read and write data in binary mode"
 msgstr ""
 "    --binary               gegevens in binaire modus lezen en schrijven"
 
-#: src/diff.c:901
+#: src/diff.c:905
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D, --ifdef=NAAM           samengevoegd bestand tonen om verschillen in\n"
 "                             '#ifdef NAAM' te laten zien"
 
-#: src/diff.c:902
+#: src/diff.c:906
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "    --GSOORT-group-format=GOPMAAK    iets dergelijks, maar dan invoergroepen "
 "van\n"
 "                                       soort GSOORT opmaken met GOPMAAK"
 
-#: src/diff.c:903
+#: src/diff.c:907
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
 "    --line-format=LOPMAAK    iets dergelijks, maar dan alle invoerregels "
 "opmaken\n"
 "                               met LOPMAAK"
 
-#: src/diff.c:904
+#: src/diff.c:908
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "    --LSOORT-line-format=LOPMAAK    iets dergelijks, maar dan invoerregels "
 "van\n"
 "                                      soort LSOORT opmaken met LOPMAAK"
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
@@ -946,13 +954,13 @@ msgstr ""
 "  Deze opmaakopties bieden een fijnafregeling van de uitvoer aan,\n"
 "    een generalisatie van de optie '-d/--ifdef'."
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  LSOORT is 'old' (oud), 'new' (nieuw), of 'unchanged' (ongewijzigd);\n"
 "    GSOORT is LSOORT of 'changed' (gewijzigd)."
 
-#: src/diff.c:908
+#: src/diff.c:912
 msgid ""
 "  GFMT (only) may contain:\n"
 "    %<  lines from FILE1\n"
@@ -982,7 +990,7 @@ msgstr ""
 "        M  L+1\n"
 "    %(A=B?Z:V)  als A gelijk is aan B, dan Z anders V"
 
-#: src/diff.c:920
+#: src/diff.c:924
 msgid ""
 "  LFMT (only) may contain:\n"
 "    %L  contents of line\n"
@@ -995,7 +1003,7 @@ msgstr ""
 "    %[-][BREEDTE][.[PREC]]{doxX}n  specificatie in printf-stijl voor\n"
 "                                   invoerregelnummer"
 
-#: src/diff.c:924
+#: src/diff.c:928
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
 "    %%  %\n"
@@ -1009,20 +1017,20 @@ msgstr ""
 "    %c'\\OOO'  het teken met octaalcode OOO\n"
 "    C         het teken C (andere tekens representeren zichzelf)"
 
-#: src/diff.c:930
+#: src/diff.c:934
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr ""
 "-d, --minimal              moeite doen om een kleinere verzameling "
 "wijzigingen\n"
 "                             te vinden"
 
-#: src/diff.c:931
+#: src/diff.c:935
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 "    --horizon-lines=AANTAL    dit AANTAL regels met identieke kop en staart\n"
 "                                bij vergelijkingsproces meenemen"
 
-#: src/diff.c:932
+#: src/diff.c:936
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr ""
@@ -1030,76 +1038,81 @@ msgstr ""
 "verspreide\n"
 "                             kleine wijzigingen"
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr "    --help                 deze hulptekst tonen en stoppen"
 
-#: src/diff.c:935
+#: src/diff.c:939
 msgid "-v, --version            output version information and exit"
 msgstr "-v, --version              programmaversie tonen en stoppen"
 
-#: src/diff.c:937
+#: src/diff.c:941
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "BESTANDEN is 'BESTAND1 BESTAND2' of 'MAP1 MAP2' of\n"
 "             'MAP BESTAND...' of 'BESTAND... MAP'."
 
-#: src/diff.c:938
+#: src/diff.c:942
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
 "Als '--from-file' of '--to-file' gegeven is, mag BESTANDEN van alles zijn."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+msgid "If a FILE is '-', read standard input."
 msgstr "Als een BESTAND '-' is, wordt er van standaardinvoer gelezen."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr ""
 "Gebruik:  %s [OPTIE...] BESTANDEN\n"
 "\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 msgid "Compare FILES line by line."
 msgstr "Bestanden regel-voor-regel vergelijken."
 
-#: src/diff.c:984
+#: src/diff.c:988
 #, c-format
-msgid "conflicting %s option value `%s'"
+msgid "conflicting %s option value '%s'"
 msgstr "conflicterende waarde '%2$s' van optie %1$s"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "conflicterende uitvoerstijl-opties"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Alleen in %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+msgid "cannot compare '-' to a directory"
 msgstr "kan '-' niet met een map vergelijken"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "optie '-D' is niet mogelijk bij mappen"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Gemeenschappelijke submappen: %s en %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "Bestand %s is een %s terwijl bestand %s een %s is\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Symbolische koppelingen %s en %s zijn verschillend\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Bestanden %s en %s zijn identiek\n"
@@ -1115,11 +1128,11 @@ msgid "incompatible options"
 msgstr "niet-samengaande opties"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+msgid "'-' specified for more than one input file"
 msgstr "'-' opgegeven voor meer dan één invoerbestand"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "lezen is mislukt"
 
@@ -1163,7 +1176,7 @@ msgstr ""
 "-X                         als '-x' maar met rechte haken om de conflicten"
 
 #: src/diff3.c:436
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr ""
 "-i                         opdrachten 'w' en 'q' toevoegen aan einde van ed-"
 "scripts"
@@ -1271,30 +1284,30 @@ msgstr "*interne programmmafout*: ongeldig soort diff in process_diff()"
 msgid "invalid diff format; invalid change separator"
 msgstr "ongeldige diff-opmaak: ongeldig scheidingsteken voor veranderingen"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "ongeldige diff-opmaak: incomplete laatste regel"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
 #, c-format
-msgid "subsidiary program `%s' could not be invoked"
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "hulpprogramma '%s' kan niet worden aangeroepen"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "ongeldige diff-opmaak: onjuiste tekens aan begin van regel"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "*interne programmafout*: ongeldig soort diff naar uitvoer gestuurd"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "invoerbestand is gekrompen"
 
 #: src/dir.c:158
 #, c-format
-msgid "cannot compare file names `%s' and `%s'"
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "kan bestandsnamen '%s' en '%s' niet vergelijken"
 
 #: src/dir.c:209
@@ -1307,86 +1320,93 @@ msgstr "%s: oneindige lus in de mappen"
 msgid "Thomas Lord"
 msgstr "Thomas Lord"
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
 "-o, --output=BESTAND       interactief werken; het resultaat opslaan in "
 "BESTAND"
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr ""
 "-i, --ignore-case             hoofd- en kleine letters als hetzelfde zien"
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr "-E, --ignore-tab-expansion    omzettingen van tabs in spaties negeren"
 
-#: src/sdiff.c:174
-#, fuzzy
+#: src/sdiff.c:177
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
-msgstr "-W, --ignore-all-space        alle witruimte negeren"
+msgstr "-Z, --ignore-trailing-space    witruimte aan einde van regel negeren"
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr ""
 "-b, --ignore-space-change     wijzigingen in hoeveelheid witruimte negeren"
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 msgid "-W, --ignore-all-space       ignore all white space"
 msgstr "-W, --ignore-all-space        alle witruimte negeren"
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr ""
-"-B, --ignore-blank-lines      wijzigingen waarvan regels leeg zijn negeren"
+"-B, --ignore-blank-lines      wijzigingen waarvan alle regels leeg zijn "
+"negeren"
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I, --ignore-matching-lines=RE  wijzigingen waarvan alle regels "
+"overeenkomen\n"
+"                                  met reguliere expressie RE negeren"
+
+#: src/sdiff.c:182
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr ""
 "    --strip-trailing-cr    Enter-tekens (CR's) aan einde van regels weglaten"
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 msgid "-a, --text                   treat all files as text"
 msgstr "-a, --text                 alle bestanden als tekst behandelen"
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 "-w, --width=AANTAL         maximaal dit AANTAL kolommen tonen (standaard 130)"
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr ""
 "-l, --left-column          bij gelijke regels alleen de linkerkolom tonen"
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 msgid "-s, --suppress-common-lines  do not output common lines"
-msgstr "-s, --suppress-common-lines    de gelijke regels onderdrukken"
+msgstr "-s, --suppress-common-lines   de gelijke regels onderdrukken"
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t, --expand-tabs          tabs uitschrijven naar spaties in uitvoer"
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr ""
 "    --tabsize=AANTAL       tab-stops op elke AANTAL posities (standaard 8)"
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr ""
 "-d, --minimal              moeite doen om een kleinere verzameling "
 "wijzigingen\n"
 "                             te vinden"
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr ""
@@ -1394,40 +1414,40 @@ msgstr ""
 "verspreide\n"
 "                             kleine wijzigingen"
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr ""
 "    --diff-program=PRGRM   dit programma gebruiken om bestanden te "
 "vergelijken"
 
-#: src/sdiff.c:193
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
 msgstr "    --help                 deze hulptekst tonen en stoppen"
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 msgid "-v, --version                output version information and exit"
 msgstr "-v, --version              programmaversie tonen en stoppen"
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr ""
 "Gebruik:  %s [OPTIE...] BESTAND1 BESTAND2\n"
 "\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Twee bestanden naast elkaar weergeven."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "kan standaardinvoer niet interactief samenvoegen"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "de te vergelijken bestanden zijn allebei mappen"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
index def3394..a9684f6 100644 (file)
Binary files a/po/pl.gmo and b/po/pl.gmo differ
index 867e80f..2c77798 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,17 +1,17 @@
 # Polish translations for the GNU diffutils messages
-# Copyright (C) 1996, 2002, 2004, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996, 2002, 2004, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the diffutils package.
-# Rafał Maszkowski <rzm@icm.edu.pl>, 1996, 2002, 2004, 2009-2011 „
+# Rafał Maszkowski <rzm@icm.edu.pl>„ 1996, 2002, 2004, 2009-2012
 # Contributions:
 # Paweł Krawczyk <kravietz@pipeta.chemia.pk.edu.pl>, 1996.
 # 23 corrections - Jakub Bogusz <qboosh@pld-linux.org>, 2004.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU diffutils 3.1\n"
+"Project-Id-Version: GNU diffutils 3.3-pre1\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
-"PO-Revision-Date: 2011-08-13 23:15+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
+"PO-Revision-Date: 2012-10-31 17:30+0100\n"
 "Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "Language: pl\n"
@@ -27,7 +27,7 @@ msgstr "błąd programu"
 msgid "stack overflow"
 msgstr "przepełnienie stosu"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Nieznany błąd systemu"
 
@@ -140,100 +140,102 @@ msgstr "%s: opcja -W '%s' wymaga argumentu\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr "„"
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr "”"
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Powodzenie"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Nie pasuje"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Błędne wyrażenie regularne"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Znak błędny dla bieżącego uporządkowania"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Błędne nazwa klasy znaków"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Końcowy ukośnik odwrotny"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Błędny odnośnik wstecz"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "Nie sparowany [ lub [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "Nie sparowany ( lub \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "Nie sparowany \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Błędna zawartość \\{\\}"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Błędny koniec zakresu"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Brak pamięci"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Błędne poprzedzające wyrażenie regularne"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Przedwczesny koniec wyrażenia regularnego"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Wyrażenia regularne jest za duże"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "Nie sparowany ) lub \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Brak poprzedniego wyrażenia regularnego"
 
@@ -264,18 +266,18 @@ msgstr "nie udało się ponownie otworzyć %s z uprawnieniami %s"
 
 #: lib/xstrtol-error.c:63
 #, c-format
-msgid "invalid %s%s argument `%s'"
-msgstr "błędny argument %s%s: `%s'"
+msgid "invalid %s%s argument '%s'"
+msgstr "błędny argument %s%s: '%s'"
 
 #: lib/xstrtol-error.c:68
 #, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "błędny przyrostek argumentu %s%s: `%s'"
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr "błędny przyrostek argumentu %s%s: '%s'"
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
-msgstr "argument %s%s `%s' jest za duży"
+msgid "%s%s argument '%s' too large"
+msgstr "argument %s%s '%s' jest za duży"
 
 #: lib/version-etc.c:74
 #, c-format
@@ -451,7 +453,7 @@ msgstr "strona domowa %s: http://www.gnu.org/software/%s/\n"
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Pomoc w używaniu oprogramowania GNU: http://www.gnu.org/gethelp/\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Pliki %s i %s różnią się\n"
@@ -461,7 +463,7 @@ msgstr "Pliki %s i %s różnią się\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "Binarne pliki %s i %s różnią się\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Brak znaku nowej linii na końcu pliku"
 
@@ -475,29 +477,29 @@ msgstr "Torbjörn Granlund"
 msgid "David MacKenzie"
 msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
 #, c-format
-msgid "Try `%s --help' for more information."
-msgstr "Napisz `%s --help' żeby dowiedzieć się więcej."
+msgid "Try '%s --help' for more information."
+msgstr "Napisz '%s --help' żeby dowiedzieć się więcej."
 
 #: src/cmp.c:137
 #, c-format
-msgid "invalid --ignore-initial value `%s'"
-msgstr "błędna wartość --ignore-initial `%s'"
+msgid "invalid --ignore-initial value '%s'"
+msgstr "błędna wartość --ignore-initial '%s'"
 
 #: src/cmp.c:147
 #, c-format
 msgid "options -l and -s are incompatible"
 msgstr "sprzeczne opcje -l i -s"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "zapis nieudany"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "standardowe wyjście"
 
@@ -557,7 +559,7 @@ msgstr ""
 "Opcjonalne argumenty OMIŃ1 i OMIŃ2 to liczby bajtów do pominięcia na\n"
 "początku każdego z plików (domyślnie zero)."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr "Obowiązkowe argumenty długich opcji są obowiązkowe też dla krótkich.\n"
@@ -573,10 +575,10 @@ msgstr ""
 "GB 1,000,000,000, G 1,073,741,824, i tak dalej dla T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
-msgstr "Jeżeli PLIK to `-' lub go brak, czytane jest standardowe wejście."
+msgid "If a FILE is '-' or missing, read standard input."
+msgstr "Jeżeli PLIK to '-' lub go brak, czytane jest standardowe wejście."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "Status wyjściowy ma wartość 0 gdy pliki wejściowe są takie same, 1 - jeżeli\n"
@@ -584,18 +586,18 @@ msgstr ""
 
 #: src/cmp.c:240
 #, c-format
-msgid "invalid --bytes value `%s'"
-msgstr "błędna wartość --bytes `%s'"
+msgid "invalid --bytes value '%s'"
+msgstr "błędna wartość --bytes '%s'"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
 #, c-format
-msgid "missing operand after `%s'"
-msgstr "brakujący argument po `%s'"
+msgid "missing operand after '%s'"
+msgstr "brakujący argument po '%s'"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
 #, c-format
-msgid "extra operand `%s'"
-msgstr "nadmiarowy argument `%s'"
+msgid "extra operand '%s'"
+msgstr "nadmiarowy argument '%s'"
 
 #: src/cmp.c:491
 #, c-format
@@ -613,139 +615,139 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: EOF przy %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr "Paul Eggert"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr "Mike Haertel"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr "David Hayes"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr "Richard Stallman"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr "Len Tower"
 
-#: src/diff.c:340
+#: src/diff.c:339
 #, c-format
-msgid "invalid context length `%s'"
-msgstr "błędna długość kontekstu `%s'"
+msgid "invalid context length '%s'"
+msgstr "błędna długość kontekstu '%s'"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "stronicowanie nie jest możliwe na tej maszynie"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "za dużo opcji etykietowania plików"
 
-#: src/diff.c:515
+#: src/diff.c:514
 #, c-format
-msgid "invalid width `%s'"
-msgstr "błędna szerokość `%s'"
+msgid "invalid width '%s'"
+msgstr "błędna szerokość '%s'"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "sprzeczne opcje szerokości"
 
-#: src/diff.c:544
+#: src/diff.c:543
 #, c-format
-msgid "invalid horizon length `%s'"
-msgstr "błędna długość horyzontu `%s'"
+msgid "invalid horizon length '%s'"
+msgstr "błędna długość horyzontu '%s'"
 
-#: src/diff.c:595
+#: src/diff.c:598
 #, c-format
-msgid "invalid tabsize `%s'"
-msgstr "błędny rozmiar tabulacji `%s'"
+msgid "invalid tabsize '%s'"
+msgstr "błędny rozmiar tabulacji '%s'"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "sprzeczne opcje rozmiarów TAB-a"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "równocześnie podane --from-file i --to-file"
 
-#: src/diff.c:851
+#: src/diff.c:854
 msgid "    --normal                  output a normal diff (the default)"
 msgstr ""
 "--normal                      wynik w postaci zwykłego diff-a (domyślnie)"
 
-#: src/diff.c:852
+#: src/diff.c:855
 msgid "-q, --brief                   report only when files differ"
 msgstr ""
 "-q  --brief                   wypisanie wyniku tylko gdy pliki się różnią"
 
-#: src/diff.c:853
+#: src/diff.c:856
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files  informowanie gdy dwa pliki są takie same"
 
-#: src/diff.c:854
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
 "-c, -C NUM, --context[=ILE]   wypisanie ILU (domyślnie 3) linii kontekstu"
 
-#: src/diff.c:855
+#: src/diff.c:858
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 "--u, -U ILE, --unified=ILE    wypisanie najwyżej ILE (domyślnie 3)\n"
 "                                linii kontekstu w trybie unified"
 
-#: src/diff.c:856
+#: src/diff.c:859
 msgid "-e, --ed                      output an ed script"
 msgstr "-e  --ed                      wynik w postaci poleceń ed-a"
 
-#: src/diff.c:857
+#: src/diff.c:860
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs                     wynik w postaci diff-a z RCS"
 
-#: src/diff.c:858
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
 msgstr "-y, --side-by-side            wyniki w dwóch kolumnach"
 
-#: src/diff.c:859
+#: src/diff.c:862
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
 "-W, --width=ILE               wypisanie najwyżej ILE (domyślnie 130) kolumn"
 
-#: src/diff.c:860
+#: src/diff.c:863
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr ""
 "    --left-column             wypisanie tylko lewej kolumny dla wspólnych "
 "linii"
 
-#: src/diff.c:861
+#: src/diff.c:864
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "    --suppress-common-lines   bez wypisania wspólnych linii"
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr "-p, --show-c-function         podanie w jakiej funkcji C są zmiany"
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 "-F, --show-function-line=WYRREG  wypisanie ostatniej linii pasującej do "
 "WYRREG"
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
@@ -753,78 +755,83 @@ msgstr ""
 "    --label ETYKIETA          użycie ETYKIETY zamiast nazwy pliku\n"
 "                                (może być powtarzane)"
 
-#: src/diff.c:868
+#: src/diff.c:871
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t  --expand-tabs             rozwinięcie TAB-ów w spacje w wyniku"
 
-#: src/diff.c:869
+#: src/diff.c:872
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr "-T  --initial-tab             wyrównanie linii przez użycie TAB-ów"
 
-#: src/diff.c:870
+#: src/diff.c:873
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr "    --tabsize=ILE             TAB-y co ILE (domyślnie 8) kolumn"
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 "    --suppress-blank-empty    bez wypisywania spacji i znaków TAB przed\n"
 "                                pustymi liniami"
 
-#: src/diff.c:872
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+#: src/diff.c:875
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr ""
-"-I  --paginate                przepuszczenie wyniku przez `pr' żeby go "
+"-I  --paginate                przepuszczenie wyniku przez 'pr' żeby go "
 "stronnicować"
 
-#: src/diff.c:874
+#: src/diff.c:877
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr "-r  --recursive                 porównanie podkatalogów rekurencyjnie"
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+"    --no-dereference            bez podążania za dowiązaniami symbolicznymi"
+
+#: src/diff.c:879
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr ""
 "-N  --new-file                  traktowanie brakujących plików jak pustych"
 
-#: src/diff.c:876
+#: src/diff.c:880
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 "    --unidirectional-new-file   traktowanie brakujących pierwszych plików\n"
 "                                 w pierwszym zestawie jako pustych"
 
-#: src/diff.c:877
+#: src/diff.c:881
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
 "    --ignore-space-change       zignorowanie wielkości liter przy\n"
 "                                  porównywaniu nazw plików"
 
-#: src/diff.c:878
+#: src/diff.c:882
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "    --no-ignore-file-name-case  uwzględnianie wielkości liter przy\n"
 "                                  porównywaniu nazw plików"
 
-#: src/diff.c:879
+#: src/diff.c:883
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr "-x, --exclude=WZÓR              wykluczenie plików pasujących do WZORU"
 
-#: src/diff.c:880
+#: src/diff.c:884
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
 "-X, --exclude-from=PLIK         pominięcie plików pasujących do wzorców w "
 "PLIKU"
 
-#: src/diff.c:881
+#: src/diff.c:885
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
 "-S, --starting-file=PLIK       zacznij od PLIKU przy porównywaniu katalogów"
 
-#: src/diff.c:882
+#: src/diff.c:886
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
 "                                  FILE1 can be a directory"
@@ -832,7 +839,7 @@ msgstr ""
 "    --from-file=PLIK1           porównanie PLIKU1 z wszystkimi\n"
 "                                  argumentami; PLIK1 może być katalogiem"
 
-#: src/diff.c:884
+#: src/diff.c:888
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
 "                                  FILE2 can be a directory"
@@ -840,85 +847,85 @@ msgstr ""
 "    --to-file=PLIK2             porównanie wszystkich argumentów\n"
 "                                  z PLIKIEM2; PLIK2 może być katalogiem"
 
-#: src/diff.c:887
+#: src/diff.c:891
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr ""
 "-i  --ignore-case               ignorowanie różnic między wielkimi i małymi "
 "literami"
 
-#: src/diff.c:888
+#: src/diff.c:892
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion      zignorowanie zmian spowodowanych\n"
 "                                  rozwinięciem TAB-ów"
 
-#: src/diff.c:889
-#, fuzzy
+#: src/diff.c:893
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
-msgstr "-W  --ignore-all-space       ignorowanie wszystkich znaków odstępu"
+msgstr ""
+"-Z  --ignore-trailing-space     ignorowanie znaków odstępu na końcu linii"
 
-#: src/diff.c:890
+#: src/diff.c:894
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr ""
 "-b  --ignore-space-change       Zignorowanie zmian ilości znaków odstępu"
 
-#: src/diff.c:891
+#: src/diff.c:895
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space          zignorowanie znaków odstępu"
 
-#: src/diff.c:892
+#: src/diff.c:896
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr ""
 "-B  --ignore-blank-lines        zignorowanie zmian liczby pustych linii"
 
-#: src/diff.c:893 src/sdiff.c:178
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+#: src/diff.c:897
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I, --ignore-matching-lines=RE  zignorowanie zmian w liniach pasujących\n"
 "                                  do RE"
 
-#: src/diff.c:895
+#: src/diff.c:899
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text                      traktowanie plików jako tekstowych"
 
-#: src/diff.c:896
+#: src/diff.c:900
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr ""
 "--strip-trailing-cr             pominięcie znaków nowej linii na wejściu"
 
-#: src/diff.c:898
+#: src/diff.c:902
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary                        czytanie i zapisywanie danych binarnie"
 
-#: src/diff.c:901
+#: src/diff.c:905
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D, --ifdef=NAZWA               wypisanie połączonego pliku dla pokazania\n"
-"                                  różnic w `#ifdef NAZWA'"
+"                                  różnic w '#ifdef NAZWA'"
 
-#: src/diff.c:902
+#: src/diff.c:906
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "    --GTYPE-group-format=FMTG   użyciem FMTF do sformatowania grup\n"
 "                                  wejściowych typu GTYPE"
 
-#: src/diff.c:903
+#: src/diff.c:907
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
 "    --line-format=LFMT          podobnie, ale z użyciem LFMT do\n"
 "                                  sformatowania linii wejściowych"
 
-#: src/diff.c:904
+#: src/diff.c:908
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "    --LTYPE-line-format=FMTL    użycie FMTL do sformatowania linii\n"
 "                                  wejściowych typu LTYPE"
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
@@ -926,11 +933,11 @@ msgstr ""
 "  Te opcje formatowania dają dokładną kontrolę nad wynikami diff-a,\n"
 "    są uogólnieniem -D/--ifdef."
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
-msgstr "TYPL to `old', `new' albo `unchanged'.  TYPG to TYPL albo `changed'."
+#: src/diff.c:911
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
+msgstr "TYPL to 'old', 'new' albo 'unchanged'.  TYPG to TYPL albo 'changed'."
 
-#: src/diff.c:908
+#: src/diff.c:912
 msgid ""
 "  GFMT (only) may contain:\n"
 "    %<  lines from FILE1\n"
@@ -958,7 +965,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1    %(A=B?T:E)  jeżeli A równa się B, to T, jeżeli nie, to E"
 
-#: src/diff.c:920
+#: src/diff.c:924
 msgid ""
 "  LFMT (only) may contain:\n"
 "    %L  contents of line\n"
@@ -970,7 +977,7 @@ msgstr ""
 "    %l  zawartość linii z wyłączeniem znaku nowej linii\n"
 "    %[-][SZER][.[DOKŁ]]{doxX}n  specyfikację numeru linii w stylu printf"
 
-#: src/diff.c:924
+#: src/diff.c:928
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
 "    %%  %\n"
@@ -984,92 +991,97 @@ msgstr ""
 "    %c'\\OOO'  znak o kodzie ósemkowym OOO    Z    znak Z (inne znaki "
 "reprezentują same siebie)"
 
-#: src/diff.c:930
+#: src/diff.c:934
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr ""
 "-d  --minimal            usiłowanie znalezienia mniejszego zbioru zmian"
 
-#: src/diff.c:931
+#: src/diff.c:935
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 "    --horizon-lines=ILE  zostawienie ILE linii wspólnego przedrostka i "
 "przyrostka"
 
-#: src/diff.c:932
+#: src/diff.c:936
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr ""
 "    --speed-large-files  założenie: duże pliki i rozrzucone małe zmiany"
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr "    --help               wypisanie tej pomocy i zakończenie"
 
-#: src/diff.c:935
+#: src/diff.c:939
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version            wypisanie informacji o wersji i zakończenie"
 
-#: src/diff.c:937
+#: src/diff.c:941
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
-"PLIKI to `PLIK1 PLIK2' albo `KATALOG1 KATALOG2' albo `KATALOG PLIK...' albo\n"
-"PLIK... KATALOG'."
+"PLIKI to 'PLIK1 PLIK2' albo 'KATALOG1 KATALOG2' albo 'KATALOG PLIK...' albo\n"
+"'PLIK... KATALOG'."
 
-#: src/diff.c:938
+#: src/diff.c:942
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
 "Jeżeli użyta jest opcja --from-file albo --to-file, nie ma ograniczeń co do\n"
 "PLIKU/ÓW."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
-msgstr "Jeżeli PLIK to `-', czytane jest standardowe wejście."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+msgid "If a FILE is '-', read standard input."
+msgstr "Jeżeli PLIK to '-', czytane jest standardowe wejście."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Składnia: %s [OPCJA]... PLIKI\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 msgid "Compare FILES line by line."
 msgstr "Porównanie PLIKÓW kolejnymi liniami."
 
-#: src/diff.c:984
+#: src/diff.c:988
 #, c-format
-msgid "conflicting %s option value `%s'"
-msgstr "sprzeczna wartość opcji %s: `%s'"
+msgid "conflicting %s option value '%s'"
+msgstr "sprzeczna wartość opcji %s: '%s'"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "sprzeczne opcje stylu wyniku"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Tylko w %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
-msgstr "nie można porównać `-' z katalogiem"
+#: src/diff.c:1192
+msgid "cannot compare '-' to a directory"
+msgstr "nie można porównać '-' z katalogiem"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "opcja -D nie działa dla katalogów"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Wspólne podkatalogi: %s i %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "Plik %s jest %s, podczas gdy plik %s jest %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Dowiązania symboliczne %s i %s różnią się\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Pliki %s i %s są identyczne\n"
@@ -1085,11 +1097,11 @@ msgid "incompatible options"
 msgstr "niezgodne opcje"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
-msgstr "`-' podany dla więcej niż jednego pliku wejściowego"
+msgid "'-' specified for more than one input file"
+msgstr "'-' podany dla więcej niż jednego pliku wejściowego"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "nieudany odczyt"
 
@@ -1127,8 +1139,8 @@ msgid "-X                          like -x, but bracket conflicts"
 msgstr "-X                          jak -x, ale z konfliktami w nawiasach"
 
 #: src/diff3.c:436
-msgid "-i                          append `w' and `q' commands to ed scripts"
-msgstr "-i                          dodanie poleceń `w' i `q' do skryptu ed-a"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
+msgstr "-i                          dodanie poleceń 'w' i 'q' do skryptu ed-a"
 
 #: src/diff3.c:438
 msgid ""
@@ -1227,31 +1239,31 @@ msgstr "błąd wewnętrzny: błędny typ diff w process_diff"
 msgid "invalid diff format; invalid change separator"
 msgstr "błędny format diff; błędny separator zmian"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "błędny format diff; niekompletna ostatnia linia"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
 #, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "nie mógł być wywołany program pomocniczy `%s'"
+msgid "subsidiary program '%s' could not be invoked"
+msgstr "nie mógł być wywołany program pomocniczy '%s'"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "błędny format diff; nieprawidłowe znaki na początku linii"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "błąd wenwętrzny: błędny typ diff-a przekazany na wyjście"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "plik wejściowy się zmniejszył"
 
 #: src/dir.c:158
 #, c-format
-msgid "cannot compare file names `%s' and `%s'"
-msgstr "nie można porównać nazw plików `%s' i `%s'"
+msgid "cannot compare file names '%s' and '%s'"
+msgstr "nie można porównać nazw plików '%s' i '%s'"
 
 #: src/dir.c:209
 #, c-format
@@ -1263,118 +1275,123 @@ msgstr "%s: rekurencyjne zapętlenie katalogów"
 msgid "Thomas Lord"
 msgstr "Thomas Lord"
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
 "-o, --output=PLIK            tryb interakcyjny, wyniki wysyłane do PLIKU"
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr ""
 "-i  --ignore-case            traktowanie małych i wielkich liter tak samo"
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion   zignorowanie zmian spowodowanych rozwinięciem\n"
 "                               TAB-ów"
 
-#: src/sdiff.c:174
-#, fuzzy
+#: src/sdiff.c:177
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
-msgstr "-W  --ignore-all-space       ignorowanie wszystkich znaków odstępu"
+msgstr "-Z  --ignore-trailing-space  ignorowanie znaków odstępu na końcu linii"
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change    zignorowanie zmian ilości znaków odstępu"
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 msgid "-W, --ignore-all-space       ignore all white space"
 msgstr "-W  --ignore-all-space       ignorowanie wszystkich znaków odstępu"
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr "-B  --ignore-blank-lines     zignorowanie zmian liczby pustych linii"
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I, --ignore-matching-lines=RE  zignorowanie zmian w liniach pasujących\n"
+"                                  do RE"
+
+#: src/sdiff.c:182
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr "--strip-trailing-cr          pominięcie znaków nowej linii na wejściu"
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text                   traktowanie plików jako tekstowych"
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 "-w ILE  --width=ILE          wypisanie najwyżej ILE (domyślnie 130) kolumn"
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr ""
 "-I  --left-column            wypisanie tylko lewej kolumny dla wspólnych "
 "linii"
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  bez wypisania wspólnych linii"
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t  --expand-tabs            rozwinięcie TAB-ów w spacje w wyniku"
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr "    --tabsize=ILE            TAB-y co ILE (domyślnie 8) kolumn"
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr ""
 "-d  --minimal                usiłowanie znalezienia mniejszego zbioru zmian"
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr ""
 "-H  --speed-large-files      założenie: duże pliki i rozrzucone małe zmiany"
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr "    --diff-program=PROGRAM  użycie PROGRAMU do porównania plików"
 
-#: src/sdiff.c:193
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
 msgstr "    --help                   wypisanie tej pomocy i zakończenie"
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 msgid "-v, --version                output version information and exit"
 msgstr ""
 "-v  --version                wypisanie informacji o wersji i zakończenie"
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Składnia: %s [OPCJA]... PLIK1 PLIK2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Interaktywne łączenie różnic między PLIKIEM1 a PLIKIEM2."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "nie mogę interakcyjnie łączyć standardowego wejścia"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "oba mające być porównane pliki to katalogi"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
index 336aa95..7a46717 100644 (file)
Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ
index 1b5a9a0..e5d1b82 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: diffutils 2.8.3\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2002-06-24 09:07GMT -3\n"
 "Last-Translator: Halley Pacheco de Oliveira <halleypo@ig.com.br>\n"
 "Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
@@ -24,7 +24,7 @@ msgstr "erro do programa"
 msgid "stack overflow"
 msgstr "estouro da pilha"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Erro de sistema desconhecido"
 
@@ -138,100 +138,102 @@ msgstr "%s: a op
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Sucesso"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Sem correspondente"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "A expressão regular não é válida"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "O caracter de classificação não é válido"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "O nome da classe de caracteres não é válido"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Contrabarra final"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "A referência retroativa não é válida"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "[ ou [^ sem correspondente"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "( or \\( sem correspondente"
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "\\{ sem correspondente"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "O counteúdo de \\{\\} não é válido"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "O fim do intervalo não é válido"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Memória esgotada"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "A expressão regular precedente não é válida"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Fim prematuro da expressão regular"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "A expressão regular é muito grande"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr ") or \\) sem correspondente"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Sem expressão regular prévia"
 
@@ -263,17 +265,17 @@ msgstr ""
 
 #: lib/xstrtol-error.c:63
 #, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "valor inválido --bytes `%s'"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "comprimento do horizonte inválido `%s'"
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr ""
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr ""
 
 #: lib/version-etc.c:74
@@ -424,7 +426,7 @@ msgstr ""
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Os arquivos %s e %s são diferentes\n"
@@ -434,7 +436,7 @@ msgstr "Os arquivos %s e %s s
 msgid "Binary files %s and %s differ\n"
 msgstr "Os arquivos binários %s e %s são diferentes\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Falta o caracter nova linha no final do arquivo"
 
@@ -448,14 +450,14 @@ msgstr ""
 msgid "David MacKenzie"
 msgstr ""
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "Utilize `%s --help' para obter mais informações."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "valor inválido --ignore-initial `%s'"
 
 #: src/cmp.c:147
@@ -463,14 +465,14 @@ msgstr "valor inv
 msgid "options -l and -s are incompatible"
 msgstr "as opções -l e -s não são compatíveis"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "erro de escrita"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "saída padrão"
 
@@ -539,7 +541,7 @@ msgid ""
 msgstr ""
 "SALTO1 e SALTO2 correspondem ao número de bytes saltados em cada arquivo."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -557,26 +559,27 @@ msgstr ""
 "e assim por diante para T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "Se ARQUIVO for igual a `-' ou for omitido, ler da entrada padrão."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "valor inválido --bytes `%s'"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "faltando operando após `%s'"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "operando extra `%s'"
 
 #: src/cmp.c:491
@@ -595,98 +598,95 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: Fim de arquivo (EOF) em %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr ""
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "o comprimento do contexto não é válido `%s'"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "este computador não suporta paginação"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "opções de rótulo de arquivo em número excessivo"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "largura inválida `%s'"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "opções de largura conflitantes"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "comprimento do horizonte inválido `%s'"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "tamanho de tabulação inválido `%s'"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "opções de tamanho de tabulação conflitantes"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "ambos --from-file e --to-file especificados"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal                    Criar o diff no formato normal."
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr ""
 "-q  --brief                 Indicar apenas se os arquivos são diferentes."
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr ""
 "-s  --report-identical-files  Indicar quando dois arquivos forem o idênticos."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w NUM  --width=NUM         Limitar a saída a NUM colunas por linha (padrão "
-"130)."
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
@@ -694,23 +694,21 @@ msgstr ""
 "-w NUM  --width=NUM         Limitar a saída a NUM colunas por linha (padrão "
 "130)."
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr ""
-"-a  --text                  Considerar todos os arquivos como sendo de texto."
+msgstr "-e  --ed                    Criar um script para o editor ed"
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs                   Criar o diff no formato RCS."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version               Exibir as informações da versão."
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
@@ -718,7 +716,7 @@ msgstr ""
 "-w NUM  --width=NUM         Limitar a saída a NUM colunas por linha (padrão "
 "130)."
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
@@ -726,39 +724,39 @@ msgstr ""
 "-l  --left-column           Exibir apenas a coluna da esquerda nas linhas\n"
 "                              idênticas."
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  Não exibir as linhas em idênticas."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr ""
 "-t  --expand-tabs           Expandir as tabulações para espaços na saída."
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
 "-T  --initial-tab           Alinhar as diferenças introduzindo um\n"
 "                            caracter de tabulação no início."
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
@@ -766,18 +764,18 @@ msgstr ""
 "--tabsize=NUM               Parada de tabulação a cada NUM colunas\n"
 "                            (padrão=8)."
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr ""
 "-l  --paginate              Passar a saída através da `pr' para paginar."
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
@@ -785,41 +783,45 @@ msgstr ""
 "-r  --recursive             Comparar recursivamente os subdiretórios\n"
 "                            encontrados."
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr ""
 "-N  --new-file              Considerar os arquivos ausentes como vazios."
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 "--unidirectional-new-file   Considerar os primeiros arquivos ausentes\n"
 "                            como vazios."
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
 "--ignore-file-name-case     Não fazer distinção entre letras maiúsculas e\n"
 "                            minúsculas nos nomes dos arquivos."
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "--no-ignore-file-name-case  Fazer distinção entre letras maiúsculas e\n"
 "                            minúsculas nos nomes dos arquivos."
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr ""
 "-x PADRÃO  --exclude=PADRÃO Não comparar os arquivos cujos nomes\n"
 "                            correspondem ao PADRÃO."
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
@@ -828,7 +830,7 @@ msgstr ""
 "                            Excluir os arquivos com nomes que correspondem\n"
 "                            a qualquer padrão contido em ARQUIVO."
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
@@ -836,7 +838,7 @@ msgstr ""
 "-S ARQUIVO  --starting-file=ARQUIVO\n"
 "                            Iniciar por ARQUIVO ao comparar dois diretórios."
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -845,7 +847,7 @@ msgstr ""
 "--from-file=ARQUIVO1        Comparar ARQUIVO1 com todos os operandos.\n"
 "                            ARQUIVO1 pode ser um diretório."
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -854,7 +856,7 @@ msgstr ""
 "--to-file=ARQUIVO2          Comparar todos os operandos com ARQUIVO2.\n"
 "                            ARQUIVO2 pode ser um diretório."
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
@@ -862,19 +864,19 @@ msgstr ""
 "-i  --ignore-case           Não fazer distinção entre letras maiúsculas e\n"
 "                            minúsculas no conteúdo do arquivo."
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Ignorar as diferenças causadas pela expansão\n"
 "                            da tabulação."
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-space      Ignorar todos os espaços em branco."
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
@@ -882,86 +884,87 @@ msgstr ""
 "-b  --ignore-space-change   Ignorar a diferença na quantidade de espaços\n"
 "                            em branco."
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space      Ignorar todos os espaços em branco."
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr ""
 "-B  --ignore-blank-lines    Ignorar diferenças nas linhas somente com "
 "brancos."
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I EXPREG  --ignore-matching-lines=EXPREG\n"
 "                            Ignorar as diferenças nas linhas que "
 "correspondem\n"
 "                            à EXPressão REGular."
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr ""
 "-a  --text                  Considerar todos os arquivos como sendo de texto."
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr ""
 "--strip-trailing-cr         Remover o caracter final de retorno de carro\n"
 "                            (CR) da entrada."
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary  Ler e escrever os dados em modo binário."
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D NOME  --ifdef=NOME       Exibir o arquivo mesclado incluindo\n"
 "                            `#ifndef NOME original #else modificado'\n"
 "                            nas diferenças."
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr "--GTYPE-group-format=GFMT   Formata grupos de entrada GTYPE com GFMT."
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
 "--line-format=LFMT          Formata todas as linhas de entrada com LFMT."
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "--LTYPE-line-format=LFMT    Formata todas as linhas de entrada LTYPE com "
 "LFMT."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  LTYPE pode ser `old', `new', ou `unchanged'.\n"
 "  GTYPE pode ser um dos valores de LTYPE ou `changed'."
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -992,7 +995,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -1006,7 +1009,7 @@ msgstr ""
 "    %[-][LARGURA][.[PREC]]{doxX}n  especificação do número da linha da \n"
 "        entrada utilizando a mesma notação do comando printf()."
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -1020,20 +1023,20 @@ msgstr ""
 "    %c'C'  o caracter C\n"
 "    %c'\\OOO'  o caracter com código octal OOO"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr ""
 "-d  --minimal               Se esforçar para encontrar o menor conjunto\n"
 "                            de diferenças."
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 "--horizon-lines=N           Manter N linhas de prefixo e sufixo idênticos."
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
@@ -1041,79 +1044,87 @@ msgstr ""
 "-H  --speed-large-files     Assumir arquivos grandes e muitas alterações\n"
 "                              pequenas espalhadas."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version               Exibir as informações da versão."
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "ARQUIVOS são `ARQUIVO1 ARQUIVO2' ou\n"
 "             `DIR1 DIR2' ou\n"
 "             `DIR ARQUIVO...' ou\n"
 "             `ARQUIVO... DIR'."
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
 "Se --from-file ou --to-file for especificado, não há restrição em ARQUIVOS."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "Se ARQUIVO for igual a `-', ler da entrada padrão."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Utilização: %s [OPÇÃO]... ARQUIVOS\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "Comparar os arquivos linha por linha"
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "conflitando %s valor da opção `%s'"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "opções de estilo de saída conflitantes"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Somente em %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "impossível comparar `-' com um diretório"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "a opção -D não é suportada com diretórios"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Subdiretórios idênticos: %s e %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "O arquivo %s é %s enquanto o arquivo %s é %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Os arquivos %s e %s são diferentes\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Os aquivos %s e %s são idênticos\n"
@@ -1130,11 +1141,12 @@ msgid "incompatible options"
 msgstr "opções incompatíveis"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "`-' especificado para mais de um arquivo de entrada"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "falha de leitura"
 
@@ -1179,15 +1191,12 @@ msgstr ""
 "-x  --overlap-only          Exibir somente as diferenças que se sobrepõem."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap          Exibir as diferenças sem mesclar,\n"
-"                              conflitos entre parênteses."
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr ""
 "-i                          Incluir os comandos `w' e `q' no script do ed."
 
@@ -1229,10 +1238,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
 msgstr ""
-"-a  --text                  Considerar todos os arquivos como sendo de texto."
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1283,30 +1290,30 @@ msgstr "erro interno: tipo de diff inv
 msgid "invalid diff format; invalid change separator"
 msgstr "formato de diff inválido; separador de diferença inválido"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "formato de diff inválido; a última linha não está completa"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
 #, fuzzy, c-format
-msgid "subsidiary program `%s' could not be invoked"
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "o programa auxiliar `%s' não foi encontrado"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "formato de diff inválido; caracteres incorretos na linha de início"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "erro interno: tipo de diff inválido passado para a saída"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "o arquivo de entrada diminuiu"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "impossível comparar os nomes dos arquivos `%s' e `%s'"
 
 #: src/dir.c:209
@@ -1320,7 +1327,7 @@ msgstr ""
 msgid "Thomas Lord"
 msgstr "Escrito por Thomas Lord."
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
@@ -1328,7 +1335,7 @@ msgstr ""
 "-o ARQUIVO  --output=ARQUIVO  Agir interativamente, direcionando a saída "
 "para ARQUIVO."
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
@@ -1336,19 +1343,19 @@ msgstr ""
 "-i  --ignore-case           Não fazer distinção entre letras maiúsculas\n"
 "                              e minúsculas."
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Ignorar as diferenças causadas pela expansão\n"
 "                            da tabulação."
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-space      Ignorar todos os espaços em branco."
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
@@ -1356,32 +1363,41 @@ msgstr ""
 "-b  --ignore-space-change   Ignorar a diferença na quantidade de espaços\n"
 "                            em branco."
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space      Ignorar todos os espaços em branco."
+msgstr "-W  --ignore-all-space      Ignorar todos os espaços em branco."
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr ""
 "-B  --ignore-blank-lines    Ignorar diferenças nas linhas somente com "
 "brancos."
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I EXPREG  --ignore-matching-lines=EXPREG\n"
+"                            Ignorar as diferenças nas linhas que "
+"correspondem\n"
+"                            à EXPressão REGular."
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr ""
 "--strip-trailing-cr         Remover o caracter final de retorno de carro\n"
 "                            (CR) da entrada."
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr ""
 "-a  --text                  Considerar todos os arquivos como sendo de texto."
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
@@ -1389,7 +1405,7 @@ msgstr ""
 "-w NUM  --width=NUM         Limitar a saída a NUM colunas por linha (padrão "
 "130)."
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
@@ -1397,18 +1413,18 @@ msgstr ""
 "-l  --left-column           Exibir apenas a coluna da esquerda nas linhas\n"
 "                              idênticas."
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  Não exibir as linhas em idênticas."
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr ""
 "-t  --expand-tabs           Expandir as tabulações para espaços na saída."
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
@@ -1416,14 +1432,14 @@ msgstr ""
 "--tabsize=NUM               Parada de tabulação a cada NUM colunas\n"
 "                            (padrão=8)."
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr ""
 "-d  --minimal               Se esforçar para encontrar o menor conjunto\n"
 "                            de diferenças."
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
@@ -1431,41 +1447,39 @@ msgstr ""
 "-H  --speed-large-files     Assumir arquivos grandes e muitas alterações\n"
 "                              pequenas espalhadas."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr "--diff-program=PROGRAMA     Usar o PROGRAMA para comparar os arquivos."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
 msgstr ""
-"-a  --text                  Considerar todos os arquivos como sendo de texto."
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version               Exibir as informações da versão."
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Utilização: %s [OPÇÃO]... ARQUIVO1 ARQUIVO2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Mesclagem lado a lado das diferenças dos arquivos."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "impossível mesclar interativamente a entrada padrão"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "os dois arquivos a serem comparados são diretórios"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 #, fuzzy
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
@@ -1490,6 +1504,23 @@ msgstr ""
 "v:\tIncluir verbosamente as linhas idênticas.\n"
 "q:\tSair.\n"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: a opção -- %c é ilegal\n"
+
+#~ msgid ""
+#~ "This program comes with NO WARRANTY, to the extent permitted by law.\n"
+#~ "You may redistribute copies of this program\n"
+#~ "under the terms of the GNU General Public License.\n"
+#~ "For more information about these matters, see the files named COPYING."
+#~ msgstr ""
+#~ "Este programa não tem nenhum tipo de garantia, o tanto quanto\n"
+#~ "é permitido por lei. Você pode redistribuir cópias deste\n"
+#~ "programa sob os termos da Licença Pública Geral GNU. Para\n"
+#~ "mais informações a este respeito, leia o arquivo COPYING."
+
+#~ msgid "Written by Torbjorn Granlund and David MacKenzie."
+#~ msgstr "Escrito por Torbjörn Granlund e David MacKenzie."
+
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i SALTO1:SALTO2  --ignore-initial=SALTO1:SALTO2"
 
@@ -1498,59 +1529,31 @@ msgstr ""
 #~ "-s  --quiet  --silent       Não exibir nada; retornar apenas o status de "
 #~ "fim."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version               Exibir as informações da versão."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help                      Exibir esta ajuda."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Comparar três arquivos linha por linha."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr ""
-#~ "-E  --ignore-tab-expansion  Ignorar as diferenças causadas pela expansão\n"
-#~ "                            da tabulação."
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
+#~ msgstr "Relatar os problemas para <bug-gnu-utils@gnu.org>."
 
-#, fuzzy
 #~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr ""
-#~ "-b  --ignore-space-change   Ignorar a diferença na quantidade de espaços\n"
-#~ "                            em branco."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space      Ignorar todos os espaços em branco."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
+#~ "Written by Paul Eggert, Mike Haertel, David Hayes,\n"
+#~ "Richard Stallman, and Len Tower."
 #~ msgstr ""
-#~ "-B  --ignore-blank-lines    Ignorar diferenças nas linhas somente com "
-#~ "brancos."
+#~ "Escrito por Paul Eggert, Mike Haertel, David Hayes,\n"
+#~ "Richard Stallman, e Len Tower."
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr ""
-#~ "--strip-trailing-cr         Remover o caracter final de retorno de carro\n"
-#~ "                            (CR) da entrada."
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "a opção `-%ld' está obsoleta; usar `-%c %ld'"
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr ""
-#~ "-a  --text                  Considerar todos os arquivos como sendo de "
-#~ "texto."
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "a opção `-%ld' está obsoleta; omita-a"
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1567,10 +1570,6 @@ msgstr ""
 #~ "                            Exibir a linha mais recente que corresponde\n"
 #~ "                            à EXPressão REGular."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed                    Criar um script para o editor ed"
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1585,41 +1584,12 @@ msgstr ""
 #~ "                            idênticas.\n"
 #~ "  --suppress-common-lines   Não exibir as linhas idênticas."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr ""
-#~ "-t  --expand-tabs           Expandir as tabulações para espaços na saída."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr ""
-#~ "-T  --initial-tab           Alinhar as diferenças introduzindo um\n"
-#~ "                            caracter de tabulação no início."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr ""
-#~ "--tabsize=NUM               Parada de tabulação a cada NUM colunas\n"
-#~ "                            (padrão=8)."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr ""
-#~ "-d  --minimal               Se esforçar para encontrar o menor conjunto\n"
-#~ "                            de diferenças."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files         Assumir arquivos grandes e muitas alterações\n"
 #~ "                            pequenas espalhadas."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr ""
-#~ "-A  --show-all              Exibir todas as diferenças,\n"
-#~ "                              com os conflitos entre parênteses."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr ""
 #~ "-X                          Exibir as diferenças que se sobrepõem,\n"
@@ -1634,93 +1604,6 @@ msgstr ""
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L RÓTULO  --label=RÓTULO   Usar RÓTULO em vez do nome do arquivo."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr ""
-#~ "--diff-program=PROGRAMA     Usar o PROGRAMA para comparar os arquivos."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space      Ignorar todos os espaços em branco."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w NUM  --width=NUM         Limitar a saída a NUM colunas por linha "
-#~ "(padrão 130)."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr ""
-#~ "-l  --left-column           Exibir apenas a coluna da esquerda nas "
-#~ "linhas\n"
-#~ "                              idênticas."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files         Assumir arquivos grandes e muitas alterações\n"
-#~ "                            pequenas espalhadas."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "falha de leitura"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "erro de escrita"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "falha de leitura"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "falha de leitura"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "erro de escrita"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "erro de escrita"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: a opção -- %c é ilegal\n"
-
-#~ msgid ""
-#~ "This program comes with NO WARRANTY, to the extent permitted by law.\n"
-#~ "You may redistribute copies of this program\n"
-#~ "under the terms of the GNU General Public License.\n"
-#~ "For more information about these matters, see the files named COPYING."
-#~ msgstr ""
-#~ "Este programa não tem nenhum tipo de garantia, o tanto quanto\n"
-#~ "é permitido por lei. Você pode redistribuir cópias deste\n"
-#~ "programa sob os termos da Licença Pública Geral GNU. Para\n"
-#~ "mais informações a este respeito, leia o arquivo COPYING."
-
-#~ msgid "Written by Torbjorn Granlund and David MacKenzie."
-#~ msgstr "Escrito por Torbjörn Granlund e David MacKenzie."
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr "Relatar os problemas para <bug-gnu-utils@gnu.org>."
-
-#~ msgid ""
-#~ "Written by Paul Eggert, Mike Haertel, David Hayes,\n"
-#~ "Richard Stallman, and Len Tower."
-#~ msgstr ""
-#~ "Escrito por Paul Eggert, Mike Haertel, David Hayes,\n"
-#~ "Richard Stallman, e Len Tower."
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "a opção `-%ld' está obsoleta; usar `-%c %ld'"
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "a opção `-%ld' está obsoleta; omita-a"
-
 #~ msgid "subsidiary program `%s' failed"
 #~ msgstr "o programa auxiliar `%s' falhou"
 
index 6143eee..cf1e958 100644 (file)
Binary files a/po/ro.gmo and b/po/ro.gmo differ
index 24b7685..9f32c4a 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: diffutils 2.8.3\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2003-08-22 08:43+0300\n"
 "Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -24,7 +24,7 @@ msgstr "eroare de program"
 msgid "stack overflow"
 msgstr "stivã plinã(overflow)"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Eroare de sistem necunoscutã"
 
@@ -138,100 +138,102 @@ msgstr "%s: op
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Succes"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Nici o potrivire"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Expresie normalã(regular) invalidã"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Caracter de comparare invalid"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Nume clasã caracter invalidã"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Backslash de sfârºit de linie(trailing)"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Referinþã precedentã invalidã"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "[ sau [^ neînchise"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "( or \\( neînchise"
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "\\{ neînchisã"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Conþinut invalid al \\{\\}"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Sfârºit de domeniu invalid"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Memorie plinã"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Expresie normalã de precedenþã invalidã"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Sfârºit prematur de expresie normalã"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Expresie normalã prea mare"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr ") or \\) nedeschise"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Nu a existat nici o expresie normalã antecedentã"
 
@@ -263,17 +265,17 @@ msgstr ""
 
 #: lib/xstrtol-error.c:63
 #, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "valoare --bytes invalidã `%s'"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "lungime de orizont invalidã `%s'"
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr ""
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr ""
 
 #: lib/version-etc.c:74
@@ -424,7 +426,7 @@ msgstr ""
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Fiºierele %s ºi %s diferã\n"
@@ -434,7 +436,7 @@ msgstr "Fi
 msgid "Binary files %s and %s differ\n"
 msgstr "Fiºierele binare %s ºi %s diferã\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Nici un element de linie nouã la sfârºitul fiºierului"
 
@@ -448,14 +450,14 @@ msgstr ""
 msgid "David MacKenzie"
 msgstr ""
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "Încercaþi  `%s --help' pentru mai multe informaþii."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "invalid --se ignorã valoarea iniþialã `%s'"
 
 #: src/cmp.c:147
@@ -463,14 +465,14 @@ msgstr "invalid --se ignor
 msgid "options -l and -s are incompatible"
 msgstr "opþiunile -l ºi -s sunt incompatibile"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "scriere eºuatã"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "ieºire(output) standard"
 
@@ -535,7 +537,7 @@ msgid ""
 msgstr ""
 "OMIS1 ºi OMIS2 sunt numerele de octeþi care sã fie omiºi din fiecare fiºier."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -551,27 +553,28 @@ msgstr ""
 "GB 1,000,000,000, G 1,073,741,824, ºi aºa mai departe pentru T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr ""
 "Dacã un FIªIER este `-' sau lipseºte, se citeºte intrarea(input) standard."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "valoare --bytes invalidã `%s'"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "lipseºte operandul dupã `%s'"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "operand în plus(extra) `%s'"
 
 #: src/cmp.c:491
@@ -590,160 +593,157 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: EOF în %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr ""
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "lungime invalidã de context `%s'"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "paginaþie nesuportatã de acest host"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "prea multe opþiuni de etichete fiºier"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "lungime invalidã `%s'"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "opþiuni de lungime în conflict"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "lungime de orizont invalidã `%s'"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "mãrime tab invalidã `%s'"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "opþiuni mãrime tab în conflict"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr " --from-file ºi --to-file sunt specificate împreunã"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal  Afiºeazã un diff normal."
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q  --brief  Afiºeazã doar dacã fiºierele diferã."
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr ""
 "-s  --report-identical-files  Raporteazã când douã fiºiere sunt asemãnãtoare."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w NUM  --width=NUM  Afiºeazã cel mult NUM (implicit 130) coloane tipãrite."
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 "-w NUM  --width=NUM  Afiºeazã cel mult NUM (implicit 130) coloane tipãrite."
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Trateazã toate fiºierele ca text."
+msgstr "-e  --ed  Afiºeazã un script ed."
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs  Afiºeazã un diff în format RCS."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  Tipãreºte informaþii despre versiune."
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
 "-w NUM  --width=NUM  Afiºeazã cel mult NUM (implicit 130) coloane tipãrite."
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr "-l  --left-column  Afiºeazã doar coloana din stânga a liniilor comune."
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  Nu afiºa liniile comune."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Schimbã tab-urile în spaþii la ieºire(output)."
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr "-T  --initial-tab  Aliniazã tab-urile adãugând în faþã un tab."
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
@@ -751,52 +751,56 @@ msgstr ""
 "--tabsize=NUM  Opririle tab-ului vor fi la fiecare NUM (implicit 8) coloane "
 "tipãrite."
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr ""
 "-l  --paginate  Trimite ieºirea(output) prin `pr' pentru a fi paginatã."
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr "-r  --recursive  Comparã recursiv orice subdirector întâlnit."
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N  --new-file  Trateazã fiºierele lipsã ca vide."
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr "--unidirectional-new-file  Trateazã primele fiºiere lipsã ca vide."
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
 "--ignore-file-name-case  Ignorã cazul când se comparã numele de fiºiere."
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "--no-ignore-file-name-case  Ia în calcul cazul atunci când se comparã numele "
 "de fiºiere."
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr "-x TIP  --exclude=TIP  Exclude fiºierele care se potrivesc TIParului."
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
@@ -804,7 +808,7 @@ msgstr ""
 "-X FIªIER  --exclude-from=FIªIER  Exclude fiºierele care se potrivesc "
 "oricãrui tipar din FIªIER."
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
@@ -812,7 +816,7 @@ msgstr ""
 "-S FIªIER  --starting-file=FIªIER  Începe cu FIªIER în compararea "
 "directoarelor."
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -821,7 +825,7 @@ msgstr ""
 "--from-file=FIªIER1  Comparã FIªIER1 cu toþi operanzii.  FIªIER1 poate fi "
 "director."
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -830,107 +834,108 @@ msgstr ""
 "--to-file=FIªIER2  Comparã toþi operanzii cu FIªIER2.  FIªIER2 poate fi "
 "director."
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr ""
 "-i  --ignore-case  Ignorã diferenþele de caz din conþinutul fiºierului."
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Ignorã schimbãrile produse de modificarea tab-"
 "ului."
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-space  Ignorã tot spaþiul vid."
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Ignorã schimbãrile din spaþiul vid."
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space  Ignorã tot spaþiul vid."
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr ""
-"-B  --ignore-blank-lines  Ignorã schimbãrile unde toate liniile sunt goale"
-"(blank)."
+"-B  --ignore-blank-lines  Ignorã schimbãrile unde toate liniile sunt "
+"goale(blank)."
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I RE  --ignore-matching-lines=RE  Ignorã schimbãrile la toate liniile care "
 "se potrivesc RE-ului."
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text  Trateazã toate fiºierele ca text."
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr ""
-"--strip-trailing-cr  Eliminã returul de car(carriage return) final la intrare"
-"(input)."
+"--strip-trailing-cr  Eliminã returul de car(carriage return) final la "
+"intrare(input)."
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary  Citeºte ºi scrie date în mod binar."
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D NUME  --ifdef=NUME  Afiºeazã fiºierul rezultat(merged) pentru a arãta "
 "diff-urile`#ifdef NAME'."
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "--GTYPE-group-format=GFMT  Similar, dar formatul de intrare GTYPE se "
 "grupeazã cu GFMT."
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr "--line-format=LFMT  Similar, dar formateazã toate liniile cu LFMT."
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "--LTYPE-line-format=LFMT  Similar, dar formateazã liniile de intrare LTYPE "
 "cu LFMT."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  LTYPE este `old', `new', sau `unchanged'.  GTYPE este LTYPE sau `changed'."
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -960,7 +965,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -974,7 +979,7 @@ msgstr ""
 "    %[-][WIDTH][.[PREC]]{doxX}n  specificaþii  stil printf-pentru "
 "introducerea numãrului de linie"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -988,18 +993,18 @@ msgstr ""
 "    %c'C'  caracterul singular C\n"
 "    %c'\\OOO'  caracterul cu codul octal OOO"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr ""
 "-d  --minimal  Încearcã din greu sã gãseºti un set mai mic de schimbãri"
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr "--horizon-lines=NUM  Reþine NUM linii de prefix ºi sufix comun."
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
@@ -1007,23 +1012,24 @@ msgstr ""
 "-H  --speed-large-files  Presupune fiºiere mari ºi multe modificãri mici "
 "împrãºtiate."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version  Tipãreºte informaþii despre versiune."
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "FIªIEREle sunt `FIªIER1 FIªIER2' sau `DIR1 DIR2' sau `DIR FIªIER...' or "
 "`FIªIER... DIR'."
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
@@ -1031,54 +1037,61 @@ msgstr ""
 "Dacã --from-file sau --to-file sunt precizate, nu existã restricþii pe "
 "FIªIERE."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "Dacã FIªIER este `-', se citeºte intrarea(input) standard."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Folosire: %s [OPÞIUNE]... FIªIERE\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "Comparã fiºierele linie cu linie."
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "Existã un conflict cu %s în valoarea opþiunii `%s'"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "Conflict în opþiunile stilului de afiºare(output)"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Doar în %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "nu se poate compara `-' cu un director"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "opþiunea -D nu este compatibilã cu directoarele"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Subdirectoare comune: %s ºi %s.\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "Fiºierul %s este un %s pe când fiºierul %s este un %s.\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Fiºierele %s ºi %s diferã\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Fiºierele %s ºi %s sunt identice\n"
@@ -1095,11 +1108,12 @@ msgid "incompatible options"
 msgstr "opþiuni incompatibile"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "`-' specificat pentru mai mult de un fiºier de intrare(input)"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "citire eºuatã"
 
@@ -1140,15 +1154,12 @@ msgid ""
 msgstr "-x  --overlap-only  Afiºeazã toate schimbãrile de suprapunere."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap  Afiºeazã modificãrile nerezultate(unmerged), conflictele "
-"de paranteze."
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "-i  Adaugã comenzile `w' ºi `q' la scripturile ed."
 
 #: src/diff3.c:438
@@ -1166,8 +1177,8 @@ msgstr "-a  --text  Trateaz
 #, fuzzy
 msgid "    --strip-trailing-cr     strip trailing carriage return on input"
 msgstr ""
-"--strip-trailing-cr  Eliminã returul de car(carriage return) final la intrare"
-"(input)."
+"--strip-trailing-cr  Eliminã returul de car(carriage return) final la "
+"intrare(input)."
 
 #: src/diff3.c:443
 #, fuzzy
@@ -1186,9 +1197,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Trateazã toate fiºierele ca text."
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1239,30 +1249,30 @@ msgstr "eroare intern
 msgid "invalid diff format; invalid change separator"
 msgstr "format diff invalid; separator de modificare invalid"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "format diff invalid; ultimã-linie incompletã"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
 #, fuzzy, c-format
-msgid "subsidiary program `%s' could not be invoked"
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "programul subsidiar `%s' nu a fost gãsit"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "format diff invalid; caractere precedente liniei incorecte"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "eroare internã: tip invalid de diff trimis spre ieºire(output)"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "fiºier de intrare(input) micºorat"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "nu se pot compara numele de fiºiere `%s' ºi `%s'"
 
 #: src/dir.c:209
@@ -1276,7 +1286,7 @@ msgstr ""
 msgid "Thomas Lord"
 msgstr "Scris de Thomas Lord."
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
@@ -1284,79 +1294,86 @@ msgstr ""
 "-o FIªIER  --output=FIªIER  Opereazã interactiv, trimiþând outputul spre "
 "FIªIER."
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr ""
 "-i  --ignore-case  Considerã majusculele ºi minusculele ca fiind aceleaºi."
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Ignorã schimbãrile produse de modificarea tab-"
 "ului."
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-space  Ignorã tot spaþiul vid."
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Ignorã schimbãrile din spaþiul vid."
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  Ignorã tot spaþiul vid."
+msgstr "-W  --ignore-all-space  Ignorã tot spaþiul gol."
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr ""
-"-B  --ignore-blank-lines  Ignorã schimbãrile unde toate liniile sunt goale"
-"(blank)."
+"-B  --ignore-blank-lines  Ignorã schimbãrile unde toate liniile sunt "
+"goale(blank)."
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I RE  --ignore-matching-lines=RE  Ignorã schimbãrile la toate liniile care "
+"se potrivesc RE-ului."
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr ""
-"--strip-trailing-cr  Eliminã returul de car(carriage return) final la intrare"
-"(input)."
+"--strip-trailing-cr  Eliminã returul de car(carriage return) final la "
+"intrare(input)."
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text  Trateazã toate fiºierele ca text."
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 "-w NUM  --width=NUM  Afiºeazã cel mult NUM (implicit 130) coloane tipãrite."
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr "-l  --left-column  Afiºeazã doar coloana din stânga a liniilor comune."
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  Nu afiºa liniile comune."
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Schimbã tab-urile în spaþii la ieºire(output)."
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
@@ -1364,13 +1381,13 @@ msgstr ""
 "--tabsize=NUM  Opririle tab-ului vor fi la fiecare NUM (implicit 8) coloane "
 "tipãrite."
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr ""
 "-d  --minimal  Încearcã din greu sã gãseºti un set mai mic de schimbãri"
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
@@ -1378,40 +1395,39 @@ msgstr ""
 "-H  --speed-large-files  Presupune fiºiere mari ºi multe modificãri mici "
 "împrãºtiate."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr "--diff-program=PROGRAM  Foloseºte PROGRAM pentru a compara fiºierele."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Trateazã toate fiºierele ca text."
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version  Tipãreºte informaþii despre versiune."
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Folosire: %s [OPÞIUNE]... FIªIER1 FIªIER2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Analizã pas cu pas a diferenþelor de fiºiere."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "nu poate rezulta(merge) interactiv intrarea(input) standard"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "ambele fiºiere de comparat sunt directoare"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 #, fuzzy
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
@@ -1437,6 +1453,24 @@ msgstr ""
 "v:\tInclude detaliat liniile comune.\n"
 "q:\tIeºire.\n"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: opþiune ilegalã -- %c\n"
+
+#~ msgid ""
+#~ "This program comes with NO WARRANTY, to the extent permitted by law.\n"
+#~ "You may redistribute copies of this program\n"
+#~ "under the terms of the GNU General Public License.\n"
+#~ "For more information about these matters, see the files named COPYING."
+#~ msgstr ""
+#~ "Acest program NU vine cu NICI O GARANÞIE, în mãsura permisã de lege.\n"
+#~ "Puteþi redistribui copii ale acestui program\n"
+#~ "sub termenii Licenþei Publice Generale GNU.\n"
+#~ "Pentru mai multe informaþii despre aceste chestiuni, citiþi fiºierul "
+#~ "numit COPYING."
+
+#~ msgid "Written by Torbjorn Granlund and David MacKenzie."
+#~ msgstr "Scris de Torbjorn Granlund ºi David MacKenzie."
+
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i OMIS1:OMIS2  --ignore-initial=OMIS1:OMIS2"
 
@@ -1445,55 +1479,31 @@ msgstr ""
 #~ "-s  --quiet  --silent  Nu tipãreºte nimic; anunþã(yield) doar starea de "
 #~ "ieºire."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  Tipãreºte informaþii despre versiune."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  Tipãreºte acest ajutor."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Comparã trei fiºiere linie cu linie"
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr ""
-#~ "-E  --ignore-tab-expansion  Ignorã schimbãrile produse de modificarea tab-"
-#~ "ului."
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
+#~ msgstr "Raportaþi erorile(bugs)la <bug-gnu-utils@gnu.org>."
 
-#, fuzzy
 #~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr "-b  --ignore-space-change  Ignorã schimbãrile din spaþiul vid."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Ignorã tot spaþiul gol."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
+#~ "Written by Paul Eggert, Mike Haertel, David Hayes,\n"
+#~ "Richard Stallman, and Len Tower."
 #~ msgstr ""
-#~ "-B  --ignore-blank-lines  Ignorã schimbãrile unde toate liniile sunt goale"
-#~ "(blank)."
+#~ "Scris de Paul Eggert, Mike Haertel, David Hayes,\n"
+#~ "Richard Stallman, ºi Len Tower."
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr ""
-#~ "--strip-trailing-cr  Eliminã returul de car(carriage return) final la "
-#~ "intrare(input)."
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "`-%ld' opþiunea este învechitã; folosiþi `-%c %ld'"
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Trateazã toate fiºierele ca text."
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "`-%ld' opþiunea este învechitã; omiteþi-o"
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1507,10 +1517,6 @@ msgstr ""
 #~ "  -F RE  --show-function-line=RE  Afiºeazã cele mai recente linii care se "
 #~ "potrivesc RE."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Afiºeazã un script ed."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1523,36 +1529,12 @@ msgstr ""
 #~ "  --left-column  Afiºeazã doar coloana din stânga a liniilor comune.\n"
 #~ "  --suppress-common-lines  Nu afiºa liniile comune."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs  Schimbã tab-urile în spaþii la ieºire(output)."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr "-T  --initial-tab  Aliniazã tab-urile adãugând în faþã un tab."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr ""
-#~ "--tabsize=NUM  Opririle tab-ului vor fi la fiecare NUM (implicit 8) "
-#~ "coloane tipãrite."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr ""
-#~ "-d  --minimal  Încearcã din greu sã gãseºti un set mai mic de schimbãri"
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files  Presupune fiºiere mari ºi multe modificãri mici "
 #~ "împrãºtiate."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr ""
-#~ "-A  --show-all  Afiºeazã toate modificãrile, conflictele de paranteze."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "-X  Afiºeazã schimbãrile de suprapunere, punându-le în paranteze."
 
@@ -1566,92 +1548,6 @@ msgstr ""
 #~ "-L ETICHETà --label=ETICHETà Foloseºte ETICHETàîn loc de numele "
 #~ "fiºierului."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr ""
-#~ "--diff-program=PROGRAM  Foloseºte PROGRAM pentru a compara fiºierele."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Ignorã tot spaþiul gol."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w NUM  --width=NUM  Afiºeazã cel mult NUM (implicit 130) coloane "
-#~ "tipãrite."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr ""
-#~ "-l  --left-column  Afiºeazã doar coloana din stânga a liniilor comune."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  Presupune fiºiere mari ºi multe modificãri mici "
-#~ "împrãºtiate."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "citire eºuatã"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "scriere eºuatã"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "citire eºuatã"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "citire eºuatã"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "scriere eºuatã"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "scriere eºuatã"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: opþiune ilegalã -- %c\n"
-
-#~ msgid ""
-#~ "This program comes with NO WARRANTY, to the extent permitted by law.\n"
-#~ "You may redistribute copies of this program\n"
-#~ "under the terms of the GNU General Public License.\n"
-#~ "For more information about these matters, see the files named COPYING."
-#~ msgstr ""
-#~ "Acest program NU vine cu NICI O GARANÞIE, în mãsura permisã de lege.\n"
-#~ "Puteþi redistribui copii ale acestui program\n"
-#~ "sub termenii Licenþei Publice Generale GNU.\n"
-#~ "Pentru mai multe informaþii despre aceste chestiuni, citiþi fiºierul "
-#~ "numit COPYING."
-
-#~ msgid "Written by Torbjorn Granlund and David MacKenzie."
-#~ msgstr "Scris de Torbjorn Granlund ºi David MacKenzie."
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr "Raportaþi erorile(bugs)la <bug-gnu-utils@gnu.org>."
-
-#~ msgid ""
-#~ "Written by Paul Eggert, Mike Haertel, David Hayes,\n"
-#~ "Richard Stallman, and Len Tower."
-#~ msgstr ""
-#~ "Scris de Paul Eggert, Mike Haertel, David Hayes,\n"
-#~ "Richard Stallman, ºi Len Tower."
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "`-%ld' opþiunea este învechitã; folosiþi `-%c %ld'"
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "`-%ld' opþiunea este învechitã; omiteþi-o"
-
 #~ msgid "subsidiary program `%s' failed"
 #~ msgstr "programul subsidiar `%s' eºuat"
 
index 9dfda2c..dba474e 100644 (file)
Binary files a/po/ru.gmo and b/po/ru.gmo differ
index fd906a9..98af96c 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: diffutils 2.8.7\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2007-02-13 07:13+0300\n"
 "Last-Translator: Oleg S. Tihonov <ost@tatnipi.ru>\n"
 "Language-Team: Russian <ru@li.org>\n"
@@ -23,7 +23,7 @@ msgstr "
 msgid "stack overflow"
 msgstr "ÐÅÒÅÐÏÌÎÅÎÉÅ ÓÔÅËÁ"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÓÉÓÔÅÍÎÁÑ ÏÛÉÂËÁ"
 
@@ -136,100 +136,102 @@ msgstr "%s: 
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "õÓÐÅÈ"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "óÏ×ÐÁÄÅÎÉÊ ÎÅÔ"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "îÅ×ÅÒÎÏÅ ÒÅÇÕÌÑÒÎÏÅ ×ÙÒÁÖÅÎÉÅ"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÄÌÑ ÓÏÒÔÉÒÏ×ËÉ ÓÉÍ×ÏÌ"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "îÅ×ÅÒÎÏÅ ÉÍÑ ËÌÁÓÓÁ ÓÉÍ×ÏÌÁ"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "ïÂÒÁÔÎÁÑ ËÏÓÁÑ ÞÅÒÔÁ ÓÔÏÉÔ ÐÏÓÌÅÄÎÅÊ"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "îÅ×ÅÒÎÁÑ ÓÓÙÌËÁ"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "îÅÐÁÒÎÁÑ [ ÉÌÉ [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "îÅÐÁÒÎÁÑ ( ÉÌÉ \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "îÅÐÁÒÎÁÑ \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "îÅ×ÅÒÎÏÅ ÓÏÄÅÒÖÉÍÏÅ \\{\\}"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "îÅ×ÅÒÎÙÊ ÎÉÖÎÉÊ ÐÒÅÄÅÌ"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "ïÐÅÒÁÔÉ×ÎÁÑ ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "îÅ×ÅÒÎÏÅ ÐÒÅÄÛÅÓÔ×ÕÀÝÅÅ ÒÅÇÕÌÑÒÎÏÅ ×ÙÒÁÖÅÎÉÅ"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "ðÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅàÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "òÅÇÕÌÑÒÎÏÅ ×ÙÒÁÖÅÎÉÅ ÓÌÉÛËÏÍ ×ÅÌÉËÏ"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "îÅÐÁÒÎÁÑ ) ÉÌÉ \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "òÅÇÕÌÑÒÎÏÅ ×ÙÒÁÖÅÎÉÅ ÎÅ ÂÙÌÏ ÚÁÄÁÎÏ ÒÁÎØÛÅ"
 
@@ -261,17 +263,17 @@ msgstr ""
 
 #: lib/xstrtol-error.c:63
 #, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "ÎÅÄÏÐÕÓÔÉÍÏÅ ÚÎÁÞÅÎÉÅ --bytes `%s'"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "ÎÅÄÏÐÕÓÔÉÍÁÑ ÄÌÉÎÁ ÇÏÒÉÚÏÎÔÁ `%s'"
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr ""
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr ""
 
 #: lib/version-etc.c:74
@@ -439,7 +441,7 @@ msgstr ""
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "æÁÊÌÙ %s É %s ÒÁÚÌÉÞÁÀÔÓÑ\n"
@@ -449,7 +451,7 @@ msgstr "
 msgid "Binary files %s and %s differ\n"
 msgstr "æÁÊÌÙ %s É %s ÒÁÚÌÉÞÁÀÔÓÑ\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "÷ ËÏÎÃÅ ÆÁÊÌÁ ÎÅÔ ÎÏ×ÏÊ ÓÔÒÏËÉ"
 
@@ -463,14 +465,14 @@ msgstr "
 msgid "David MacKenzie"
 msgstr ""
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "ðÏÐÒÏÂÕÊÔÅ `%s --help' ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÇÏ ÏÐÉÓÁÎÉÑ."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "ÎÅÄÏÐÕÓÔÉÍÏÅ ÚÎÁÞÅÎÉÅ --ignore-initial `%s'"
 
 #: src/cmp.c:147
@@ -478,14 +480,14 @@ msgstr "
 msgid "options -l and -s are incompatible"
 msgstr "ËÌÀÞÉ -l É -s ÎÅÓÏ×ÍÅÓÔÉÍÙ"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "ÚÁÐÉÓØ ÎÅÕÓÐÅÛÎÁ"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ"
 
@@ -547,7 +549,7 @@ msgid ""
 "at the beginning of each file (zero by default)."
 msgstr "î1 É î2 -- ÜÔÏ ÞÉÓÌÏ ÂÁÊÔ, ËÏÔÏÒÙÅ ÓÌÅÄÕÅÔ ÐÒÏÐÕÓÔÉÔØ × ËÁÖÄÏÍ ÆÁÊÌÅ."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -563,28 +565,29 @@ msgstr ""
 "GB 1,000,000,000, G 1,073,741,824, É ÔÁË ÄÁÌÅÅ ÄÌÑ T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "åÓÌÉ æáêì ÎÅ ÚÁÄÁΠÉÌÉ ÚÁÄÁΠËÁË `-', ÞÉÔÁÅÔ ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "÷ÙÈÏÄÎÏÊ ÓÔÁÔÕÓ ÒÁ×ÅΠ0, ÅÓÌÉ ×ÈÏÄÎÙÅ ÆÁÊÌÙ ÉÄÅÎÔÉÞÎÙ, 1 -- ÅÓÌÉ\n"
 "ÒÁÚÌÉÞÁÀÔÓÑ, É 2 × ÓÌÕÞÁÅ ÎÅÐÏÌÁÄÏË."
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "ÎÅÄÏÐÕÓÔÉÍÏÅ ÚÎÁÞÅÎÉÅ --bytes `%s'"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "ÐÒÏÐÕÝÅΠÏÐÅÒÁÎÄ ÐÏÓÌÅ `%s'"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "ÉÚÌÉÛÎÉÊ ÏÐÅÒÁÎÄ `%s'"
 
 #: src/cmp.c:491
@@ -603,96 +606,93 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: ËÏÎÅàÆÁÊÌÁ × %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr ""
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "ÎÅÄÏÐÕÓÔÉÍÁÑ ÄÌÉÎÁ ËÏÎÔÅËÓÔÁ `%s'"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "ÒÁÚÂÉÅÎÉÅ ÎÁ ÓÔÒÁÎÉÃÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÎÁ ÄÁÎÎÏÊ ÍÁÛÉÎÅ"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ËÌÀÞÅÊ ÚÁÄÁÀÝÉÈ ÍÅÔËÉ ÆÁÊÌÏ×"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "ÎÅÄÏÐÕÓÔÉÍÁÑ ÛÉÒÉÎÁ `%s'"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ËÌÀÞÉ ÚÁÄÁÎÉÑ ÛÉÒÉÎÙ"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "ÎÅÄÏÐÕÓÔÉÍÁÑ ÄÌÉÎÁ ÇÏÒÉÚÏÎÔÁ `%s'"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "ÎÅÄÏÐÕÓÔÉÍÁÑ ÛÉÒÉÎÁ ÔÁÂÕÌÑÃÉÉ `%s'"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ËÌÀÞÉ ÚÁÄÁÎÉÑ ÛÉÒÉÎÙ ÔÁÂÕÌÑÃÉÉ"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "ÎÅÏÂÈÏÄÉÍÏ ÚÁÄÁÔØ ËÁË --from-file, ÔÁË É --to-file"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal  ÷Ù×ÏÄÉÔØ × ÏÂÙÞÎÏÍ ÆÏÒÍÁÔÅ diff."
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q  --brief  îÁÐÅÞÁÔÁÔØ ÔÏÌØËÏ ÒÁÚÌÉÞÁÀÔÓÑ ÌÉ ÆÁÊÌÙ."
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files  óÏÏÂÝÁÔØ Ï ÏÄÉÎÁËÏ×ÙÈ ÆÁÊÌÁÈ."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w þéóìï  --width=þéóìï  ÷Ù×ÏÄÉÔØ ÍÁËÓÉÍÕÍ ÚÁÄÁÎÎÏÅ þéóìï ÚÎÁËÏ× × ÓÔÒÏËÅ.\n"
-"                         (ÐÏ ÕÍÏÌÞÁÎÉÀ 130)"
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
@@ -700,22 +700,21 @@ msgstr ""
 "-w þéóìï  --width=þéóìï  ÷Ù×ÏÄÉÔØ ÍÁËÓÉÍÕÍ ÚÁÄÁÎÎÏÅ þéóìï ÚÎÁËÏ× × ÓÔÒÏËÅ.\n"
 "                         (ÐÏ ÕÍÏÌÞÁÎÉÀ 130)"
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  óÞÉÔÁÔØ ×ÓÅ ÆÁÊÌÙ ÔÅËÓÔÏ×ÙÍÉ."
+msgstr "-e  --ed  ÷Ù×ÏÄÉÔØ ÓÃÅÎÁÒÉÊ ed."
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs  ÷Ù×ÏÄÉÔØ × ÆÏÒÍÁÔÅ RCS."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  ðÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ."
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
@@ -723,96 +722,100 @@ msgstr ""
 "-w þéóìï  --width=þéóìï  ÷Ù×ÏÄÉÔØ ÍÁËÓÉÍÕÍ ÚÁÄÁÎÎÏÅ þéóìï ÚÎÁËÏ× × ÓÔÒÏËÅ.\n"
 "                         (ÐÏ ÕÍÏÌÞÁÎÉÀ 130)"
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr "-l  --left-column  ÷Ù×ÏÄÉÔØ ÔÏÌØËÏ ÌÅ×ÕÀ ËÏÌÏÎËÕ ÏÂÝÉÈ ÓÔÒÏË."
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  îÅ ×Ù×ÏÄÉÔØ ÏÂÝÉÅ ÓÔÒÏËÉ."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  òÁÓËÒÙ×ÁÔØ ÐÒÉ ×Ù×ÏÄÅ ÓÉÍ×ÏÌÙ ÔÁÂÕÌÑÃÉÉ × ÐÒÏÂÅÌÙ."
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
 "-T  --initial-tab  ÷ÙÒÁ×ÎÉ×ÁÔØ ÔÁÂÕÌÑÃÉÀ ÄÏÂÁ×ÌÑÑ × ÎÁÞÁÌÏ ÓÉÍ×ÏÌ ÔÁÂÕÌÑÃÉÉ."
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr ""
 "--tabsize=þéóìï  ôÁÂÕÌÑÃÉÑ ÞÅÒÅÚ ÚÁÄÁÎÎÏÅ þéóìï ÚÎÁËÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ 8)."
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr ""
 "-l  --paginate  îÁÐÒÁ×ÉÔØ ×Ù×ÏÄ ÐÒÏÇÒÁÍÍÅ `pr' ÄÌÑ ÒÁÚÂÉÅÎÉÑ ÎÁ ÓÔÒÁÎÉÃÙ."
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr "-r  --recursive  òÅËÕÒÓÉ×ÎÏ ÓÒÁ×ÎÉ×ÁÔØ ÐÏÄËÁÔÁÌÏÇÉ."
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N  --new-file  ÷ÏÓÐÒÉÎÉÍÁÔØ ÎÅÓÕÝÅÓÔ×ÕÀÝÉÅ ÆÁÊÌÙ ËÁË ÐÕÓÔÙÅ."
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 "--unidirectional-new-file  ÷ÏÓÐÒÉÎÉÍÁÔØ ÎÅÓÕÝÅÓÔ×ÕÀÝÉÅ ÐÅÒ×ÙÅ ÆÁÊÌÙ ËÁË "
 "ÐÕÓÔÙÅ."
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr "--ignore-file-name-case  éÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ ÂÕË× × ÉÍÅÎÁÈ ÆÁÊÌÏ×."
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr "--no-ignore-file-name-case  õÞÉÔÙ×ÁÔØ ÒÅÇÉÓÔÒ ÂÕË× × ÉÍÅÎÁÈ ÆÁÊÌÏ×."
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr ""
 "-x ïâòáúåã --exclude=ïâòáúåã  éÓËÌÀÞÉÔØ ÆÁÊÌÙ, ÞØÉ ÉÍÅÎÁ ÓÏ×ÐÁÄÁÀÔ Ó "
 "ïâòáúãïí."
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
@@ -821,13 +824,13 @@ msgstr ""
 "ÌÉÂÏ\n"
 "                              ÏÂÒÁÚÃÏÍ ÉÚ ÚÁÐÉÓÁÎÎÙÈ × æáêìå."
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr "-S æáêì  --starting-file=æáêì  ðÒÉ ÓÒÁ×ÎÅÎÉÉ ËÁÔÁÌÏÇÏ× ÎÁÞÁÔØ Ó æáêìá."
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -836,7 +839,7 @@ msgstr ""
 "--from-file=æáêì1  óÒÁ×ÎÉÔØ æáêì1 ÓÏ ×ÓÅÍÉ ÏÐÅÒÁÎÄÁÍÉ.\n"
 "                   æáêì1 ÍÏÖÅÔ ÂÙÔØ ËÁÔÁÌÏÇÏÍ."
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -845,73 +848,73 @@ msgstr ""
 "--to-file=æáêì2  óÒÁ×ÎÉÔØ ×ÓÅ ÏÐÅÒÁÎÄÙ Ó æáêìïí2.  æáêì2 ÍÏÖÅÔ ÂÙÔØ "
 "ËÁÔÁÌÏÇÏÍ."
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr "-i  --ignore-case  éÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ ÂÕË× × ÓÏÄÅÒÖÉÍÏÍ ÆÁÊÌÏ×."
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  éÇÎÏÒÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ, ×ÙÚ×ÁÎÎÙÅ ÒÁÓËÒÙÔÉÅÍ "
 "ÔÁÂÕÌÑÃÉÉ."
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-space  éÇÎÏÒÉÒÏ×ÁÔØ ×ÓÅ ÐÒÏÂÅÌØÎÙÅ ÓÉÍ×ÏÌÙ."
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr ""
 "-b  --ignore-space-change  éÇÎÏÒÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ ÞÉÓÌÁ ÐÒÏÂÅÌØÎÙÈ ÓÉÍ×ÏÌÏ×."
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space  éÇÎÏÒÉÒÏ×ÁÔØ ×ÓÅ ÐÒÏÂÅÌØÎÙÅ ÓÉÍ×ÏÌÙ."
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr "-B  --ignore-blank-lines  éÇÎÏÒÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ ÞÉÓÌÁ ÐÕÓÔÙÈ ÓÔÒÏË."
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I ò÷  --ignore-matching-lines=ò÷  éÇÎÏÒÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ, ÓÔÒÏËÉ ËÏÔÏÒÙÈ\n"
 "                        ÐÏÌÎÏÓÔØÀ ÓÏÏÔ×ÅÔÓÔ×ÕÀÔ ÚÁÄÁÎÎÏÍÕ ÒÅÇÕÌÑÒÎÏÍÕ "
 "×ÙÒÁÖÅÎÉÀ"
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text  óÞÉÔÁÔØ ×ÓÅ ÆÁÊÌÙ ÔÅËÓÔÏ×ÙÍÉ."
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  õÄÁÌÉÔØ ÎÁ ×Ù×ÏÄÅ ÚÁ×ÅÒÛÁÀÝÉÊ ×ÏÚ×ÒÁÔ ËÁÒÅÔËÉ."
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary  þÉÔÁÔØ É ÚÁÐÉÓÙ×ÁÔØ ÆÁÊÌÙ × Ä×ÏÉÞÎÏÊ ÆÏÒÍÅ."
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D éíñ  --ifdef=éíñ  ÷Ù×ÏÄÉÔØ ÚÁÐÌÁÔÙ, ÉÓÐÏÌØÚÕÀÝÉÅ ËÏÎÓÔÒÕËÃÉÀ `#ifdef éíñ'."
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
@@ -919,13 +922,13 @@ msgstr ""
 "çôéð\n"
 "                          × ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó ÆÏÒÍÁÔÏÍ çæíô."
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
 "--line-format=óæíô  áÎÁÌÏÇÉÞÎÏ, ÎÏ ÆÏÒÍÁÔÉÒÏ×ÁÔØ ×ÓÅ ×ÈÏÄÎÙÅ ÓÔÒÏËÉ Ó óæíô."
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
@@ -933,18 +936,19 @@ msgstr ""
 "óôéð\n"
 "                          × ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó ÆÏÒÍÁÔÏÍ óæíô."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  óôéð ÍÏÖÅÔ ÂÙÔØ `old', `new', ÉÌÉ `unchanged', çôéð -- ÔÏ ÖÅ É `changed'."
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -973,7 +977,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -986,7 +990,7 @@ msgstr ""
 "    %l  ÓÏÄÅÒÖÉÍÏÅ ÓÔÒÏËÉ, ÉÓËÌÀÞÁÑ ×ÓÅ ÎÏ×ÙÅ ÓÔÒÏËÉ × ËÏÎÃÅ\n"
 "    %[-][ûéòéîá][.[ôïþî]]{doxX}n  ÆÏÒÍÁÔ ÎÏÍÅÒÁ ×ÈÏÄÎÏÊ ÓÔÒÏËÉ × ÓÔÉÌÅ printf"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -1000,18 +1004,18 @@ msgstr ""
 "    %c'ó'  ÏÄÉΠÓÉÍ×ÏÌ ó\n"
 "    %c'\\OOO'  ÏÄÉΠÓÉÍ×ÏÌ Ó ×ÏÓØÍÅÒÉÞÎÙÍ ËÏÄÏÍ OOO"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr "-d  --minimal  ðÙÔÁÔØÓÑ ÎÁÊÔÉ ÎÁÉÍÅÎØÛÉÊ ÎÁÂÏÒ ÉÚÍÅÎÅÎÉÊ."
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 "--horizon-lines=þéóìï  ÷Ù×ÏÄÉÔØ þéóìï ÏÂÝÉÈ ÓÔÒÏË ÄÏ É ÐÏÓÌÅ ÒÁÚÌÉÞÁÀÝÉÈÓÑ."
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
@@ -1019,76 +1023,84 @@ msgstr ""
 "-H  --speed-large-files  ðÒÅÄÐÏÌÁÇÁÔØ, ÞÔÏ ÆÁÊÌÙ ÂÏÌØÛÉÅ ÓÏ ÍÎÏÇÉÍÉ\n"
 "                         ÒÁÚÂÒÏÓÁÎÎÙÍÉ ÍÅÌËÉÍÉ ÉÚÍÅÎÅÎÉÑÍÉ."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version  ðÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ."
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "æáêìù ÜÔÏ `æáêì1 æáêì2', ÉÌÉ `ëáôáìïç1 ëáôáìïç2', ÉÌÉ `ëáôáìïç æáêì...',\n"
 "ÉÌÉ `æáêì... ëáôáìïç'."
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr "åÓÌÉ ÚÁÄÁΠ--from-file ÉÌÉ --to-file, ÎÁ æáêìù ÎÅÔ ÏÇÒÁÎÉÞÅÎÉÊ."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "åÓÌÉ æáêì ÚÁÄÁΠËÁË `-', ÞÉÔÁÅÔ ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþ]... æáêìù\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "ðÏÓÔÒÏÞÎÏ ÓÒÁ×ÎÉ×ÁÅÔ Ä×Á ÆÁÊÌÁ."
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÏÅ ÚÎÁÞÅÎÉÅ %s ÄÌÑ ËÌÀÞÁ `%s'"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ËÌÀÞÉ ÚÁÄÁÎÉÑ ÓÔÉÌÑ ×Ù×ÏÄÁ"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "ôÏÌØËÏ × %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÒÁ×ÎÉÔØ `-' Ó ËÁÔÁÌÏÇÏÍ"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "-D option not supported with directories"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "ïÂÝÉÅ ÐÏÄËÁÔÁÌÏÇÉ: %s É %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "æÁÊÌ %s ÜÔÏ %s, ÔÏÇÄÁ ËÁË ÆÁÊÌ %s -- %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "æÁÊÌÙ %s É %s ÒÁÚÌÉÞÁÀÔÓÑ\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "æÁÊÌÙ %s É %s ÉÄÅÎÔÉÞÎÙ\n"
@@ -1104,11 +1116,12 @@ msgid "incompatible options"
 msgstr "ÎÅÓÏ×ÍÅÓÔÉÍÙÅ ËÌÀÞÉ"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "`-' ÚÁÄÁΠÄÌÑ ÂÏÌÅÅ ÏÄÎÏÇÏ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "ÞÔÅÎÉÅ ÎÅÕÓÐÅÛÎÏ"
 
@@ -1148,15 +1161,12 @@ msgid ""
 msgstr "-x  --overlap-only  ÷Ù×ÏÄÉÔØ ÐÅÒÅËÒÙ×ÁÀÝÉÅÓÑ ÉÚÍÅÎÅÎÉÑ."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap  ÷Ù×ÏÄÉÔØ ÎÅ ÏÂßÅÄÉÎÅÎÎÙÅ ÉÚÍÅÎÅÎÉÑ,\n"
-"                    ÚÁËÌÀÞÁÑ ËÏÎÆÌÉËÔÎÙÅ ÍÅÓÔÁ × ÓËÏÂËÉ."
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "-i  äÏÂÁ×ÉÔØ ËÏÍÁÎÄÙ `w' É `q' × ËÏÎÅàÓÃÅÎÁÒÉÑ ed."
 
 #: src/diff3.c:438
@@ -1195,9 +1205,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  óÞÉÔÁÔØ ×ÓÅ ÆÁÊÌÙ ÔÅËÓÔÏ×ÙÍÉ."
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1250,30 +1259,30 @@ msgstr "
 msgid "invalid diff format; invalid change separator"
 msgstr "ÎÅ×ÅÒÎÙÊ ÆÏÒÍÁÔ ÚÁÐÌÁÔÙ; ÎÅ×ÅÒÎÙÊ ÒÁÚÄÅÌÉÔÅÌØ ÉÚÍÅÎÅÎÉÑ"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "ÎÅ×ÅÒÎÙÊ ÆÏÒÍÁÔ ÚÁÐÌÁÔÙ; ÎÅÐÏÌÎÁÑ ÐÏÓÌÅÄÎÑÑ ÓÔÒÏËÁ"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "ÎÅ ÕÄÁÌÏÓØ ÚÁÐÕÓÔÉÔØ ×ÓÐÏÍÏÇÁÔÅÌØÎÕÀ ÐÒÏÇÒÁÍÍÕ `%s'"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "ÎÅ×ÅÒÎÙÊ ÆÏÒÍÁÔ ÚÁÐÌÁÔÙ; ÎÅÐÒÁ×ÌØÎÙÅ ÐÅÒ×ÙÅ ÓÉÍ×ÏÌÙ ÓÔÒÏËÉ"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: ÎÁ ×ÙÈÏÄ ÐÅÒÅÄÁΠÎÅ×ÅÒÎÙÊ ÔÉРÚÁÐÌÁÔÙ"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "×ÈÏÄÎÏÊ ÆÁÊÌ ÕÍÅÎØÛÉÌÓÑ"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÒÁ×ÎÉÔØ ÉÍÅÎÁ ÆÁÊÌÏ× `%s' É `%s'"
 
 #: src/dir.c:209
@@ -1286,58 +1295,66 @@ msgstr ""
 msgid "Thomas Lord"
 msgstr ""
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr "-o æáêì  --output=æáêì  òÁÂÏÔÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÏ, ÚÁÐÉÓÙ×ÁÑ ×Ù×ÏÄ × æáêì."
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i  --ignore-case  éÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ ÂÕË×."
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  éÇÎÏÒÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ, ×ÙÚ×ÁÎÎÙÅ ÒÁÓËÒÙÔÉÅÍ "
 "ÔÁÂÕÌÑÃÉÉ."
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-space  éÇÎÏÒÉÒÏ×ÁÔØ ×ÓÅ ÐÒÏÂÅÌØÎÙÅ ÓÉÍ×ÏÌÙ."
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr ""
 "-b  --ignore-space-change  éÇÎÏÒÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ ÞÉÓÌÁ ÐÒÏÂÅÌØÎÙÈ ÓÉÍ×ÏÌÏ×."
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  éÇÎÏÒÉÒÏ×ÁÔØ ×ÓÅ ÐÒÏÂÅÌØÎÙÅ ÓÉÍ×ÏÌÙ."
+msgstr "-W  --ignore-all-space  éÇÎÏÒÉÒÏ×ÁÔØ ×ÓÅ ÐÒÏÂÅÌØÎÙÅ ÓÉÍ×ÏÌÙ."
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr "-B  --ignore-blank-lines  éÇÎÏÒÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ ÞÉÓÌÁ ÐÕÓÔÙÈ ÓÔÒÏË."
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I ò÷  --ignore-matching-lines=ò÷  éÇÎÏÒÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ, ÓÔÒÏËÉ ËÏÔÏÒÙÈ\n"
+"                        ÐÏÌÎÏÓÔØÀ ÓÏÏÔ×ÅÔÓÔ×ÕÀÔ ÚÁÄÁÎÎÏÍÕ ÒÅÇÕÌÑÒÎÏÍÕ "
+"×ÙÒÁÖÅÎÉÀ"
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  õÄÁÌÉÔØ ÎÁ ×Ù×ÏÄÅ ÚÁ×ÅÒÛÁÀÝÉÊ ×ÏÚ×ÒÁÔ ËÁÒÅÔËÉ."
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text  óÞÉÔÁÔØ ×ÓÅ ÆÁÊÌÙ ÔÅËÓÔÏ×ÙÍÉ."
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
@@ -1345,35 +1362,35 @@ msgstr ""
 "-w þéóìï  --width=þéóìï  ÷Ù×ÏÄÉÔØ ÍÁËÓÉÍÕÍ ÚÁÄÁÎÎÏÅ þéóìï ÚÎÁËÏ× × ÓÔÒÏËÅ.\n"
 "                         (ÐÏ ÕÍÏÌÞÁÎÉÀ 130)"
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr "-l  --left-column  ÷Ù×ÏÄÉÔØ ÔÏÌØËÏ ÌÅ×ÕÀ ËÏÌÏÎËÕ ÏÂÝÉÈ ÓÔÒÏË."
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  îÅ ×Ù×ÏÄÉÔØ ÏÂÝÉÅ ÓÔÒÏËÉ."
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  òÁÓËÒÙ×ÁÔØ ÐÒÉ ×Ù×ÏÄÅ ÓÉÍ×ÏÌÙ ÔÁÂÕÌÑÃÉÉ × ÐÒÏÂÅÌÙ."
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr ""
 "--tabsize=þéóìï  ôÁÂÕÌÑÃÉÑ ÞÅÒÅÚ ÚÁÄÁÎÎÏÅ þéóìï ÚÎÁËÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ 8)."
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr "-d  --minimal  ðÙÔÁÔØÓÑ ÎÁÊÔÉ ÎÁÉÍÅÎØÛÉÊ ÎÁÂÏÒ ÉÚÍÅÎÅÎÉÊ."
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
@@ -1381,42 +1398,41 @@ msgstr ""
 "-H  --speed-large-files  ðÒÅÄÐÏÌÁÇÁÔØ, ÞÔÏ ÆÁÊÌÙ ÂÏÌØÛÉÅ ÓÏ ÍÎÏÇÉÍÉ\n"
 "                         ÒÁÚÂÒÏÓÁÎÎÙÍÉ ÍÅÌËÉÍÉ ÉÚÍÅÎÅÎÉÑÍÉ."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr ""
 "--diff-program=ðòïçòáííá  éÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ ÓÒÁ×ÎÉÑ ÆÁÊÌÏ× ÕËÁÚÁÎÎÕÀ "
 "ðòïçòáííõ."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  óÞÉÔÁÔØ ×ÓÅ ÆÁÊÌÙ ÔÅËÓÔÏ×ÙÍÉ."
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version  ðÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ."
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþ]... æáêì1 æáêì2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "éÎÔÅÒÁËÔÉ×ÎÏ ÓÌÉ×ÁÅÔ ÒÁÚÌÉÞÉÑ ÆÁÊÌÏ×."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÉÎÔÅÒÁËÔÉ×ÎÏ ÓÌÉ×ÁÔØ ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "ÏÂÁ ÓÒÁ×ÎÉ×ÁÅÍÙÈ ÆÁÊÌÁ -- ËÁÔÁÌÏÇÉ"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 #, fuzzy
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
@@ -1441,6 +1457,19 @@ msgstr ""
 "v:\t÷ËÌÀÞÁÔØ ÏÂÝÉÅ ÓÔÒÏËÉ, ×ÙÄÁ×ÁÑ ÓÏÏÂÝÅÎÉÅ.\n"
 "q:\t÷ÙÊÔÉ.\n"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÙÊ ËÌÀÞ -- %c\n"
+
+#~ msgid ""
+#~ "This is free software; see the source for copying conditions.  There is "
+#~ "NO\n"
+#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
+#~ "PURPOSE.\n"
+#~ msgstr ""
+#~ "üÔÏ Ó×ÏÂÏÄÎÁÑ ÐÒÏÇÒÁÍÍÁ; ÐÏÄÒÏÂÎÏÓÔÉ Ï ÕÓÌÏ×ÉÑÈ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÑ\n"
+#~ "ÓÍÏÔÒÉÔÅ × ÉÓÈÏÄÎÏÍ ÔÅËÓÔÅ.  íÙ îå ÐÒÅÄÏÓÔÁ×ÌÑÅÍ ÇÁÒÁÎÔÉÊ; ÄÁÖÅ ÇÁÒÁÎÔÉÊ\n"
+#~ "ëïííåòþåóëïê ðòéçïäîïóôé ÉÌÉ ðòéçïäîïóôé äìñ ëáëïê-ìéâï ãåìé.\n"
+
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i î1:î2  --ignore-initial=î1:î2"
 
@@ -1448,54 +1477,24 @@ msgstr ""
 #~ msgstr ""
 #~ "-s  --quiet  --silent  îÅ ×Ù×ÏÄÉÔØ, ÔÏÌØËÏ ÓÏÏÂÝÉÔØ ×ÏÚ×ÒÁÝÁÅÍÏÅ ÚÎÁÞÅÎÉÅ."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  ðÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  ðÏËÁÚÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ É ×ÙÊÔÉ."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "ðÏÓÔÒÏÞÎÏ ÓÒÁ×ÎÉ×ÁÅÔ ÔÒÉ ÆÁÊÌÁ."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr ""
-#~ "-E  --ignore-tab-expansion  éÇÎÏÒÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ, ×ÙÚ×ÁÎÎÙÅ ÒÁÓËÒÙÔÉÅÍ "
-#~ "ÔÁÂÕÌÑÃÉÉ."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr ""
-#~ "-b  --ignore-space-change  éÇÎÏÒÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ ÞÉÓÌÁ ÐÒÏÂÅÌØÎÙÈ "
-#~ "ÓÉÍ×ÏÌÏ×."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  éÇÎÏÒÉÒÏ×ÁÔØ ×ÓÅ ÐÒÏÂÅÌØÎÙÅ ÓÉÍ×ÏÌÙ."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr ""
-#~ "-B  --ignore-blank-lines  éÇÎÏÒÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ ÞÉÓÌÁ ÐÕÓÔÙÈ ÓÔÒÏË."
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
+#~ msgstr "ï ÏÛÉÂËÁÈ ÓÏÏÂÝÁÊÔÅ <bug-gnu-utils@gnu.org>."
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr "--strip-trailing-cr  õÄÁÌÉÔØ ÎÁ ×Ù×ÏÄÅ ÚÁ×ÅÒÛÁÀÝÉÊ ×ÏÚ×ÒÁÔ ËÁÒÅÔËÉ."
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "ËÌÀÞ `-%ld' ÕÓÔÁÒÅÌ; ÉÓÐÏÌØÚÕÊÔÅ `-%c %ld'"
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  óÞÉÔÁÔØ ×ÓÅ ÆÁÊÌÙ ÔÅËÓÔÏ×ÙÍÉ."
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "ËÌÀÞ `-%ld' ÕÓÔÁÒÅÌ; ÏÐÕÓËÁÊÔÅ ÅÇÏ"
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1509,10 +1508,6 @@ msgstr ""
 #~ "ÓÏ×ÐÁÄÁÀÝÕÀ\n"
 #~ "                                  Ó ÚÁÄÁÎÎÙÍ ÒÅÇÕÌÑÒÎÙÍ ×ÙÒÁÖÅÎÉÅÍ."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  ÷Ù×ÏÄÉÔØ ÓÃÅÎÁÒÉÊ ed."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1526,38 +1521,12 @@ msgstr ""
 #~ "  --left-column  ÷Ù×ÏÄÉÔØ ÔÏÌØËÏ ÌÅ×ÕÀ ËÏÌÏÎËÕ ÏÂÝÉÈ ÓÔÒÏË.\n"
 #~ "  --suppress-common-lines  îÅ ×Ù×ÏÄÉÔØ ÏÂÝÉÅ ÓÔÒÏËÉ."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr ""
-#~ "-t  --expand-tabs  òÁÓËÒÙ×ÁÔØ ÐÒÉ ×Ù×ÏÄÅ ÓÉÍ×ÏÌÙ ÔÁÂÕÌÑÃÉÉ × ÐÒÏÂÅÌÙ."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr ""
-#~ "-T  --initial-tab  ÷ÙÒÁ×ÎÉ×ÁÔØ ÔÁÂÕÌÑÃÉÀ ÄÏÂÁ×ÌÑÑ × ÎÁÞÁÌÏ ÓÉÍ×ÏÌ "
-#~ "ÔÁÂÕÌÑÃÉÉ."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr ""
-#~ "--tabsize=þéóìï  ôÁÂÕÌÑÃÉÑ ÞÅÒÅÚ ÚÁÄÁÎÎÏÅ þéóìï ÚÎÁËÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ 8)."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  ðÙÔÁÔØÓÑ ÎÁÊÔÉ ÎÁÉÍÅÎØÛÉÊ ÎÁÂÏÒ ÉÚÍÅÎÅÎÉÊ."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files  ðÒÅÄÐÏÌÁÇÁÔØ, ÞÔÏ ÆÁÊÌÙ ÂÏÌØÛÉÅ ÓÏ ÍÎÏÇÉÍÉ\n"
 #~ "                         ÒÁÚÂÒÏÓÁÎÎÙÍÉ ÍÅÌËÉÍÉ ÉÚÍÅÎÅÎÉÑÍÉ."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr ""
-#~ "-A  --show-all  ÷Ù×ÏÄÉÔØ ×ÓÅ ÉÚÍÅÎÅÎÉÑ, ÚÁËÌÀÞÁÑ ËÏÎÆÌÉËÔÎÙÅ ÍÅÓÔÁ × "
-#~ "ÓËÏÂËÉ."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "-X  ÷Ù×ÏÄÉÔØ ÐÅÒÅÓÅËÁÀÝÉÅÓÑ ÉÚÍÅÎÅÎÉÑ, ÚÁËÌÀÞÁÑ ÉÈ × ÓËÏÂËÉ."
 
@@ -1569,81 +1538,6 @@ msgstr ""
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L íåôëá  --label=íåôëá  éÓÐÏÌØÚÏ×ÁÔØ íåôëõ ×ÍÅÓÔÏ ÉÍÅÎÉ ÆÁÊÌÁ."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr ""
-#~ "--diff-program=ðòïçòáííá  éÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ ÓÒÁ×ÎÉÑ ÆÁÊÌÏ× ÕËÁÚÁÎÎÕÀ "
-#~ "ðòïçòáííõ."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  éÇÎÏÒÉÒÏ×ÁÔØ ×ÓÅ ÐÒÏÂÅÌØÎÙÅ ÓÉÍ×ÏÌÙ."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w þéóìï  --width=þéóìï  ÷Ù×ÏÄÉÔØ ÍÁËÓÉÍÕÍ ÚÁÄÁÎÎÏÅ þéóìï ÚÎÁËÏ× × "
-#~ "ÓÔÒÏËÅ.\n"
-#~ "                         (ÐÏ ÕÍÏÌÞÁÎÉÀ 130)"
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "-l  --left-column  ÷Ù×ÏÄÉÔØ ÔÏÌØËÏ ÌÅ×ÕÀ ËÏÌÏÎËÕ ÏÂÝÉÈ ÓÔÒÏË."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  ðÒÅÄÐÏÌÁÇÁÔØ, ÞÔÏ ÆÁÊÌÙ ÂÏÌØÛÉÅ ÓÏ ÍÎÏÇÉÍÉ\n"
-#~ "                         ÒÁÚÂÒÏÓÁÎÎÙÍÉ ÍÅÌËÉÍÉ ÉÚÍÅÎÅÎÉÑÍÉ."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "ÞÔÅÎÉÅ ÎÅÕÓÐÅÛÎÏ"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "ÚÁÐÉÓØ ÎÅÕÓÐÅÛÎÁ"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "ÞÔÅÎÉÅ ÎÅÕÓÐÅÛÎÏ"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "ÞÔÅÎÉÅ ÎÅÕÓÐÅÛÎÏ"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "ÚÁÐÉÓØ ÎÅÕÓÐÅÛÎÁ"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "ÚÁÐÉÓØ ÎÅÕÓÐÅÛÎÁ"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÙÊ ËÌÀÞ -- %c\n"
-
-#~ msgid ""
-#~ "This is free software; see the source for copying conditions.  There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-#~ msgstr ""
-#~ "üÔÏ Ó×ÏÂÏÄÎÁÑ ÐÒÏÇÒÁÍÍÁ; ÐÏÄÒÏÂÎÏÓÔÉ Ï ÕÓÌÏ×ÉÑÈ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÑ\n"
-#~ "ÓÍÏÔÒÉÔÅ × ÉÓÈÏÄÎÏÍ ÔÅËÓÔÅ.  íÙ îå ÐÒÅÄÏÓÔÁ×ÌÑÅÍ ÇÁÒÁÎÔÉÊ; ÄÁÖÅ ÇÁÒÁÎÔÉÊ\n"
-#~ "ëïííåòþåóëïê ðòéçïäîïóôé ÉÌÉ ðòéçïäîïóôé äìñ ëáëïê-ìéâï ãåìé.\n"
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr "ï ÏÛÉÂËÁÈ ÓÏÏÂÝÁÊÔÅ <bug-gnu-utils@gnu.org>."
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "ËÌÀÞ `-%ld' ÕÓÔÁÒÅÌ; ÉÓÐÏÌØÚÕÊÔÅ `-%c %ld'"
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "ËÌÀÞ `-%ld' ÕÓÔÁÒÅÌ; ÏÐÕÓËÁÊÔÅ ÅÇÏ"
-
 #~ msgid "subsidiary program `%s' not found"
 #~ msgstr "ÎÅ ÎÁÊÄÅÎÁ ×ÓÐÏÍÏÇÁÔÅÌØÎÁÑ ÐÒÏÇÒÁÍÍÁ `%s'"
 
index 34584a3..6ab9f34 100644 (file)
Binary files a/po/sr.gmo and b/po/sr.gmo differ
index 1b8e3df..e66970f 100644 (file)
--- a/po/sr.po
+++ b/po/sr.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: diffutils 2.8.7\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2004-04-15 21:46-0400\n"
 "Last-Translator: Aleksandar Jelenak <jelenak@netlinkplus.net>\n"
 "Language-Team: Serbian <gnu@prevod.org>\n"
@@ -23,7 +23,7 @@ msgstr "грешка програма"
 msgid "stack overflow"
 msgstr "стек препуњен"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Непозната системска грешка"
 
@@ -136,100 +136,102 @@ msgstr "%s: опција „%s“ захтева аргумент\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Успешно"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Без поклапања"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Неисправан регуларни израз"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Неисправан колациони знак"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Неправилно име класе знакова"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Пратећа обрнута коса црта"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Неисправна повратна референца"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "Неупарено [ или [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "Неупарено ( или \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "Неупарено \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Неисправан садржај у \\{\\}"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Неисправан крај опсега"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Меморија исцрпљена"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Неисправан претходећи регуларни израз"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Преран завршетак регуларног израза"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Регуларни израз исувише велики"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "Неупарено ) или \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Без прошлог регуларног израза"
 
@@ -261,17 +263,17 @@ msgstr ""
 
 #: lib/xstrtol-error.c:63
 #, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "неисправна --bytes вредност „%s“"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "неисправна дужина видокруга „%s“"
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr ""
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr ""
 
 #: lib/version-etc.c:74
@@ -439,7 +441,7 @@ msgstr ""
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Датотеке %s и %s различите\n"
@@ -449,7 +451,7 @@ msgstr "Датотеке %s и %s различите\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "Бинарне датотеке %s и %s различите\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Без новог реда на крају датотеке"
 
@@ -463,14 +465,14 @@ msgstr "Торбјорн Гранлунд"
 msgid "David MacKenzie"
 msgstr ""
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "Покушајте `%s --help' за подробније објашњење."
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "неисправна --ignore-initial вредност „%s“"
 
 #: src/cmp.c:147
@@ -478,14 +480,14 @@ msgstr "неисправна --ignore-initial вредност „%s“"
 msgid "options -l and -s are incompatible"
 msgstr "опције -l и -s не иду заједно"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "записивање неуспешано"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "стандардни излаз"
 
@@ -547,7 +549,7 @@ msgid ""
 "at the beginning of each file (zero by default)."
 msgstr "БРОЈ1 и БРОЈ2 су бројеви бајтова за изостављање у свакој датотеци."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -564,26 +566,27 @@ msgstr ""
 "итд. за T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "Читати стандардни улаз ако ДАТОТЕКА недостаје или је „-“."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr "Излазно стање је 0 ако су улази исти, 1 за различите, 2 за грешку."
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "неисправна --bytes вредност „%s“"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "недостаје оператор после „%s“"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "вишак оператор „%s“"
 
 #: src/cmp.c:491
@@ -602,210 +605,211 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: EOF на %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr ""
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "неисправна дужина склопа „%s“"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "прелом страна није подржан на овом рачунару"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "исувише опција за ознаку датотека"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "неисправна дужина „%s“"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "сукобљене опције ширине"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "неисправна дужина видокруга „%s“"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "неисправна величина табулатора „%s“"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "сукобљене опције величине табулатора"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "„--from-file“ и „--to-file“ обоје наведени"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal  Излаз је обичан „diff“."
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q  --brief  Пријави само да ли се датотеке разликују."
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files  Пријави када су две датотеке исте."
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w БРЈ  --width=БРЈ  Ширина излаза је највише БРЈ (почетно 130) колона."
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 "-w БРЈ  --width=БРЈ  Ширина излаза је највише БРЈ (почетно 130) колона."
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Прихвати све датотеке као текст."
+msgstr "-e  --ed  Излаз је „ed“ спис."
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs  Излаз је RCS облик „diff-а“."
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  Извести о верзији."
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
 "-w БРЈ  --width=БРЈ  Ширина излаза је највише БРЈ (почетно 130) колона."
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr "-l  --left-column  Испиши само леву колону заједничких редова."
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  Не приказуј заједничке редове."
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Развиј табулаторе у размаке за излаз."
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr "-T  --initial-tab  Поравнај табулаторе додајући један табулатор."
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr "--tabsize=БРЈ  Величина табулатора је БРЈ (почетно 8) колона."
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr "-l  --paginate  Пропусти излаз кроз „pr“ за прелом."
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr "-r  --recursive  Рекурзивно упореди све пронађене поддиректоријуме."
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N  --new-file  Недостајуће датотеке се узимају за празне."
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 "--unidirectional-new-file  Прве недостајуће датотеке се узимају за празне."
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
 "--ignore-file-name-case  Занемари словну величину поређујући имена датотека."
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "--no-ignore-file-name-case  Урачунај словну величину поређујући имена "
 "датотека."
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr "-x ОБР  --exclude=ОБР  Изузми датотеке које поклапа ОБР."
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
@@ -813,14 +817,14 @@ msgstr ""
 "-X ТЕКА  --exclude-from=ТЕКА  Изузми датотеке које поклапа било који образац "
 "у ТЕКА."
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
 "-S ТЕКА  --starting-file=ТЕКА  Почни од ТЕКА при поређењу директоријума."
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -829,7 +833,7 @@ msgstr ""
 "--from-file=ТЕКА1  Упореди ТЕКА1 са свим оперантима. ТЕКА1 може бити "
 "директоријум."
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -837,96 +841,97 @@ msgid ""
 msgstr ""
 "--to-file=ТЕКА2  Упореди све операнте са ТЕКА2. ТЕКА2 може бири директоријум."
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr "-i  --ignore-case  Занемари словну величину у склопу датотека."
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Занемари промене услед развијања табулатора."
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-space  Занемари сву белину."
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Занемари промене због количине белине."
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space  Занемари сву белину."
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr "-B  --ignore-blank-lines  Занемари промене услед празних редова."
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I РИ  --ignore-matching-lines=РИ  Занемари промене чији редови поклапају РИ."
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text  Прихвати све датотеке као текст."
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Оголи пратеће <CR> на улазу."
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary  Читај и пиши податке у бинарном режиму."
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr "-D ИМЕ   --ifdef=ИМЕ   Испиши „#ifdef ИМЕ“ разлике спојене датотеке."
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "--GTYPE-group-format=ГОБЛ  Слично, али обликуј GTYPE улазне групе са ГОБЛ."
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr "--line-format=РОБЛ  Слично, али обликуј све улазне редове са РОБЛ."
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "--LTYPE-line-format=РОБЛ  Слично, али обликуј LTYPE улазне редове са РОБЛ."
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  LTYPE је `old', `new', или `unchanged'. GTYPE је LTYPE или `changed'."
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -954,7 +959,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -967,7 +972,7 @@ msgstr ""
 "    %l  садржај реда, изузев пратећих знакова за нови ред\n"
 "    %[-][ШИРН][.[ТАЧН]]{doxX}n  printf-стил за улазни број реда"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -981,94 +986,102 @@ msgstr ""
 "    %c'З'  само један знак „З“\n"
 "    %c'\\OOO'  знак са окталним кодом OOO"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Потруди се да нађеш мањи скуп промена."
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr "--horizon-lines=БРЈ  Чувај БРЈ редова заједничког префикса и суфикса."
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr ""
 "-H  --speed-large-files  За велике датотеке за много раштрканих малих измена."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version  Извести о верзији."
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "ДАТОТЕКЕ су „ТЕКА1 ТЕКА2“ или „ДИР1 ДИР2“ или „ДИР ТЕКА...“ или „ТЕКА... "
 "ДИР“."
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
 "Нема ограничења за ДАТОТЕКЕ ако је „--from-file“ или „--to-file“ задато."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "Ако је ДАТОТЕКА „-“, читај стандардни улаз."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Употреба: %s [ОПЦИЈА]... ДАТОТЕКЕ\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "Поређење датотека ред по ред."
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "сукоб због вредности „%s“ опције „%s“"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "сукобљене опције излазног стила"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Само у %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "не може поредити „-“ са директоријумом"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "опција „-D“ није подржана за директоријуме"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Заједнички поддиректоријуми: %s и %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "Датотека „%s“ је „%s“ док је датотека „%s“ „%s“\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Датотеке %s и %s различите\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Датотеке „%s“ и „%s“ се подударају\n"
@@ -1084,11 +1097,12 @@ msgid "incompatible options"
 msgstr "несагласне опције"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "„-“ наведено за више од једне датотеке"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "неуспело читање"
 
@@ -1124,13 +1138,12 @@ msgid ""
 msgstr "-x  --overlap-only  Испиши преклопљене промене."
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
-msgstr "-E  --show-overlap  Испиши неспојене промене, означи заградама сукобе."
+msgstr ""
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "-i  Придодај „w“ и „q“ наредбе ed списима."
 
 #: src/diff3.c:438
@@ -1166,9 +1179,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Прихвати све датотеке као текст."
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1219,30 +1231,30 @@ msgstr "интерна грешка: неисправна „diff“ врста
 msgid "invalid diff format; invalid change separator"
 msgstr "неисправан diff облик; неважећи раздвојник измена"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "неисправан diff облик; непотпун задњи ред"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "помоћни програм „%s“ није могао бити покренут"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "неисправан diff облик; нетачни водећи знакови реда"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "унутрашња грешка: неисправан diff тип прослеђен излазу"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "улазна датотека се скупила"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "не може поредити имена датотека „%s“ и „%s“"
 
 #: src/dir.c:209
@@ -1255,130 +1267,135 @@ msgstr ""
 msgid "Thomas Lord"
 msgstr ""
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr "-o ТЕКА  --output=ТЕКА  Интерактивни рад, излаз се шаље у ТЕКА."
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i  --ignore-case  Сматрај велика и мала слова истим."
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion  Занемари промене услед развијања табулатора."
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-space  Занемари сву белину."
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  Занемари промене због количине белине."
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  Занемари сву белину."
+msgstr "-W  --ignore-all-space  Занемари све размаке."
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr "-B  --ignore-blank-lines  Занемари промене услед празних редова."
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I РИ  --ignore-matching-lines=РИ  Занемари промене чији редови поклапају РИ."
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  Оголи пратеће <CR> на улазу."
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text  Прихвати све датотеке као текст."
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 "-w БРЈ  --width=БРЈ  Ширина излаза је највише БРЈ (почетно 130) колона."
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr "-l  --left-column  Испиши само леву колону заједничких редова."
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  Не приказуј заједничке редове."
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  Развиј табулаторе у размаке за излаз."
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr "--tabsize=БРЈ  Величина табулатора је БРЈ (почетно 8) колона."
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr "-d  --minimal  Потруди се да нађеш мањи скуп промена."
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr ""
 "-H  --speed-large-files  За велике датотеке за много раштрканих малих измена."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr "--diff-program=ПРОГРАМ  Користи ПРОГРАМ за поређење датотека."
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Прихвати све датотеке као текст."
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version  Извести о верзији."
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Употреба: %s [ОПЦИЈА]... ДАТОТЕКА1 ДАТОТЕКА22\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Упоредно стапање разлика датотека"
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "не може интерактивно уклопити стандардни улаз"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "обе датотеке за поређење су директоријуми"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 #, fuzzy
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
@@ -1403,56 +1420,45 @@ msgstr ""
 "v:\tУметни заједничке редове бучно.\n"
 "q:\tЗаврши.\n"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: неправилна опција -- %c\n"
+
+#~ msgid ""
+#~ "This is free software; see the source for copying conditions.  There is "
+#~ "NO\n"
+#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
+#~ "PURPOSE.\n"
+#~ msgstr ""
+#~ "Ово је слободан софтвер; видети изворни кôд за услове умножавања. Без "
+#~ "ИКАКВЕ\n"
+#~ "гаранције; чак ни за ТРЖИШНОСТ или ПРИКЛАДНОСТ ОДРЕЂЕНОЈ СВРСИ.\n"
+
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i БРОЈ1:БРОЈ2  --ignore-initial=БРОЈ1:БРОЈ2"
 
 #~ msgid "-s  --quiet  --silent  Output nothing; yield exit status only."
 #~ msgstr "-s  --quiet  --silent  Без исписа; пријави само излазно стање."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  Извести о верзији."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  Испиши ово објашњење."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Поређење три датотеке ред по ред."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
 #~ msgstr ""
-#~ "-E  --ignore-tab-expansion  Занемари промене услед развијања табулатора."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr "-b  --ignore-space-change  Занемари промене због количине белине."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Занемари све размаке."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr "-B  --ignore-blank-lines  Занемари промене услед празних редова."
+#~ "Пријава грешака на адресу <bug-gnu-utils@gnu.org>.\n"
+#~ "Поруке у вези превода слати на <gnu@prevod.org>."
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr "--strip-trailing-cr  Оголи пратеће <CR> на улазу."
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "опција „-%ld“ је застарела; користити „-%c %ld“"
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Прихвати све датотеке као текст."
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "опција „-%ld“ је застарела; изоставите је"
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1464,10 +1470,6 @@ msgstr ""
 #~ "  -p  --show-c-function  Прикажи Це функцију у којој је промена.\n"
 #~ "  -F РИ  --show-function-line=РИ  Прикажи најскорији ред који РИ поклапа."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Излаз је „ed“ спис."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1479,31 +1481,11 @@ msgstr ""
 #~ "  --left-column  Испис само леве колоне код заједничких редова.\n"
 #~ "  --suppress-common-lines  Не исписуј заједничке редове."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs  Развиј табулаторе у размаке за излаз."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr "-T  --initial-tab  Поравнај табулаторе додајући један табулатор."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr "--tabsize=БРЈ  Величина табулатора је БРЈ (почетно 8) колона."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  Потруди се да нађеш мањи скуп промена."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files  За велике датотеке са много раштрканих малих промена."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr "-A  --show-all  Испиши све промене, означи заградама сукобе."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "-X  Испиши и означи заградама преклопљене промене."
 
@@ -1513,78 +1495,6 @@ msgstr ""
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L ОЗНКА  --label=ОЗНКА  Користи ОЗНКА уместо имена датотеке."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr "--diff-program=ПРОГРАМ  Користи ПРОГРАМ за поређење датотека."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Занемари све размаке."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w БРЈ  --width=БРЈ  Ширина излаза је највише БРЈ (почетно 130) колона."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "-l  --left-column  Испиши само леву колону заједничких редова."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  За велике датотеке са много раштрканих малих промена."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "неуспело читање"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "записивање неуспешано"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "неуспело читање"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "неуспело читање"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "записивање неуспешано"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "записивање неуспешано"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: неправилна опција -- %c\n"
-
-#~ msgid ""
-#~ "This is free software; see the source for copying conditions.  There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-#~ msgstr ""
-#~ "Ово је слободан софтвер; видети изворни кôд за услове умножавања. Без "
-#~ "ИКАКВЕ\n"
-#~ "гаранције; чак ни за ТРЖИШНОСТ или ПРИКЛАДНОСТ ОДРЕЂЕНОЈ СВРСИ.\n"
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr ""
-#~ "Пријава грешака на адресу <bug-gnu-utils@gnu.org>.\n"
-#~ "Поруке у вези превода слати на <gnu@prevod.org>."
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "опција „-%ld“ је застарела; користити „-%c %ld“"
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "опција „-%ld“ је застарела; изоставите је"
-
 #~ msgid "subsidiary program `%s' not found"
 #~ msgstr "помоћни програм „%s“ није нађен"
 
index f2983f7..3775d92 100644 (file)
Binary files a/po/sv.gmo and b/po/sv.gmo differ
index 2b6efd1..143f84f 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,16 +1,16 @@
 # Swedish messages for diffutils.
-# Copyright © 1996, 2001, 2002, 2004, 2006, 2010, 2011 Free Software Foundation, Inc.
+# Copyright © 1996, 2001, 2002, 2004, 2006, 2010, 2011, 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the diffutils package.
-# Göran Uddeborg <goeran@uddeborg.se>, 1996, 2001, 2002, 2004, 2006, 2010, 2011.
+# Göran Uddeborg <goeran@uddeborg.se>, 1996, 2001, 2002, 2004, 2006, 2010, 2011, 2012.
 #
-# $Revision: 1.39 $
+# $Revision: 1.43 $
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: diffutils 3.1\n"
+"Project-Id-Version: diffutils 3.3-pre1\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
-"PO-Revision-Date: 2011-08-24 23:10+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
+"PO-Revision-Date: 2012-10-31 21:15+0100\n"
 "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
@@ -26,7 +26,7 @@ msgstr "programfel"
 msgid "stack overflow"
 msgstr "stackspill"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Okänt systemfel"
 
@@ -139,100 +139,102 @@ msgstr "%s: flaggan \"-W %s\" behöver ett argument\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr "”"
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr "”"
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Lyckades"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Ingen match"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Ogiltigt reguljäruttryck"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Ogiltigt sorteringstecken"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Ogiltigt namn på teckenklass"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Avslutande omvänt snedstreck"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Ogiltig bakåtreferens"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "Oparad [ eller [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "Oparad ( eller \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "Oparad \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Ogiltigt innehåll i \\{\\}"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Ogiltigt intervallslut"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Minnet slut"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Föregående reguljäruttryck ogiltigt"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Förtida slut på reguljäruttryck"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "För stort reguljäruttryck"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "Oparad ) eller \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Inget föregående reguljäruttryck"
 
@@ -263,18 +265,18 @@ msgstr "kunde inte öppna om %s i läge %s"
 
 #: lib/xstrtol-error.c:63
 #, c-format
-msgid "invalid %s%s argument `%s'"
-msgstr "ogiltigt argument till %s%s \"%s\""
+msgid "invalid %s%s argument '%s'"
+msgstr "ogiltigt argument till %s%s ”%s”"
 
 #: lib/xstrtol-error.c:68
 #, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "ogiltigt suffix i argument till %s%s \"%s\""
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr "ogiltigt suffix i argument till %s%s ”%s”"
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
-msgstr "argument till %s%s \"%s\" för stort"
+msgid "%s%s argument '%s' too large"
+msgstr "argument till %s%s ”%s” är för stort"
 
 #: lib/version-etc.c:74
 #, c-format
@@ -451,7 +453,7 @@ msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Allmän hjälp med att använda GNU-program: <http://www.gnu.org/gethelp/>\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Filerna %s och %s skiljer\n"
@@ -461,7 +463,7 @@ msgstr "Filerna %s och %s skiljer\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "De binära filerna %s och %s skiljer\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Ingen nyrad vid filslut"
 
@@ -475,29 +477,29 @@ msgstr "Torbjörn Granlund"
 msgid "David MacKenzie"
 msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
 #, c-format
-msgid "Try `%s --help' for more information."
-msgstr "Försök med \"%s --help\" för mer information."
+msgid "Try '%s --help' for more information."
+msgstr "Försök med ”%s --help” för mer information."
 
 #: src/cmp.c:137
 #, c-format
-msgid "invalid --ignore-initial value `%s'"
-msgstr "ogiltigt --ignore-initial-värde \"%s\""
+msgid "invalid --ignore-initial value '%s'"
+msgstr "ogiltigt --ignore-initial-värde ”%s”"
 
 #: src/cmp.c:147
 #, c-format
 msgid "options -l and -s are incompatible"
 msgstr "flaggorna -l och -s är motstridiga"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "skrivning misslyckades"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "standard ut"
 
@@ -559,7 +561,7 @@ msgstr ""
 "De valfria HOPP1 och HOPP2 anger antalet antalet byte att hoppa över\n"
 "i början varje fil (noll som standard)."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -577,27 +579,27 @@ msgstr ""
 "GB 1 000 000 000, G 1 073 741 824, och så vidare för T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
-msgstr "Om FIL är \"-\" eller utelämnats, läs standard in."
+msgid "If a FILE is '-' or missing, read standard input."
+msgstr "Om FIL är ”-” eller utelämnats, läs standard in."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr "Slutsstatus är 0 om indata är lika, 1 om olika, 2 vid problem."
 
 #: src/cmp.c:240
 #, c-format
-msgid "invalid --bytes value `%s'"
-msgstr "ogiltigt --bytes-värde \"%s\""
+msgid "invalid --bytes value '%s'"
+msgstr "ogiltigt --bytes-värde ”%s”"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
 #, c-format
-msgid "missing operand after `%s'"
-msgstr "saknad operand efter \"%s\""
+msgid "missing operand after '%s'"
+msgstr "saknad operand efter ”%s”"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
 #, c-format
-msgid "extra operand `%s'"
-msgstr "extra operand \"%s\""
+msgid "extra operand '%s'"
+msgstr "extra operand ”%s”"
 
 #: src/cmp.c:491
 #, c-format
@@ -615,136 +617,136 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: EOF i %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr "Paul Eggert"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr "Mike Haertel"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr "David Hayes"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr "Richard Stallman"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr "Len Tower"
 
-#: src/diff.c:340
+#: src/diff.c:339
 #, c-format
-msgid "invalid context length `%s'"
-msgstr "ogiltig omgivningslängd \"%s\""
+msgid "invalid context length '%s'"
+msgstr "ogiltig omgivningslängd ”%s”"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "sidvisning stödjs ej på denna värd"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "för många etikettflaggor"
 
-#: src/diff.c:515
+#: src/diff.c:514
 #, c-format
-msgid "invalid width `%s'"
-msgstr "ogiltig bredd \"%s\""
+msgid "invalid width '%s'"
+msgstr "ogiltig bredd ”%s”"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "konflikt mellan breddflaggor"
 
-#: src/diff.c:544
+#: src/diff.c:543
 #, c-format
-msgid "invalid horizon length `%s'"
-msgstr "ogiltig horisontlängd \"%s\""
+msgid "invalid horizon length '%s'"
+msgstr "ogiltig horisontlängd ”%s”"
 
-#: src/diff.c:595
+#: src/diff.c:598
 #, c-format
-msgid "invalid tabsize `%s'"
-msgstr "ogiltigt tabulatorsteg \"%s\""
+msgid "invalid tabsize '%s'"
+msgstr "ogiltigt tabulatorsteg ”%s”"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "konflikt mellan tabulatorflaggor"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "både --from-file och --to-file angavs"
 
-#: src/diff.c:851
+#: src/diff.c:854
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "    --normal                  skriv ut en normal diff (standard)"
 
-#: src/diff.c:852
+#: src/diff.c:855
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q, --brief                   rapportera endast när filer skiljer sig"
 
-#: src/diff.c:853
+#: src/diff.c:856
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files  rapportera om två filer är lika"
 
-#: src/diff.c:854
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
 "-c, -C ANT, --context[=ANT]   skriv ANT (3 som standard) rader kopia av "
 "sammanhang"
 
-#: src/diff.c:855
+#: src/diff.c:858
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 "-u, -U ANT, --unified[=ANT]   skriv ut ANT (3 som standard) rader med\n"
 "                                 sammanslagen omgivning"
 
-#: src/diff.c:856
+#: src/diff.c:859
 msgid "-e, --ed                      output an ed script"
 msgstr "-e, --ed                      skriv ut ett ed-skript"
 
-#: src/diff.c:857
+#: src/diff.c:860
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n, --rcs                     skriv ut skillnader i RCS-format"
 
-#: src/diff.c:858
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
 msgstr "-y, --side-by-side            skriv ut i två kolumner"
 
-#: src/diff.c:859
+#: src/diff.c:862
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
 "-W, --width=ANT               skriv ut högst ANT (130 som standard) kolumner"
 
-#: src/diff.c:860
+#: src/diff.c:863
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr ""
 "    --left-column             skriv ut endast vänstra kolumnen av gemensamma "
 "rader"
 
-#: src/diff.c:861
+#: src/diff.c:864
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "    --suppress-common-lines   skriv inte ut gemensamma rader"
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr "-p, --show-c-function         visa vilken C-funktion varje rad finns i"
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr "-F, --show-function-line=RU   visa dn senaste raden som matchar RU"
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
@@ -752,23 +754,23 @@ msgstr ""
 "    --label ETIKETT           använd ETIKETT istället för filnamn\n"
 "                                (kan upprepas)"
 
-#: src/diff.c:868
+#: src/diff.c:871
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr ""
 "-t, --expand-tabs             expandera tabulatorer till blanksteg i utdata"
 
-#: src/diff.c:869
+#: src/diff.c:872
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
 "-T, --initial-tab             justera tabulatorer genom att skjuta in en"
 
-#: src/diff.c:870
+#: src/diff.c:873
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr ""
 "    --tabsize=N               tabulatorstopp var N:e (8 som standard) kolumn"
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
@@ -776,50 +778,54 @@ msgstr ""
 "tomma\n"
 "                                utrader"
 
-#: src/diff.c:872
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+#: src/diff.c:875
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr "-l, --paginate                skicka utdata till ”pr” för paginering"
 
-#: src/diff.c:874
+#: src/diff.c:877
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr ""
 "-r, --recursive                 jämför underkataloger som hittas rekursivt"
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr "    --no-dereference            följ inte symboliska länkar"
+
+#: src/diff.c:879
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N, --new-file                  behandla saknade filer som tomma"
 
-#: src/diff.c:876
+#: src/diff.c:880
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr "    --unidirectional-new-file   behandla saknade förstafiler som tomma"
 
-#: src/diff.c:877
+#: src/diff.c:881
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
 "    --ignore-file-name-case     bortse från skiftläge när filnamn jämförs"
 
-#: src/diff.c:878
+#: src/diff.c:882
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "    --no-ignore-file-name-case  ta hänsyn till skiftläge när filnamn jämförs"
 
-#: src/diff.c:879
+#: src/diff.c:883
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr "-x, --exclude=MNS               ta inte med filer som matchar MNS"
 
-#: src/diff.c:880
+#: src/diff.c:884
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
 "-X, --exclude-from=FIL         uteslut filer som matchar något mönster i FIL"
 
-#: src/diff.c:881
+#: src/diff.c:885
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr "-S, --starting-file=FIL        börja med FIL när kataloger jämförs"
 
-#: src/diff.c:882
+#: src/diff.c:886
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
 "                                  FILE1 can be a directory"
@@ -827,7 +833,7 @@ msgstr ""
 "    --from-file=FIL1            jämför FIL1 med alla operander;\n"
 "                                  FIL1 kan vara en katalog"
 
-#: src/diff.c:884
+#: src/diff.c:888
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
 "                                  FILE2 can be a directory"
@@ -835,79 +841,79 @@ msgstr ""
 "    --to-file=FIL2              jämför alla operander med FIL2;\n"
 "                                  FIL2 kan vara en katalog"
 
-#: src/diff.c:887
+#: src/diff.c:891
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr ""
 "-i, --ignore-case               bortse från skillnader i skiftläge i "
 "filinnehåll"
 
-#: src/diff.c:888
+#: src/diff.c:892
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "-E, --ignore-tab-expansion      bortse från ändringar på grund av tab-"
 "expansion"
 
-#: src/diff.c:889
-#, fuzzy
+#: src/diff.c:893
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
-msgstr "-W, --ignore-all-space       ignorera alla blanktecken"
+msgstr ""
+"-Z, --ignore-trailing-space     ignorera alla blanktecken i slutet av raden"
 
-#: src/diff.c:890
+#: src/diff.c:894
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr "-b, --ignore-space-change       bortse från ändringar i antalet blanka"
 
-#: src/diff.c:891
+#: src/diff.c:895
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w, --ignore-all-space          bortse från alla blanktecken"
 
-#: src/diff.c:892
+#: src/diff.c:896
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr ""
-"-B, --ignore-blank-lines        bortse från ändringar där alla rader är "
+"-B, --ignore-blank-lines        bortse från ändringar där raderna är helt "
 "blanka"
 
-#: src/diff.c:893 src/sdiff.c:178
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+#: src/diff.c:897
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
-"-I, --ignore-matching-lines=RU  bortse från ändringar vars rader alla "
-"matchar RU"
+"-I, --ignore-matching-lines=RU  bortse från ändringar där alla rader matchar "
+"RU"
 
-#: src/diff.c:895
+#: src/diff.c:899
 msgid "-a, --text                      treat all files as text"
 msgstr "-a, --text                      behandla alla filer som text"
 
-#: src/diff.c:896
+#: src/diff.c:900
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr ""
 "    --strip-trailing-cr         tag bort avslutande vagnreturer i indata"
 
-#: src/diff.c:898
+#: src/diff.c:902
 msgid "    --binary                    read and write data in binary mode"
 msgstr "    --binary                    läs och skriv data binärt"
 
-#: src/diff.c:901
+#: src/diff.c:905
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D, --ifdef=NAMN                skriv sammanslagen fil med skillnader inom\n"
 "                                  ”#ifdef NAMN”"
 
-#: src/diff.c:902
+#: src/diff.c:906
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr "    --GTYP-group-format=GFMT    formatera GTYP-ingrupper med GFMT"
 
-#: src/diff.c:903
+#: src/diff.c:907
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr "    --line-format=RFMT          formatera alla inrader med RFMT"
 
-#: src/diff.c:904
+#: src/diff.c:908
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr "    --RTYP-line-format=RFMT     formatera RTYP-inrader med RFMT"
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
@@ -915,13 +921,12 @@ msgstr ""
 "  Dessa formatflagger gör det möjligt att finjustera utskriften från\n"
 "    diff, generaliserande -D/--ifdef."
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
-"  RTYP är \"old\", \"new\" eller \"unchanged\".  GTYP är RTYP eller \"changed"
-"\"."
+"  LTYP är ”old”, ”new” eller ”unchanged”.  GTYP är LTYP eller ”changed”."
 
-#: src/diff.c:908
+#: src/diff.c:912
 msgid ""
 "  GFMT (only) may contain:\n"
 "    %<  lines from FILE1\n"
@@ -949,7 +954,7 @@ msgstr ""
 "        M  L+1\n"
 "    %(A=B?T:E)  om A är lika med B då T annars E"
 
-#: src/diff.c:920
+#: src/diff.c:924
 msgid ""
 "  LFMT (only) may contain:\n"
 "    %L  contents of line\n"
@@ -961,7 +966,7 @@ msgstr ""
 "    %l  radinnehåll exklusive avslutande nyrad\n"
 "    %[-][BREDD][.[PREC]]{doxX}n  printf-stil spec. för inradnummer"
 
-#: src/diff.c:924
+#: src/diff.c:928
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
 "    %%  %\n"
@@ -975,91 +980,95 @@ msgstr ""
 "    %c'\\OOO'  tecknet med oktalkod OOO\n"
 "    T    tecknet T (övriga tecken representerar sig själva)"
 
-#: src/diff.c:930
+#: src/diff.c:934
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr ""
 "-d, --minimal            arbeta hårt för att hitta en mindre mängd av "
 "ändringar"
 
-#: src/diff.c:931
+#: src/diff.c:935
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 "    --horizon-lines=ANT  spara ANT rader av gemensamt prefix och suffix"
 
-#: src/diff.c:932
+#: src/diff.c:936
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr "    --speed-large-files  antag stora filer och små spridda ändringar"
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr "    --help               visa denna hjälp och avsluta"
 
-#: src/diff.c:935
+#: src/diff.c:939
 msgid "-v, --version            output version information and exit"
 msgstr "-v, --version            visa versionsinformation och avsluta"
 
-#: src/diff.c:937
+#: src/diff.c:941
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
-"FILER är \"FIL1 FIL2\" eller \"KAT1 KAT2\" eller \"KAT FIL...\" eller "
-"\"FIL... KAT\"."
+"FILER är ”FIL1 FIL2” eller ”KAT1 KAT2” eller \"KAT FIL…” eller ”FIL… KAT”."
 
-#: src/diff.c:938
+#: src/diff.c:942
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
 "Om --from-file eller --to-file är angivet finns det inga begränsningar\n"
 "på FILER."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
-msgstr "Om en FIL är \"-\", läs standard in."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+msgid "If a FILE is '-', read standard input."
+msgstr "Om en FIL är ”-”, läs standard in."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Användning: %s [FLAGGA]... FILER\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 msgid "Compare FILES line by line."
 msgstr "Jämför FILER rad för rad."
 
-#: src/diff.c:984
+#: src/diff.c:988
 #, c-format
-msgid "conflicting %s option value `%s'"
-msgstr "motstridigt %s-flaggsvärde \"%s\""
+msgid "conflicting %s option value '%s'"
+msgstr "motstridigt %s-flaggsvärde ”%s”"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "motstridig utmatningsstilsflagga"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Endast i %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
-msgstr "kan inte jämföra \"-\" med en katalog"
+#: src/diff.c:1192
+msgid "cannot compare '-' to a directory"
+msgstr "kan inte jämföra ”-” med en katalog"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "-D flaggan stödjs ej för kataloger"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Lika underkataloger: %s och %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "Filen %s är %s medan filen %s är %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "De symboliska länkarna %s och %s skiljer\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Filerna %s och %s är lika\n"
@@ -1075,11 +1084,11 @@ msgid "incompatible options"
 msgstr "oförenliga flaggor"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
-msgstr "\"-\" angivet för mer än en infil"
+msgid "'-' specified for more than one input file"
+msgstr "”-” angivet för mer än en infil"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "läsning misslyckades"
 
@@ -1121,7 +1130,7 @@ msgid "-X                          like -x, but bracket conflicts"
 msgstr "-X                          som -x, men skriv klamrar om konflikter"
 
 #: src/diff3.c:436
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr ""
 "-i                          lägg till ”w”- och ”q”-kommandon till ed-skript"
 
@@ -1223,31 +1232,31 @@ msgstr "internt fel: ogiltig diff-typ i process_diff"
 msgid "invalid diff format; invalid change separator"
 msgstr "ogiltigt diff-format; ogiltig ändringsseparator"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "ogiltigt diff-format; ofullständig sista rad"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
 #, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "underprogram \"%s\" kunde inte startas"
+msgid "subsidiary program '%s' could not be invoked"
+msgstr "underprogram ”%s” kunde inte startas"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "ogiltigt diff-format; felaktiga starttecken på rad"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "internt fel: ogiltig diff-typ utskickad"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "infilen krympte"
 
 #: src/dir.c:158
 #, c-format
-msgid "cannot compare file names `%s' and `%s'"
-msgstr "kan inte jämföra filnamnen \"%s\" och \"%s\""
+msgid "cannot compare file names '%s' and '%s'"
+msgstr "kan inte jämföra filnamnen ”%s” och ”%s”"
 
 #: src/dir.c:209
 #, c-format
@@ -1259,119 +1268,125 @@ msgstr "%s: rekursiv katalogslinga"
 msgid "Thomas Lord"
 msgstr "Thomas Lord"
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr "-o, --output=FIL             kör interaktivt, med utdata till FIL"
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i, --ignore-case            betrakta versaler och gemena som lika"
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "-E, --ignore-tab-expansion   ignorera ändringar på grund av "
 "tabulatorexpansion"
 
-#: src/sdiff.c:174
-#, fuzzy
+#: src/sdiff.c:177
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
-msgstr "-W, --ignore-all-space       ignorera alla blanktecken"
+msgstr ""
+"-Z, --ignore-trailing-space  ignorera alla blanktecken i slutet av raden"
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "-b, --ignore-space-change    ignorera ändringar i antalet blanka"
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 msgid "-W, --ignore-all-space       ignore all white space"
 msgstr "-W, --ignore-all-space       ignorera alla blanktecken"
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr ""
 "-B, --ignore-blank-lines     ignorera ändringar i form av enbart blanka rader"
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I, --ignore-matching-lines=RU  bortse från ändringar vars alla rader "
+"matchar RU"
+
+#: src/sdiff.c:182
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr "    --strip-trailing-cr      tag bort avslutande vagnreturer i indata"
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 msgid "-a, --text                   treat all files as text"
 msgstr "-a, --text                   behandla alla filer som text"
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 "-w, --width=ANT              skriv ut högst ANT (130 som standard) kolumner"
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr ""
 "-l, --left-column            skriv ut endast ut gemensamma raders vänstra "
 "kolumn"
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s, --suppress-common-lines  skriv inte ut gemensamma rader"
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr ""
 "-t, --expand-tabs            expandera tabulatorer till blanksteg i utdata"
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr ""
 "    --tabsize=N              tabulatorstopp var N:e (8 som standard) kolumn"
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr ""
 "-d, --minimal                arbeta hårt för att hitta en mindre mängd "
 "ändringar"
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr ""
 "-H, --speed-large-files      antag stora filer och små spridda ändringar"
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr "    --diff-program=PROGRAM   använd PROGRAM för att jämföra filer"
 
-#: src/sdiff.c:193
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
 msgstr "    --help                   visa denna hjälp och avsluta"
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 msgid "-v, --version                output version information and exit"
 msgstr "-v, --version                visa versionsinformation och avsluta"
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Användning: %s [FLAGGA]... FIL1 FIL2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Sammanslagning sida-vid-sida av skillnader mellan FIL1 och FIL2."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "kan inte slå samman standard in interaktivt"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "båda filerna som skall jämföras är kataloger"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
index 81ee951..d5ed92d 100644 (file)
Binary files a/po/tr.gmo and b/po/tr.gmo differ
index a843462..44e3e59 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -1,21 +1,24 @@
-# translation of diffutils-2.8.7.tr.po to Turkish
+# translation of diffutils-3.3-pre1.tr.po to Turkish
 # Diffutils Turkish translation
 # Copyright (C) 2001, 2005 Free Software Foundation, Inc.
-# Deniz Akkus Kanca <deniz@arayan.com>, 2001.
 #
+# This file is distributed under the same license as the diffutils package.
+# Deniz Akkus Kanca <deniz@arayan.com>, 2001.
+# Volkan Gezer <vlkngzr@gmail.com>, 2013.
 msgid ""
 msgstr ""
-"Project-Id-Version: diffutils 2.8.7\n"
+"Project-Id-Version: diffutils 3.3-pre1\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
-"PO-Revision-Date: 2005-03-14 04:19+0200\n"
-"Last-Translator: Deniz Akkus Kanca <deniz@arayan.com>\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
+"PO-Revision-Date: 2013-03-09 15:49+0100\n"
+"Last-Translator: Volkan Gezer <vlkngzr@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.9.1\n"
+"X-Generator: Lokalize 1.5\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
 
 #: lib/c-stack.c:204 lib/c-stack.c:297
 msgid "program error"
@@ -25,7 +28,7 @@ msgstr "yazılım hatası"
 msgid "stack overflow"
 msgstr "yığıt taşması"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Bilinmeyen sistem hatası"
 
@@ -82,156 +85,158 @@ msgid "weird file"
 msgstr "dosya garip"
 
 #: lib/getopt.c:547 lib/getopt.c:576
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: `%s' seçeneği belirsiz\n"
+msgstr "%s: `%s' seçeneği belirsiz; kullanılabilecekler:"
 
 #: lib/getopt.c:624 lib/getopt.c:628
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: `--%s' seçeneği argümansız kullanılır\n"
 
 #: lib/getopt.c:637 lib/getopt.c:642
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: seçenek `%c%s' argümansız kullanılır\n"
 
 #: lib/getopt.c:685 lib/getopt.c:704
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '--%s' requires an argument\n"
 msgstr "%s: `%s' seçeneği bir argümanla kullanılır\n"
 
 #: lib/getopt.c:742 lib/getopt.c:745
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: `--%s' seçeneği bilinmiyor\n"
 
 #: lib/getopt.c:753 lib/getopt.c:756
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: `%c%s' seçeneği bilinmiyor\n"
 
 #: lib/getopt.c:805 lib/getopt.c:808
-#, fuzzy, c-format
+#, c-format
 msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: geçersiz seçenek -- %c\n"
 
 #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: seçenek bir argümanla kullanılır -- %c\n"
 
 #: lib/getopt.c:934 lib/getopt.c:950
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: `-W %s' seçeneği belirsiz\n"
 
 #: lib/getopt.c:974 lib/getopt.c:992
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: `-W %s' seçeneği argümansız kullanılır\n"
 
 #: lib/getopt.c:1013 lib/getopt.c:1031
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '-W %s' requires an argument\n"
 msgstr "%s: `%s' seçeneği bir argümanla kullanılır\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
-msgstr ""
+msgstr "`"
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
-msgstr ""
+msgstr "'"
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Başarılı"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Eşleme yok"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Düzenli ifade geçersiz"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Harmanlama karakteri geçersiz"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Karakter sınıf ismi geçersiz"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "İzleyen ters kesme"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Geriye başvuru geçersiz"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "[ ya da [^ eşleşmiyor"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "( ya da \\( eşleşmiyor"
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "\\{ eşleşmiyor"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "\\{\\} içeriği geçersiz"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Kapsam sonu geçersiz"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Bellek tükendi"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Önceki düzenli ifade geçersiz"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Düzenli ifadenin sonu eksik kalmış"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Düzenli ifade çok büyük"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr ") ya da  \\) eşleşmiyor"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Daha önce düzenli ifade yok"
 
@@ -241,57 +246,56 @@ msgstr "bellek tükendi"
 
 #: lib/xfreopen.c:35
 msgid "stdin"
-msgstr ""
+msgstr "stdin"
 
 #: lib/xfreopen.c:36
 msgid "stdout"
-msgstr ""
+msgstr "stdout"
 
 #: lib/xfreopen.c:37
 msgid "stderr"
-msgstr ""
+msgstr "stderr"
 
 #: lib/xfreopen.c:38
-#, fuzzy
 msgid "unknown stream"
-msgstr "Bilinmeyen sistem hatası"
+msgstr "bilinmeyen akış"
 
 #: lib/xfreopen.c:39
 #, c-format
 msgid "failed to reopen %s with mode %s"
-msgstr ""
+msgstr "%s, %s kipinde yeniden açılamadı"
 
 #: lib/xstrtol-error.c:63
-#, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
-msgstr "geçersiz --bytes değeri `%s'"
+#, c-format
+msgid "invalid %s%s argument '%s'"
+msgstr "Geçersiz %s%s argümanı '%s'"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "geçersiz ufuk uzunluğu `%s'"
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr "%s%s içinde '%s' argümanı için geçersiz son ek"
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
-msgstr ""
+msgid "%s%s argument '%s' too large"
+msgstr "%s%s argümanı '%s' çok uzun"
 
 #: lib/version-etc.c:74
 #, c-format
 msgid "Packaged by %s (%s)\n"
-msgstr ""
+msgstr "%s (%s) tarafından paketlenmiş\n"
 
 #: lib/version-etc.c:77
 #, c-format
 msgid "Packaged by %s\n"
-msgstr ""
+msgstr "%s tarafından paketlenmiş\n"
 
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
 #: lib/version-etc.c:84
 msgid "(C)"
-msgstr ""
+msgstr "(C)"
 
 #: lib/version-etc.c:86
 msgid ""
@@ -302,6 +306,12 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 "\n"
 msgstr ""
+"\n"
+"Lisans GPLv3+: GNU GPL sürüm 3 veya sonrası <http://gnu.org/licenses/gpl."
+"html>.\n"
+"Bu ücretsiz bir yazılımdır: değiştirmekte ve tekrar dağıtmakta özgürsünüz.\n"
+"İzin verilen yasalar kapsamında hiçbir GARANTİSİ BULUNMAMAKTADIR.\n"
+"\n"
 
 #  TRANSLATORS: %s denotes an author name.
 #. TRANSLATORS: %s denotes an author name.
@@ -448,37 +458,40 @@ msgid ""
 "\n"
 "Report bugs to: %s\n"
 msgstr ""
+"\n"
+"Hataları şuraya bildirin: %s\n"
 
 #: lib/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
-msgstr ""
+msgstr "%s hatalarını şuraya bildirin: %s\n"
 
 #: lib/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
-msgstr ""
+msgstr "%s ana sayfası: <%s>\n"
 
 #: lib/version-etc.c:253
 #, c-format
 msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr ""
+msgstr "%s ana sayfası: <http://www.gnu.org/software/%s/>\n"
 
 #: lib/version-etc.c:256
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
+"GNU yazılımı kullanımı hakkında genel yardım: <http://www.gnu.org/gethelp/>\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "%s ve %s dosyaları birbirinden farklı\n"
 
 #: src/analyze.c:462
-#, fuzzy, c-format
+#, c-format
 msgid "Binary files %s and %s differ\n"
-msgstr "%s ve %s dosyaları birbirinden farklı\n"
+msgstr "İkili %s ve %s birbirinden farklı\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Dosya sonunda yenisatır yok."
 
@@ -490,75 +503,73 @@ msgstr "Torbjorn Granlund"
 #. This is a proper name. See the gettext manual, section Names.
 #: src/cmp.c:44
 msgid "David MacKenzie"
-msgstr ""
+msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
 #, c-format
-msgid "Try `%s --help' for more information."
-msgstr "Daha fazla bilgi için `%s --help' komutunu kullanın."
+msgid "Try '%s --help' for more information."
+msgstr "Daha fazla bilgi için `%s --help' komutunu deneyin."
 
 #: src/cmp.c:137
 #, c-format
-msgid "invalid --ignore-initial value `%s'"
-msgstr "geçersiz -- ilk değer `%s' yoksayılmış"
+msgid "invalid --ignore-initial value '%s'"
+msgstr "geçersiz --ignore-initial değeri '%s'"
 
 #: src/cmp.c:147
 #, c-format
 msgid "options -l and -s are incompatible"
 msgstr "-l ve -s seçenekleri beraber kullanılamaz"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "yazma başarısız oldu"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "standart çıktı"
 
 #: src/cmp.c:161
-#, fuzzy
 msgid "-b, --print-bytes          print differing bytes"
-msgstr "-b  --print-bytes  Bayt farklarını çıktılar."
+msgstr "-b, --print-bytes          bayt farklarını çıktılar"
 
 #: src/cmp.c:162
-#, fuzzy
 msgid "-i, --ignore-initial=SKIP         skip first SKIP bytes of both inputs"
-msgstr "-i ATLA --ignore-initial=ATLA  Girdinin ilk ATLA baytını atlar."
+msgstr ""
+"-i, --ignore-initial=ATLA         İki girdinin de ilk ATLA baytını atlar."
 
 #: src/cmp.c:163
-#, fuzzy
 msgid ""
 "-i, --ignore-initial=SKIP1:SKIP2  skip first SKIP1 bytes of FILE1 and\n"
 "                                      first SKIP2 bytes of FILE2"
-msgstr "  DOSYA1'in ilk ATLA1 baytını ve DOSYA2'nin ilk ATLA2 baytını atlar."
+msgstr ""
+"-i, --ignore-initial=ATLA1:ATLA2  DOSYA1'in ilk ATLA1 baytını ve\n"
+"                                      DOSYA2'nin ilk ATLA2 baytını atlar"
 
 #: src/cmp.c:165
-#, fuzzy
 msgid ""
 "-l, --verbose              output byte numbers and differing byte values"
 msgstr ""
-"-l  --verbose  Bütün farklı baytların numaralarını ve değerlerini gösterir."
+"-l,  --verbose              bütün farklı baytların numaralarını ve "
+"değerlerini göster"
 
 #: src/cmp.c:166
-#, fuzzy
 msgid "-n, --bytes=LIMIT          compare at most LIMIT bytes"
-msgstr "-n LİMİT  --bytes=LİMİT  En fazla LİMİT baytı karşılaştırır."
+msgstr "-n, --bytes=LİMİT              en fazla LİMİT baytı karşılaştırır"
 
 #: src/cmp.c:167
 msgid "-s, --quiet, --silent      suppress all normal output"
-msgstr ""
+msgstr "-s, --quiet, --silent      tüm normal çıktıları gizle"
 
 #: src/cmp.c:168
 msgid "    --help                 display this help and exit"
-msgstr ""
+msgstr "    --help                 bu yardım metnini göster ve çık"
 
 #: src/cmp.c:169
-#, fuzzy
 msgid "-v, --version              output version information and exit"
-msgstr "-v  --version  Sürüm bilgisini gösterir."
+msgstr "-v, --version              sürüm bilgisini gösterir"
 
 #: src/cmp.c:178
 #, c-format
@@ -570,16 +581,19 @@ msgid "Compare two files byte by byte."
 msgstr "İki dosyayı bayt bayt karşılaştırır."
 
 #: src/cmp.c:182
-#, fuzzy
 msgid ""
 "The optional SKIP1 and SKIP2 specify the number of bytes to skip\n"
 "at the beginning of each file (zero by default)."
-msgstr "ATLA1 ve ATLA2 her dosyada atlanacak bayt sayısını gösterir."
+msgstr ""
+"İsteğe bağlı ATLA1 ve ATLA2, her dosyanın başından atlanacak\n"
+"(öntanımlı olarak sıfır) bayt sayısını belirtir."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
+"Uzun seçenekler için zorunlu olan argümanlar, kısa seçenekler için de "
+"zorunludur.\n"
 
 #: src/cmp.c:191
 msgid ""
@@ -592,26 +606,26 @@ msgstr ""
 "GB 1,000,000,000, G 1,073,741,824, ve T, P, E, Z, Y için devam eder."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "Eğer DOSYA `-' ise veya yoksa, standart girdi okunur."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr "Girdiler aynı ise çıkış durumu 0, farklı ise 1, sorun var ise 2 olur."
 
 #: src/cmp.c:240
 #, c-format
-msgid "invalid --bytes value `%s'"
+msgid "invalid --bytes value '%s'"
 msgstr "geçersiz --bytes değeri `%s'"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
 #, c-format
-msgid "missing operand after `%s'"
+msgid "missing operand after '%s'"
 msgstr "`%s'den sonra işlenen eksik"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
 #, c-format
-msgid "extra operand `%s'"
+msgid "extra operand '%s'"
 msgstr "fazla işlenen `%s'"
 
 #: src/cmp.c:491
@@ -630,354 +644,330 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: %s'da EOF (dosyasonu)\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
-msgstr ""
+msgstr "Paul Eggert"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
-msgstr ""
+msgstr "Mike Haertel"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
-msgstr ""
+msgstr "David Hayes"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
-msgstr ""
+msgstr "Richard Stallman"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
-msgstr ""
+msgstr "Len Tower"
 
-#: src/diff.c:340
+#: src/diff.c:339
 #, c-format
-msgid "invalid context length `%s'"
-msgstr "`%s' içerik uzunluğu geçersiz"
+msgid "invalid context length '%s'"
+msgstr "`%s' bağlam uzunluğu geçersiz"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "sayfalama bu makina üzerinde desteklenmiyor"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "çok fazla dosya etiket seçeneği"
 
-#: src/diff.c:515
+#: src/diff.c:514
 #, c-format
-msgid "invalid width `%s'"
+msgid "invalid width '%s'"
 msgstr "geçersiz genişlik `%s'"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "çelişkili genişlik seçenekleri"
 
-#: src/diff.c:544
+#: src/diff.c:543
 #, c-format
-msgid "invalid horizon length `%s'"
+msgid "invalid horizon length '%s'"
 msgstr "geçersiz ufuk uzunluğu `%s'"
 
-#: src/diff.c:595
+#: src/diff.c:598
 #, c-format
-msgid "invalid tabsize `%s'"
-msgstr "geçersiz genişlik `%s'"
+msgid "invalid tabsize '%s'"
+msgstr "geçersiz sekme genişliği `%s'"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "çelişkili genişlik seçenekleri"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "hem --from-file hem de --to-file belirtilmiş"
 
-#: src/diff.c:851
-#, fuzzy
+#: src/diff.c:854
 msgid "    --normal                  output a normal diff (the default)"
-msgstr "--normal  Normal bir diff çıktılar."
+msgstr "    --normal                  normal bir diff çıktılar (öntanımlı)"
 
-#: src/diff.c:852
-#, fuzzy
+#: src/diff.c:855
 msgid "-q, --brief                   report only when files differ"
-msgstr "-q  --brief  Yalnızca dosyaların farklı olup olmadığını gösterir."
+msgstr "-q, --brief                   yalnızca dosyalar farklı ise göster"
 
-#: src/diff.c:853
-#, fuzzy
+#: src/diff.c:856
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr ""
-"-s  --report-identical-files  iki dosyanın birbirinin aynısı olup "
-"olmadığını\n"
-"                              bildirir."
+"-s, --report-identical-files  iki dosyanın birbirinin aynısı ise göster"
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w SAYI  --width=SAYI  Satır başına en fazla SAYI kadar karakter çıktılar\n"
-"                       (öntanımlı 130)."
+"-c, -C SAYI, --context[=SAYI]   kopyalanan bağlamı SAYI satırınca (öntanımlı "
+"3) bastırır"
 
-#: src/diff.c:855
-#, fuzzy
+#: src/diff.c:858
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
-"-w SAYI  --width=SAYI  Satır başına en fazla SAYI kadar karakter çıktılar\n"
-"                       (öntanımlı 130)."
+"-u, -U SAYI, --unified[=SAYI]   birleşik bağlamın SAYI (öntanımlı 3) "
+"satırınca çıktı gösterir"
 
-#: src/diff.c:856
-#, fuzzy
+#: src/diff.c:859
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Bütün dosyaları metin imişcesine işler."
+msgstr "-e, --ed                      bir ed betiği çıktılar"
 
-#: src/diff.c:857
-#, fuzzy
+#: src/diff.c:860
 msgid "-n, --rcs                     output an RCS format diff"
-msgstr "-n  --rcs  RCS biçeminde diff çıktılar."
+msgstr "-n, --rcs                     RCS biçeminde diff çıktılar"
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  Sürüm bilgisini gösterir."
+msgstr "-y, --side-by-side            iki sütunda çıktı göster"
 
-#: src/diff.c:859
-#, fuzzy
+#: src/diff.c:862
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
-"-w SAYI  --width=SAYI  Satır başına en fazla SAYI kadar karakter çıktılar\n"
-"                       (öntanımlı 130)."
+"-W, --width=SAYI               satır başına en fazla SAYI kadar karakter "
+"çıktılar (öntanımlı 130)"
 
-#: src/diff.c:860
-#, fuzzy
+#: src/diff.c:863
 msgid ""
 "    --left-column             output only the left column of common lines"
-msgstr "-l  --left-column  Ortak satırları yalnızca sol sütunda çıktılar."
+msgstr ""
+"    --left-column             ortak satırları yalnızca sol sütunda çıktılar"
 
-#: src/diff.c:861
-#, fuzzy
+#: src/diff.c:864
 msgid "    --suppress-common-lines   do not output common lines"
-msgstr "-s  --suppress-common-lines  Ortak satırları göstermez."
+msgstr "    --suppress-common-lines   ortak satırlayı gösterme"
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
-msgstr ""
+msgstr "-p, --show-c-function         içinde değişen her C işlevini göster"
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
+"-F, --show-function-line=DÜZİF   DÜZİF ile eşleşen en yakın satırı göster"
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
+"    --label ETİKET             dosya adı yerine ETİKET kullan\n"
+"                                (tekrarlanabilir)"
 
-#: src/diff.c:868
-#, fuzzy
+#: src/diff.c:871
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
-msgstr "-t  --expand-tabs  Çıktıda sekmeleri boşluk haline getirir."
+msgstr "-t, --expand-tabs             çıktıda sekmeleri boşluk haline getir"
 
-#: src/diff.c:869
-#, fuzzy
+#: src/diff.c:872
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
-"-T  --initial-tab  Başlarına bir sekme ilave ederek sekmelerin "
-"hizalanmasını\n"
-"                   sağlar."
+"-T, --initial-tab             başlarına bir sekme ilave ederek sekmelerin "
+"hizalanmasını sağla"
 
-#: src/diff.c:870
-#, fuzzy
+#: src/diff.c:873
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr ""
-"--tabsize=SAYI Sekmeler SAYI sütun genişliğine (öntanımlı 8) ayarlanır."
+"    --tabsize=SAYI             sekmeler SAYI sütun genişliğine (öntanımlı 8) "
+"ayarlanır."
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
+"    --suppress-blank-empty    boş çıktı satırlarından önce boşluk veya "
+"sekmeyi gözardı et"
 
-#: src/diff.c:872
-#, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
-msgstr "-l  --paginate  Çıktıyı `pr' komutundan geçirerek sayfalar."
+#: src/diff.c:875
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
+msgstr ""
+"-l, --paginate                çıktıyı 'pr' komutundan geçirerek sayfala"
 
-#: src/diff.c:874
-#, fuzzy
+#: src/diff.c:877
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr ""
-"-r  --recursive  Çevrimli olarak bulunan bütün alt dizinleri karşılaştırır."
+"-r, --recursive                 çevrimli olarak bulunan bütün alt dizinleri "
+"karşılaştır"
 
-#: src/diff.c:875
-#, fuzzy
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr "    --no-dereference            sembolik bağlantıları takip etme"
+
+#: src/diff.c:879
 msgid "-N, --new-file                  treat absent files as empty"
-msgstr "-N  --new-file  Var olmayan dosyaları boş varsayar."
+msgstr "-N, --new-file                  var olmayan dosyaları boş varsay"
 
-#: src/diff.c:876
-#, fuzzy
+#: src/diff.c:880
 msgid "    --unidirectional-new-file   treat absent first files as empty"
-msgstr "--unidirectional-new-file  Var olmayan birinci dosyayı boş varsayar."
+msgstr "    --unidirectional-new-file   var olmayan birinci dosyayı boş varsay"
 
-#: src/diff.c:877
-#, fuzzy
+#: src/diff.c:881
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
-"--ignore-file-name-case  Dosya isimlerinde büyük/küçük harf farklarını "
-"yoksayar."
+"    --ignore-file-name-case     dosya isimlerinde büyük/küçük harf "
+"farklarını yoksay"
 
-#: src/diff.c:878
-#, fuzzy
+#: src/diff.c:882
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
-"--no-ignore-file-name-case  Dosya isimlerinde büyük/küçük harf farkı gözetir."
+"    --no-ignore-file-name-case  dosya isimlerinde büyük/küçük harf farkını "
+"göz önüne al"
 
-#: src/diff.c:879
-#, fuzzy
+#: src/diff.c:883
 msgid "-x, --exclude=PAT               exclude files that match PAT"
-msgstr "-x KALIP  --exclude=KALIP  KALIP'a uyan dosyaları işleme dahil etmez."
+msgstr ""
+"-x, --exclude=KALIP               KALIP'a uyan dosyaları işleme dahil etme"
 
-#: src/diff.c:880
-#, fuzzy
+#: src/diff.c:884
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
-"-X DOSYA  --exclude-from=DOSYA  DOSYA'da bulunan kalıplara uyan dosyaları\n"
-"                                işlem dışı tutar."
+"-X, --exclude-from=DOSYA         DOSYA'da bulunan kalıplara uyan dosyaları "
+"işlem dışı tut"
 
-#: src/diff.c:881
-#, fuzzy
+#: src/diff.c:885
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
-"-S DOSYA  --starting-file=DOSYA  Dizinleri karşılaştırırken DOSYA'dan başlar."
+"-S, --starting-file=DOSYA        dizinleri karşılaştırırken DOSYA'dan başla"
 
-#: src/diff.c:882
-#, fuzzy
+#: src/diff.c:886
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
 "                                  FILE1 can be a directory"
 msgstr ""
-"--from-file=DOSYA1 DOSYA1'i bütün işlenenlerle karşılaştırır. DOSYA1 dizin\n"
-"                   olabilir."
+"    --from-file=DOSYA1           DOSYA1'i bütün işlenenlerle karşılaştır;\n"
+"                                  DOSYA1 bir dizin olabilir"
 
-#: src/diff.c:884
-#, fuzzy
+#: src/diff.c:888
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
 "                                  FILE2 can be a directory"
 msgstr ""
-"--to-file=DOSYA2  Bütün işlenenleri DOSYA2 ile karşılaştırı. DOSYA2 dizin\n"
-"                  olabilir."
+"    --to-file=DOSYA2           DOSYA2'yi bütün işlenenlerle karşılaştır;\n"
+"                                  DOSYA2 bir dizin olabilir"
 
-#: src/diff.c:887
-#, fuzzy
+#: src/diff.c:891
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr ""
-"-i --ignore-case  Dosya içeriğinde büyük/küçük harf farklarını yoksayar."
+"-i, --ignore-case               dosya içeriğinde büyük/küçük harf farklarını "
+"yoksay"
 
-#: src/diff.c:888
-#, fuzzy
+#: src/diff.c:892
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
-"-E  --ignore-tab-expansion  Sekmelerin açılmasından doğan farkları yoksayar."
+"-E, --ignore-tab-expansion      sekmelerin açılmasından doğan farkları yoksay"
 
-#: src/diff.c:889
-#, fuzzy
+#: src/diff.c:893
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
-msgstr "-w  --ignore-all-space  Bütün boşlukları yoksayar."
+msgstr "-Z, --ignore-trailing-space     bütün satır sonu boşluklarını yoksay"
 
-#: src/diff.c:890
-#, fuzzy
+#: src/diff.c:894
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr ""
-"-b  --ignore-space-change  Boşluk miktarındaki değişiklikleri yoksayar."
+"-b, --ignore-space-change       boşluk miktarındaki değişiklikleri yoksay"
 
-#: src/diff.c:891
-#, fuzzy
+#: src/diff.c:895
 msgid "-w, --ignore-all-space          ignore all white space"
-msgstr "-w  --ignore-all-space  Bütün boşlukları yoksayar."
+msgstr "-w, --ignore-all-space          bütün boşlukları yoksay"
 
-#: src/diff.c:892
-#, fuzzy
+#: src/diff.c:896
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr ""
-"-B  --ignore-blank-lines  Satırları boş olan değişiklikleri dikkate almaz."
+"-B, --ignore-blank-lines        satırları boş olan değişiklikleri dikkate "
+"alma"
 
-#: src/diff.c:893 src/sdiff.c:178
-#, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+#: src/diff.c:897
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
-"-I DÜZİF  --ignore-matching-lines=DÜZİF  Satırları DÜZİF kalıbına uyan\n"
-"                                         farkları yok sayar."
+"-I, --ignore-matching-lines=DÜZİF  satırları DÜZİF kalıbına uyan farkları "
+"yok say"
 
-#: src/diff.c:895
-#, fuzzy
+#: src/diff.c:899
 msgid "-a, --text                      treat all files as text"
-msgstr "-a  --text  Bütün dosyaları metin imişcesine işler."
+msgstr "-a, --text                      bütün dosyaları metin olarak işle"
 
-#: src/diff.c:896
-#, fuzzy
+#: src/diff.c:900
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
-msgstr "--strip-trailing-cr  Girdiden en sonda sarkan satır başını soyar."
+msgstr ""
+"    --strip-trailing-cr         girdiden en sonda sarkan satır başını soy"
 
-#: src/diff.c:898
-#, fuzzy
+#: src/diff.c:902
 msgid "    --binary                    read and write data in binary mode"
-msgstr "--binary  Datayı ikilik kipte yazar ve okur."
+msgstr "    --binary                    veriyi ikilik kipte yaz ve oku"
 
-#: src/diff.c:901
-#, fuzzy
+#: src/diff.c:905
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
-"-D İSİM  --ifdef=İSİM  #ifdef İSİM farklarını gösteren harmanlanmış\n"
-"                       dosya çıktılar."
+"-D, --ifdef=İSİM                '#ifdef İSİM' farklarını gösteren "
+"harmanlanmış dosya çıktıla."
 
-#: src/diff.c:902
-#, fuzzy
+#: src/diff.c:906
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
-"--GTÜR-group-format=GBÇ  Benzer, fakat GTÜR biçeminde girdi grupları\n"
-"                         GBÇ ile biçemlendirilir."
+"    --GTYPE-group-format=GFMT   GTYPE girdi gruplarını GFMT ile biçimlendir"
 
-#: src/diff.c:903
-#, fuzzy
+#: src/diff.c:907
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
-"--line-format=LBÇ  Benzer, fakat bütün girdi satırları LBÇ ile "
-"biçemlendirilir."
+"    --line-format=LFMT          tüm girdi satırlarını LFMT ile biçimlendir"
 
-#: src/diff.c:904
-#, fuzzy
+#: src/diff.c:908
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
-"--LTÜR-line-format=LBÇ  Benzer, fakat LTÜR girdi satırları \n"
-"                        LBÇ ile biçemlendirilir."
+"    --LTYPE-line-format=LFMT    tüm LTYPE girdi satırlarını LFMT ile "
+"biçimlendir"
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
+"  Bu biçimlendirme seçenekleri çıktı veya fark üzerinde iyileştirilmiş fine-"
+"grained control over the output\n"
+"    tanecik denetimi sağlar. -D/--ifdef genelleştirmesi yapar."
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
-"  LTÜR, `old' (eski), `new' (yeni) veya `unchanged' (değişmemiş) olabilir. \n"
-"  GTÜR, LTÜR veya `changed' (değişmiş) olabilir."
+"  LTYPE 'old', 'new' veya 'unchanged' olabilir.  GTYPE, LTYPE veya "
+"'changed'dir."
 
-#: src/diff.c:908
-#, fuzzy
+#: src/diff.c:912
 msgid ""
 "  GFMT (only) may contain:\n"
 "    %<  lines from FILE1\n"
@@ -992,7 +982,7 @@ msgid ""
 "        M  L+1\n"
 "    %(A=B?T:E)  if A equals B then T else E"
 msgstr ""
-"  G aşağıdakileri içerebilir:\n"
+"  GFMT (sadece) aşağıdakileri içerebilir:\n"
 "    %<  DOSYA1'den satırlar\n"
 "    %>  DOSYA2'den satırlar\n"
 "    %=  DOSYA1 ve DOSYA2'de ortak olan satırlar\n"
@@ -1003,24 +993,23 @@ msgstr ""
 "        L  son satır numarası\n"
 "        N  satır sayısı = L-F+1\n"
 "        E  F-1\n"
-"        M  L+1"
+"        M  L+1\n"
+"    %(A=B?T:E)  eğer A eşittir B ise T değilse E"
 
-#: src/diff.c:920
-#, fuzzy
+#: src/diff.c:924
 msgid ""
 "  LFMT (only) may contain:\n"
 "    %L  contents of line\n"
 "    %l  contents of line, excluding any trailing newline\n"
 "    %[-][WIDTH][.[PREC]]{doxX}n  printf-style spec for input line number"
 msgstr ""
-"  L aşağıdakileri içerebilir:\n"
+"  LFMT (sadece) aşağıdakileri içerebilir:\n"
 "    %L  satırın içeriği\n"
 "    %l  sonlayan yenisatır karakteri hariç, satırın içeriği\n"
-"    %[-][GENİŞLİK][.[KESİNLİK]]{doxX}n  girdi satır sayısı için printf\n"
-"     tarzı biçem"
+"    %[-][GENİŞLİK][.[KESİNLİK]]{doxX}n  girdi satır sayısı için printf tarzı "
+"biçem"
 
-#: src/diff.c:924
-#, fuzzy
+#: src/diff.c:928
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
 "    %%  %\n"
@@ -1028,101 +1017,101 @@ msgid ""
 "    %c'\\OOO'  the character with octal code OOO\n"
 "    C    the character C (other characters represent themselves)"
 msgstr ""
-"  GBÇ veya LBÇ aşağıdakileri içerebilir:\n"
+"  GFMT ve LFMT aşağıdakileri içerebilir:\n"
 "    %%  %\n"
 "    %c'C'  tekli karakter C\n"
-"    %c'\\OOO'  Sekizlik kodu OOO olan karakter"
+"    %c'\\OOO'  Sekizlik kodu OOO olan karakter\n"
+"    C    C karakteri (diğer karakterler kendilerini temsil eder)"
 
-#: src/diff.c:930
-#, fuzzy
+#: src/diff.c:934
 msgid "-d, --minimal            try hard to find a smaller set of changes"
-msgstr "-d  --minimal  Daha küçük bir fark kümesi bulmaya çalışır."
+msgstr "-d, --minimal            daha küçük bir fark kümesi bulmaya çalış"
 
-#: src/diff.c:931
-#, fuzzy
+#: src/diff.c:935
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
-msgstr "--horizon-lines=SAYI  ortak ilkek ve soneklerin SAYI satırını tutar."
+msgstr "    --horizon-lines=SAYI  ortak ön ek ve son eklerin SAYI satırını tut"
 
-#: src/diff.c:932
-#, fuzzy
+#: src/diff.c:936
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr ""
-"-H  --speed-large-files  Büyük dosyalar ve çok sayıda dağınık küçük \n"
-"                         farklar olduğunu farzeder."
+"    --speed-large-files  büyük dosyalar ve çok sayıda dağınık küçük farklar "
+"olduğunu varsay"
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
-msgstr ""
+msgstr "    --help                 bu yardım metnini göster ve çık"
 
-#: src/diff.c:935
-#, fuzzy
+#: src/diff.c:939
 msgid "-v, --version            output version information and exit"
-msgstr "-v  --version  Sürüm bilgisini gösterir."
+msgstr "-v, --version            sürüm bilgisini göster ve çık"
 
-#: src/diff.c:937
+#: src/diff.c:941
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
-"DOSYAlar: `DOSYA1 DOSYA2' veya `DİZİN1 DİZİN2' veya `DİZİN DOSYA...' \n"
-"          veya `DOSYA...DİZİN';"
+"DOSYAlar: `DOSYA1 DOSYA2' veya `DİZİN1 DİZİN2' veya `DİZİN DOSYA...' veya "
+"`DOSYA...DİZİN' olabilir."
 
-#: src/diff.c:938
-#, fuzzy
+#: src/diff.c:942
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
-"eğer --from-file veya --to-file kullanılmışsa, DOSYAlar üzerinde \n"
-"kısıtlama yoktur."
+"Eğer --from-file veya --to-file kullanılmışsa, DOSYAlar üzerinde kısıtlama "
+"yoktur."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+msgid "If a FILE is '-', read standard input."
 msgstr "Eğer bir DOSYA `-' ise, standart girdi okunur."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Kullanım: %s [SEÇENEK]... DOSYAlar\n"
 
-#: src/diff.c:950
-#, fuzzy
+#: src/diff.c:954
 msgid "Compare FILES line by line."
-msgstr "Dosyaları satır satır karşılaştırır."
+msgstr "DOSYAları satır satır karşılaştırır."
 
-#: src/diff.c:984
+#: src/diff.c:988
 #, c-format
-msgid "conflicting %s option value `%s'"
-msgstr "çelişkili %s seçeneği değeri: `%s'"
+msgid "conflicting %s option value '%s'"
+msgstr "çelişkili %s seçeneği değeri: '%s'"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "çelişkili çıktı tarz seçenekleri"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Yalnızca %s'da: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
-msgstr "`-', bir dizinle karşılaştırılamaz"
+#: src/diff.c:1192
+msgid "cannot compare '-' to a directory"
+msgstr "'-', bir dizinle karşılaştırılamaz"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "-D seçenek dizinler için kullanılamaz."
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Ortak alt dizinler: %s ve %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "%s dosyası, bir %s, halbuki %s dosyası bir %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "%s ve %s sembolik bağlantıları birbirinden farklı\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "%s ve %s dosyaları birbirinin aynı\n"
@@ -1130,7 +1119,7 @@ msgstr "%s ve %s dosyaları birbirinin aynı\n"
 #. This is a proper name. See the gettext manual, section Names.
 #: src/diff3.c:41
 msgid "Randy Smith"
-msgstr ""
+msgstr "Randy Smith"
 
 #: src/diff3.c:313
 #, c-format
@@ -1138,108 +1127,103 @@ msgid "incompatible options"
 msgstr "uyumsuz seçenekler"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
-msgstr "`-' birden fazla girdi dosyası için belirtilmiş"
+msgid "'-' specified for more than one input file"
+msgstr "'-' birden fazla girdi dosyası için belirtilmiş"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "okuma başarısız oldu"
 
 #: src/diff3.c:428
-#, fuzzy
 msgid "-A, --show-all              output all changes, bracketing conflicts"
 msgstr ""
-"-A  --show-all  Bütün değişiklikleri çıktılar, ihtilafları köşeli parantez\n"
-"                içine alır."
+"-A, --show-all              bütün değişiklikleri çıktıla, çakışmaları köşeli "
+"parantez içine al"
 
 #: src/diff3.c:430
-#, fuzzy
 msgid ""
 "-e, --ed                    output ed script incorporating changes\n"
 "                                from OLDFILE to YOURFILE into MYFILE"
 msgstr ""
-"-e  --ed  ESKİDOSYA ile SİZİNDOSYA arasındaki harmanlanmamış farkları\n"
-"          BENİMDOSYA'ya çıktılar."
+"-e, --ed                    ESKİDOSYA ile SİZİNDOSYA arasındaki "
+"harmanlanmamış\n"
+"                                ed betiklerini BENİMDOSYA'ya çıktıla"
 
 #: src/diff3.c:432
-#, fuzzy
 msgid "-E, --show-overlap          like -e, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap  Harmanlanmamış değişiklikleri çıktılar, ihtilafları \n"
-"                    köşeli parantez içinde gösterir."
+"-E, --show-overlap          -e'ye benzer, fakat çakışmaları parantez içine "
+"alır"
 
 #: src/diff3.c:433
-#, fuzzy
 msgid ""
 "-3, --easy-only             like -e, but incorporate only nonoverlapping "
 "changes"
 msgstr ""
-"-3  --easy-only  Harmanlanmamış, tekrarlanmayan değişiklikleri çıktılar."
+"-3, --easy-only             -e gibi, fakat sadece örtüşmeyen değişiklikleri "
+"birleştir"
 
 #: src/diff3.c:434
-#, fuzzy
 msgid ""
 "-x, --overlap-only          like -e, but incorporate only overlapping changes"
-msgstr "-x  --overlap-only  Birbiri ile örtüşen farkları gösterir."
+msgstr ""
+"-x, --overlap-only          -e gibi, fakat sadece örtüşen değişiklikleri "
+"birleştir"
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap  Harmanlanmamış değişiklikleri çıktılar, ihtilafları \n"
-"                    köşeli parantez içinde gösterir."
+"-X                          -x gibi ancak çakışmaları parantez içine alır"
 
 #: src/diff3.c:436
-#, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
-msgstr "-i  Ed betiklerinin sonuna `w' ve `q' komutlarını ekler."
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
+msgstr ""
+"-i                          ed betiklerinin sonuna `w' ve `q' komutlarını "
+"ekle"
 
 #: src/diff3.c:438
 msgid ""
 "-m, --merge                 output actual merged file, according to\n"
 "                                -A if no other options are given"
 msgstr ""
+"-m, --merge                 asıl birleştirilmiş dosyayı, başka bir seçenek\n"
+"                                verilmediyse -A ya göre gösterir"
 
 #: src/diff3.c:441
-#, fuzzy
 msgid "-a, --text                  treat all files as text"
-msgstr "-a  --text  Bütün dosyaları metin imişcesine işler."
+msgstr "-a, --text                  bütün dosyaları metin olarak işle"
 
 #: src/diff3.c:442
-#, fuzzy
 msgid "    --strip-trailing-cr     strip trailing carriage return on input"
-msgstr "--strip-trailing-cr  Girdiden en sonda sarkan satır başını soyar."
+msgstr "    --strip-trailing-cr     girdiden en sonda sarkan satır başını soy"
 
 #: src/diff3.c:443
-#, fuzzy
 msgid "-T, --initial-tab           make tabs line up by prepending a tab"
 msgstr ""
-"-T  --initial-tab  Başlarına bir sekme ilave ederek sekmelerin "
-"hizalanmasını\n"
-"                   sağlar."
+"-T, --initial-tab           başlarına bir sekme ilave ederek sekmelerin "
+"hizalanmasını sağla"
 
 #: src/diff3.c:444
-#, fuzzy
 msgid "    --diff-program=PROGRAM  use PROGRAM to compare files"
 msgstr ""
-"--diff-program=YAZILIM  Dosyaları karşılaştırmak için YAZILIM'ı kullanır."
+"    --diff-program=YAZILIM  dosyaları karşılaştırmak için YAZILIM'ı kullan"
 
 #: src/diff3.c:445
 msgid ""
 "-L, --label=LABEL           use LABEL instead of file name\n"
 "                                (can be repeated up to three times)"
 msgstr ""
+"-L, --label=ETİKET           dosya adı yerine ETİKET kullan\n"
+"                                (üç defaya kadar tekrarlanabilir)"
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Bütün dosyaları metin imişcesine işler."
+msgstr "    --help                 bu yardım metnini göster ve çık"
 
 #: src/diff3.c:449
-#, fuzzy
 msgid "-v, --version               output version information and exit"
-msgstr "-v  --version  Sürüm bilgisini gösterir."
+msgstr "-v, --version               sürüm bilgisini göster ve çık"
 
 #: src/diff3.c:458
 #, c-format
@@ -1263,6 +1247,15 @@ msgid ""
 "and output the actual merged file.  For unusual input, this is more\n"
 "robust than using ed.\n"
 msgstr ""
+"\n"
+"Öntanımlı çıktı biçimi, değişikliklerin kişi-okunabilir gösterimidir.\n"
+"\n"
+"-e, -E, -x, -X (ve ilgili uzun) seçenekler, öntanımlı yerine bir ed betiği\n"
+"çıktı vermesine sebep olurlar.\n"
+"\n"
+"Son olarak, -m (--merge) seçeneği, diff3'ün dahili olarak birleştirme\n"
+"yapmasına neden olur ve asıl birleştirilen dosya çıkarılır. Alışılmadık\n"
+"girdiler için, bu ed kullanımından daha dayanıklıdır.\n"
 
 #: src/diff3.c:482
 msgid "Exit status is 0 if successful, 1 if conflicts, 2 if trouble."
@@ -1277,7 +1270,7 @@ msgstr "iç hata: diff blokları biçemlemesinde hata oluştu"
 #: src/diff3.c:968
 #, c-format
 msgid "%s: diff failed: "
-msgstr "%s: diff başarısız oldu:"
+msgstr "%s: diff başarısız oldu: "
 
 #: src/diff3.c:990
 msgid "internal error: invalid diff type in process_diff"
@@ -1287,175 +1280,163 @@ msgstr "iç hata: process_diff işlevi içinde geçersiz diff türü"
 msgid "invalid diff format; invalid change separator"
 msgstr "geçersiz diff biçemi; geçersiz fark ayracı"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "geçersiz diff biçemi; tamamlanmamış son satır"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
 #, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "alt yazılım `%s' çalıştırılamadı"
+msgid "subsidiary program '%s' could not be invoked"
+msgstr "alt yazılım '%s' çalıştırılamadı"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "geçersiz diff biçemi; geçersiz satır başı karakterleri"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "iç hata: çıktıya geçersiz diff türü geçirildi"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "girdi dosyası küçüldü"
 
 #: src/dir.c:158
 #, c-format
-msgid "cannot compare file names `%s' and `%s'"
-msgstr "dosya isimleri `%s' ve `%s' karşılaştırılamıyor"
+msgid "cannot compare file names '%s' and '%s'"
+msgstr "dosya isimleri '%s' ve '%s' karşılaştırılamıyor"
 
 #: src/dir.c:209
 #, c-format
 msgid "%s: recursive directory loop"
-msgstr ""
+msgstr "%s: iç dizin döngüsü"
 
 #. This is a proper name. See the gettext manual, section Names.
 #: src/sdiff.c:42
 msgid "Thomas Lord"
-msgstr ""
+msgstr "Thomas Lord"
 
-#: src/sdiff.c:170
-#, fuzzy
+#: src/sdiff.c:173
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
-"-o DOSYA  --output=DOSYA  Interaktif olarak çalışır, çıktıyı DOSYA'ya\n"
-"                          yönlendirir."
+"-o, --output=DOSYA            etkileşimli olarak çalış, çıktıyı DOSYA'ya "
+"yönlendir"
 
-#: src/sdiff.c:172
-#, fuzzy
+#: src/sdiff.c:175
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
-msgstr "-i  --ignore-case  Büyük harf/küçük harf farkı gözetmez."
+msgstr "-i, --ignore-case            büyük harf/küçük harf farkı gözetme"
 
-#: src/sdiff.c:173
-#, fuzzy
+#: src/sdiff.c:176
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
-"-E  --ignore-tab-expansion  Sekmelerin açılmasından doğan farkları yoksayar."
+"-E, --ignore-tab-expansion   sekmelerin açılmasından doğan farkları yoksay"
 
-#: src/sdiff.c:174
-#, fuzzy
+#: src/sdiff.c:177
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
-msgstr "-w  --ignore-all-space  Bütün boşlukları yoksayar."
+msgstr "-Z, --ignore-trailing-space  bütün satır sonu boşluklarını yoksay"
 
-#: src/sdiff.c:175
-#, fuzzy
+#: src/sdiff.c:178
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
-msgstr ""
-"-b  --ignore-space-change  Boşluk miktarındaki değişiklikleri yoksayar."
+msgstr "-b, --ignore-space-change    boşluk miktarındaki değişiklikleri yoksay"
 
-#: src/sdiff.c:176
-#, fuzzy
+#: src/sdiff.c:179
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  Bütün boşlukları yoksayar."
+msgstr "-W, --ignore-all-space       bütün boşlukları yoksay"
 
-#: src/sdiff.c:177
-#, fuzzy
+#: src/sdiff.c:180
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr ""
-"-B  --ignore-blank-lines  Satırları boş olan değişiklikleri dikkate almaz."
+"-B, --ignore-blank-lines     satırları boş olan değişiklikleri dikkate alma"
 
-#: src/sdiff.c:179
-#, fuzzy
+#: src/sdiff.c:181
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I, --ignore-matching-lines=DÜZİF  satırları DÜZİF kalıbına uyan farkları "
+"yoksay"
+
+#: src/sdiff.c:182
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
-msgstr "--strip-trailing-cr  Girdiden en sonda sarkan satır başını soyar."
+msgstr ""
+"    --strip-trailing-cr         girdiden en sonda sarkan satır başını soy"
 
-#: src/sdiff.c:180
-#, fuzzy
+#: src/sdiff.c:183
 msgid "-a, --text                   treat all files as text"
-msgstr "-a  --text  Bütün dosyaları metin imişcesine işler."
+msgstr "-a, --text                  bütün dosyaları metin olarak işle"
 
-#: src/sdiff.c:182
-#, fuzzy
+#: src/sdiff.c:185
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
-"-w SAYI  --width=SAYI  Satır başına en fazla SAYI kadar karakter çıktılar\n"
-"                       (öntanımlı 130)."
+"-W, --width=SAYI               satır başına en fazla SAYI kadar karakter "
+"çıktılar (öntanımlı 130)"
 
-#: src/sdiff.c:183
-#, fuzzy
+#: src/sdiff.c:186
 msgid ""
 "-l, --left-column            output only the left column of common lines"
-msgstr "-l  --left-column  Ortak satırları yalnızca sol sütunda çıktılar."
+msgstr ""
+"-W, --width=SAYI               satır başına en fazla SAYI kadar karakter "
+"çıktılar (öntanımlı 130)"
 
-#: src/sdiff.c:184
-#, fuzzy
+#: src/sdiff.c:187
 msgid "-s, --suppress-common-lines  do not output common lines"
-msgstr "-s  --suppress-common-lines  Ortak satırları göstermez."
+msgstr "-s, --suppress-common-lines  ortak satırlayı gösterme"
 
-#: src/sdiff.c:186
-#, fuzzy
+#: src/sdiff.c:189
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
-msgstr "-t  --expand-tabs  Çıktıda sekmeleri boşluk haline getirir."
+msgstr "-t, --expand-tabs             çıktıda sekmeleri boşluk haline getir"
 
-#: src/sdiff.c:187
-#, fuzzy
+#: src/sdiff.c:190
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr ""
-"--tabsize=SAYI Sekmeler SAYI sütun genişliğine (öntanımlı 8) ayarlanır."
+"    --tabsize=SAYI            sekmeleri SAYI sütun genişliğine (öntanımlı 8) "
+"ayarla"
 
-#: src/sdiff.c:189
-#, fuzzy
+#: src/sdiff.c:192
 msgid "-d, --minimal                try hard to find a smaller set of changes"
-msgstr "-d  --minimal  Daha küçük bir fark kümesi bulmaya çalışır."
+msgstr "-d, --minimal            daha küçük bir fark kümesi bulmaya çalış"
 
-#: src/sdiff.c:190
-#, fuzzy
+#: src/sdiff.c:193
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr ""
-"-H  --speed-large-files  Büyük dosyalar ve çok sayıda dağınık küçük \n"
-"                         farklar olduğunu farzeder."
+"-H, --speed-large-files      büyük dosyalar ve çok sayıda dağınık küçük "
+"farklar olduğunu varsay"
 
-#: src/sdiff.c:191
-#, fuzzy
+#: src/sdiff.c:194
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr ""
-"--diff-program=YAZILIM  Dosyaları karşılaştırmak için YAZILIM'ı kullanır."
+"    --diff-program=YAZILIM  dosyaları karşılaştırmak için YAZILIM'ı kullan"
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Bütün dosyaları metin imişcesine işler."
+msgstr "    --help                 bu yardım metnini göster ve çık"
 
-#: src/sdiff.c:194
-#, fuzzy
+#: src/sdiff.c:197
 msgid "-v, --version                output version information and exit"
-msgstr "-v  --version  Sürüm bilgisini gösterir."
+msgstr "-v, --version            sürüm bilgisini göster ve çık"
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Kullanım: %s [SEÇENEK]... DOSYA1 DOSYA2\n"
 
-#: src/sdiff.c:205
-#, fuzzy
+#: src/sdiff.c:208
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
-msgstr "Dosya farklarının yanyana katıştırılması."
+msgstr "DOSYA1 vey DOSYA2 arasındaki farkları yan yana birleştir."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "interaktif olarak standart girdi harmanlanamaz"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "karşılaştırılacak her iki dosya da dizin"
 
-#: src/sdiff.c:827
-#, fuzzy
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
@@ -1472,13 +1453,27 @@ msgstr ""
 "eb:\tDüzenler, sonra iki tarafı da kullanır.\n"
 "el:\tDüzenler, sonra sol tarafı kullanır.\n"
 "er:\tDüzenler, sonra sağ tarafı kullanır.\n"
-"e:\tYeni bir sürüm düzenler.\n"
-"l:\tSol tarafı kullanır.\n"
-"r:\tSağ tarafı kullanır.\n"
+"e:\tYeni bir sürüm düzenler, iki sürümü de ihmal eder.\n"
+"l veya 1:\tSol tarafı kullanır.\n"
+"r veya 2:\tSağ tarafı kullanır.\n"
 "s:\tOrtak satırları sessizce dahil eder.\n"
 "v:\tOrtak satırları bilgi vererek dahil eder.\n"
 "q:\tÇıkar.\n"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: kuraldışı seçenek -- %c\n"
+
+#~ msgid ""
+#~ "This is free software; see the source for copying conditions.  There is "
+#~ "NO\n"
+#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
+#~ "PURPOSE.\n"
+#~ msgstr ""
+#~ "Bu, özgür yazılımdır; kaynak koduna bakarak kopyalama şartlarını\n"
+#~ "görebilirsiniz. SATILABİLİRLİĞİ veya HERHANGİ BİR AMACA UYGUNLUĞU için "
+#~ "dahi\n"
+#~ "GARANTİ YOKTUR.\n"
+
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i ATLA1:ATLA2  --ignore-initial=ATLA1:ATLA2"
 
@@ -1487,53 +1482,26 @@ msgstr ""
 #~ "-s  --quiet  --silent  Hiç bir şey çıktılamaz, yalnızca çıkış durumunu "
 #~ "bildirir."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  Sürüm bilgisini gösterir."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  Bu yardımı gösterir."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "Üç dosyayı satır satır karşılaştırır."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr ""
-#~ "-E  --ignore-tab-expansion  Sekmelerin açılmasından doğan farkları "
-#~ "yoksayar."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr ""
-#~ "-b  --ignore-space-change  Boşluk miktarındaki değişiklikleri yoksayar."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Bütün boşlukları yok sayar."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
 #~ msgstr ""
-#~ "-B  --ignore-blank-lines  Satırları boş olan değişiklikleri dikkate almaz."
+#~ "Yazılım hatalarını <bug-gnu-utils@gnu.org> adresine, \n"
+#~ "çeviri hatalarını <gnu-tr@belgeler.org> adresine bildirin."
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr "--strip-trailing-cr  Girdiden en sonda sarkan satır başını soyar."
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "`-%ld' seçeneği kullanımdan kalktı; `-%c %ld' kullanın"
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Bütün dosyaları metin imişcesine işler."
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "`-%ld' seçeneği kullanımdan kalktı; kullanmayın"
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1549,10 +1517,6 @@ msgstr ""
 #~ "uygun olan\n"
 #~ "                               en son satırı gösterir."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Bir ed betiği çıktılar."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1566,39 +1530,12 @@ msgstr ""
 #~ "  --left-column     Ortak satırlarda yalnız sol sütunu gösterir.\n"
 #~ "  --suppress-common-lines  Ortak satırları göstermez."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs  Çıktıda sekmeleri boşluk haline getirir."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr ""
-#~ "-T  --initial-tab  Başlarına bir sekme ilave ederek sekmelerin "
-#~ "hizalanmasını\n"
-#~ "                   sağlar."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr ""
-#~ "--tabsize=SAYI Sekmeler SAYI sütun genişliğine (öntanımlı 8) ayarlanır."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  Daha küçük bir fark kümesi bulmaya çalışır."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files  Büyük dosyalar ve çok sayıda dağınık küçük \n"
 #~ "                         farklar olduğunu farzeder."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr ""
-#~ "-A  --show-all  Bütün değişiklikleri çıktılar, ihtilafları köşeli "
-#~ "parantez\n"
-#~ "                içine alır."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr ""
 #~ "-X  Birbiriyle örtüşen farkları köşeli parantez içinde göstererek "
@@ -1611,83 +1548,6 @@ msgstr ""
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L ETİKET  --label=ETİKET  Dosya adı yerine ETİKET'i kullanır."
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr ""
-#~ "--diff-program=YAZILIM  Dosyaları karşılaştırmak için YAZILIM'ı kullanır."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  Bütün boşlukları yok sayar."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w SAYI  --width=SAYI  Satır başına en fazla SAYI kadar karakter "
-#~ "çıktılar\n"
-#~ "                       (öntanımlı 130)."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "-l  --left-column  Ortak satırları yalnızca sol sütunda çıktılar."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  Büyük dosyalar ve çok sayıda dağınık küçük \n"
-#~ "                         farklar olduğunu farzeder."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "okuma başarısız oldu"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "yazma başarısız oldu"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "okuma başarısız oldu"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "okuma başarısız oldu"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "yazma başarısız oldu"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "yazma başarısız oldu"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: kuraldışı seçenek -- %c\n"
-
-#~ msgid ""
-#~ "This is free software; see the source for copying conditions.  There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-#~ msgstr ""
-#~ "Bu, özgür yazılımdır; kaynak koduna bakarak kopyalama şartlarını\n"
-#~ "görebilirsiniz. SATILABİLİRLİĞİ veya HERHANGİ BİR AMACA UYGUNLUĞU için "
-#~ "dahi\n"
-#~ "GARANTİ YOKTUR.\n"
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr ""
-#~ "Yazılım hatalarını <bug-gnu-utils@gnu.org> adresine, \n"
-#~ "çeviri hatalarını <gnu-tr@belgeler.org> adresine bildirin."
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "`-%ld' seçeneği kullanımdan kalktı; `-%c %ld' kullanın"
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "`-%ld' seçeneği kullanımdan kalktı; kullanmayın"
-
 #~ msgid "subsidiary program `%s' not found"
 #~ msgstr "alt yazılım `%s' bulunamadı"
 
index 92b1fe2..29abcbd 100644 (file)
Binary files a/po/uk.gmo and b/po/uk.gmo differ
index 05ebf65..576e6a6 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -3,20 +3,20 @@
 # This file is distributed under the same license as the diffutils package.
 #
 # Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2006.
-# Yuri Chornoivan <yurchor@ukr.net>, 2011.
+# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2012.
 msgid ""
 msgstr ""
-"Project-Id-Version: diffutils 3.1\n"
+"Project-Id-Version: diffutils 3.3-pre1\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
-"PO-Revision-Date: 2011-08-13 18:45+0300\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
+"PO-Revision-Date: 2012-10-31 08:58+0200\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
 "Language: uk\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.2\n"
+"X-Generator: Lokalize 1.5\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
 #: lib/c-stack.c:204 lib/c-stack.c:297
@@ -27,7 +27,7 @@ msgstr "помилка програми"
 msgid "stack overflow"
 msgstr "переповнення стеку"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Невідома системна помилка"
 
@@ -140,100 +140,102 @@ msgstr "%s: до параметра «-W %s» слід додати аргуме
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr "`"
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr "'"
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Успішно"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "Немає відповідностей"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Неправильний регулярний вираз"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Некоректний символ для сортування"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Неправильна назва класу символу"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "Зворотна коса риска стоїть останньою"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Неправильне посилання"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "Непарна [ чи [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "Непарна ( чи \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "Непарна \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "Неправильний вміст \\{\\}"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "Неправильна нижня межа"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "Оперативну пам'ять вичерпано"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Неправильний попередній регулярний вираз"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Передчасний кінець регулярного виразу"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Регулярний вираз надто великий"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "Непарна ) чи \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Регулярний вираз не було вказано раніше"
 
@@ -264,18 +266,18 @@ msgstr "не вдалося повторно відкрити %s у режимі
 
 #: lib/xstrtol-error.c:63
 #, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "некоректний аргумент %s%s — «%s»"
 
 #: lib/xstrtol-error.c:68
 #, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "некоректний суфікс у аргументі %s%s: «%s»"
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr "некоректний суфікс у аргументі %s%s «%s»"
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
-msgstr "Аргумент %s%s «%s» є занадто великим"
+msgid "%s%s argument '%s' too large"
+msgstr "%s%s, аргумент «%s» є занадто об'ємним"
 
 #: lib/version-etc.c:74
 #, c-format
@@ -453,7 +455,7 @@ msgstr ""
 "Загальна довідка з програмного забезпечення GNU: <http://www.gnu.org/gethelp/"
 ">\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Файли %s та %s відрізняються\n"
@@ -463,7 +465,7 @@ msgstr "Файли %s та %s відрізняються\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "Двійкові файли %s та %s відрізняються\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Наприкінці файлу немає нового рядка"
 
@@ -477,29 +479,29 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
 #, c-format
-msgid "Try `%s --help' for more information."
-msgstr "Спробуйте `%s --help' для отримання докладнішого опису."
+msgid "Try '%s --help' for more information."
+msgstr "Спробуйте «%s --help» для отримання докладнішого опису."
 
 #: src/cmp.c:137
 #, c-format
-msgid "invalid --ignore-initial value `%s'"
-msgstr "неприпустиме значення --ignore-initial `%s'"
+msgid "invalid --ignore-initial value '%s'"
+msgstr "неприпустиме значення --ignore-initial «%s»"
 
 #: src/cmp.c:147
 #, c-format
 msgid "options -l and -s are incompatible"
 msgstr "параметри -l та -s несумісні"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "запис невдалий"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "стандартний вивід"
 
@@ -564,7 +566,7 @@ msgstr ""
 "Додаткові аргументи Н1 та Н2 визначають кількість байтів, які слід\n"
 "пропустити на початку кожного файла (типово байти не пропускаються)."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -582,11 +584,12 @@ msgstr ""
 "GB 1,000,000,000, G 1,073,741,824, і так далі для T, P, E, Z, Y."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr ""
-"Якщо ФАЙЛ не вказаний чи вказаний як `-', читається стандартний потік вводу."
+"Якщо ФАЙЛ не вказано або вказано як «-», дані буде прочитано зі стандартного "
+"потоку введення."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
 "Код завершення дорівнює 0, якщо вхідні файли ідентичні, 1 -- якщо\n"
@@ -594,18 +597,18 @@ msgstr ""
 
 #: src/cmp.c:240
 #, c-format
-msgid "invalid --bytes value `%s'"
-msgstr "непÑ\80ипÑ\83Ñ\81Ñ\82име Ð·Ð½Ð°Ñ\87еннÑ\8f --bytes `%s'"
+msgid "invalid --bytes value '%s'"
+msgstr "некоÑ\80екÑ\82не Ð·Ð½Ð°Ñ\87еннÑ\8f --bytes Â«%s»"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
 #, c-format
-msgid "missing operand after `%s'"
-msgstr "пропущено операнд після `%s'"
+msgid "missing operand after '%s'"
+msgstr "пропущено операнд після «%s»"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
 #, c-format
-msgid "extra operand `%s'"
-msgstr "зайвий операнд `%s'"
+msgid "extra operand '%s'"
+msgstr "зайвий операнд «%s»"
 
 #: src/cmp.c:491
 #, c-format
@@ -623,143 +626,143 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp: кінець файлу у %s\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr "Paul Eggert"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr "Mike Haertel"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr "David Hayes"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr "Richard Stallman"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr "Len Tower"
 
-#: src/diff.c:340
+#: src/diff.c:339
 #, c-format
-msgid "invalid context length `%s'"
-msgstr "непÑ\80ипÑ\83Ñ\81Ñ\82има Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° ÐºÐ¾Ð½Ñ\82екÑ\81Ñ\82Ñ\83 `%s'"
+msgid "invalid context length '%s'"
+msgstr "некоÑ\80екÑ\82на Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° ÐºÐ¾Ð½Ñ\82екÑ\81Ñ\82Ñ\83 Â«%s»"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "розбиття на сторінки не підтримується на цій машині"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "надто багато параметрів, що вказують позначки файлів"
 
-#: src/diff.c:515
+#: src/diff.c:514
 #, c-format
-msgid "invalid width `%s'"
-msgstr "непÑ\80ипÑ\83Ñ\81Ñ\82има Ñ\88иÑ\80ина `%s'"
+msgid "invalid width '%s'"
+msgstr "некоÑ\80екÑ\82на Ñ\88иÑ\80ина Â«%s»"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "суперечливі параметри визначення ширини"
 
-#: src/diff.c:544
+#: src/diff.c:543
 #, c-format
-msgid "invalid horizon length `%s'"
-msgstr "непÑ\80ипÑ\83Ñ\81Ñ\82има Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð³Ð¾Ñ\80изонÑ\82Ñ\83 `%s'"
+msgid "invalid horizon length '%s'"
+msgstr "некоÑ\80екÑ\82на Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð° Ð³Ð¾Ñ\80изонÑ\82Ñ\83 Â«%s»"
 
-#: src/diff.c:595
+#: src/diff.c:598
 #, c-format
-msgid "invalid tabsize `%s'"
-msgstr "неприпустима ширина табуляції `%s'"
+msgid "invalid tabsize '%s'"
+msgstr "неприпустима ширина табуляції «%s»"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "суперечливі параметри визначення ширини табуляції"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "необхідно вказати як --from-file, так і --to-file"
 
-#: src/diff.c:851
+#: src/diff.c:854
 msgid "    --normal                  output a normal diff (the default)"
 msgstr ""
 "    --normal                  вивести дані у форматі звичайного diff (типово)"
 
-#: src/diff.c:852
+#: src/diff.c:855
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q, --brief                   сповіщати лише про різні файли"
 
-#: src/diff.c:853
+#: src/diff.c:856
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files  сповіщати про однакові файли"
 
-#: src/diff.c:854
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
 "-c, -C КТЬ, --context[=КТЬ]   вивести КТЬ (типово 3) рядки скопійованого "
 "контексту"
 
-#: src/diff.c:855
+#: src/diff.c:858
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
 "-u, -U ЧИСЛО, --unified[=ЧИСЛО] вивести ЧИСЛО (типово 3) рядків спільного "
 "контексту"
 
-#: src/diff.c:856
+#: src/diff.c:859
 msgid "-e, --ed                      output an ed script"
 msgstr "-e, --ed                      вивести дані у форматі запису ed"
 
-#: src/diff.c:857
+#: src/diff.c:860
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr ""
 "-n, --rcs                     виводити у форматі diff систем керування "
 "версіями"
 
-#: src/diff.c:858
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
 msgstr "-y, --side-by-side            вивести дані у два стовпчики"
 
-#: src/diff.c:859
+#: src/diff.c:862
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
 "-W, --width=ЧИСЛО             виводити текст не більше ніж у ЧИСЛО (типово "
 "130) позицій у рядок"
 
-#: src/diff.c:860
+#: src/diff.c:863
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr ""
 "    --left-column             виводити спільні рядки лише у ліву колонку"
 
-#: src/diff.c:861
+#: src/diff.c:864
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "    --suppress-common-lines   не виводити однакові рядки"
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 "-p, --show-c-function         показати дані щодо функцій C у яких виявлено "
 "кожну зі змін"
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 "-F, --show-function-line=RE   показати останній рядок, що відповідає "
 "формальному виразу RE"
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
@@ -767,70 +770,75 @@ msgstr ""
 "    --label МІТКА             використати МІТКУ замість назви файла\n"
 "                                (можна використовувати декілька разів)"
 
-#: src/diff.c:868
+#: src/diff.c:871
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr ""
 "-t  --expand-tabs             замінювати символи табуляції пробілами у виводі"
 
-#: src/diff.c:869
+#: src/diff.c:872
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
 "-T  --initial-tab             вирівнювати табуляцію символами табуляції"
 
-#: src/diff.c:870
+#: src/diff.c:873
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr ""
 "    --tabsize=ЧИСЛО           табуляція кожні ЧИСЛО позицій виведення "
 "(типово 8)"
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 "    --suppress-blank-empty    не показувати пробіли або табуляції перед "
 "порожніми рядками"
 
-#: src/diff.c:872
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+#: src/diff.c:875
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr ""
 "-l  --paginate                спрямувати дані до «pr» для розбиття на "
 "сторінки."
 
-#: src/diff.c:874
+#: src/diff.c:877
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr ""
 "-r, --recursive                 рекурсивно порівняти всі знайдені підкаталоги"
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+"    --no-dereference            не переходити за символічними посиланнями"
+
+#: src/diff.c:879
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N, --new-file                  вважати незнайдені файли порожніми"
 
-#: src/diff.c:876
+#: src/diff.c:880
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr ""
 "    --unidirectional-new-file   вважати незнайдені у першому джерелі файли "
 "порожніми"
 
-#: src/diff.c:877
+#: src/diff.c:881
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
 "    --ignore-file-name-case     ігнорувати регістр назв файлів під час "
 "порівняння"
 
-#: src/diff.c:878
+#: src/diff.c:882
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
 "    --no-ignore-file-name-case  враховувати регістр символів назв файлів"
 
-#: src/diff.c:879
+#: src/diff.c:883
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr ""
 "-x --exclude=ЗРАЗОК             виключити файли, назви яких відповідають "
 "ЗРАЗКУ"
 
-#: src/diff.c:880
+#: src/diff.c:884
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
@@ -838,13 +846,13 @@ msgstr ""
 "зразкам\n"
 "                                 з файла."
 
-#: src/diff.c:881
+#: src/diff.c:885
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
 "-S, --starting-file=ФАЙЛ        починати порівняння каталогів на файлі ФАЙЛ"
 
-#: src/diff.c:882
+#: src/diff.c:886
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
 "                                  FILE1 can be a directory"
@@ -852,7 +860,7 @@ msgstr ""
 "    --from-file=ФАЙЛ1           порівняти ФАЙЛ1 з усіма операндами;\n"
 "                                  ФАЙЛ1 може бути каталогом"
 
-#: src/diff.c:884
+#: src/diff.c:888
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
 "                                  FILE2 can be a directory"
@@ -860,85 +868,84 @@ msgstr ""
 "    --to-file=ФАЙЛ2             порівняти всі операнди з ФАЙЛОМ "
 "2;                                   ФАЙЛ2 може бути каталогом."
 
-#: src/diff.c:887
+#: src/diff.c:891
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr ""
 "-i  --ignore-case               ігнорувати регістр літер у вмісті файлів"
 
-#: src/diff.c:888
+#: src/diff.c:892
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion      ігнорувати зміни, викликані заміною "
 "табуляції пробілами"
 
-#: src/diff.c:889
-#, fuzzy
+#: src/diff.c:893
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
-msgstr "-W  --ignore-all-space       ігнорувати усі пробіли"
+msgstr "-Z, --ignore-trailing-space     ігнорувати пробіли наприкінці рядка"
 
-#: src/diff.c:890
+#: src/diff.c:894
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change       ігнорувати зміни у кількості пробілів"
 
-#: src/diff.c:891
+#: src/diff.c:895
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space          ігнорувати усі пробіли"
 
-#: src/diff.c:892
+#: src/diff.c:896
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr ""
 "-B  --ignore-blank-lines        ігнорувати зміни кількості порожніх рядків"
 
-#: src/diff.c:893 src/sdiff.c:178
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+#: src/diff.c:897
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I, --ignore-matching-lines=RE  ігнорувати зміни, які відповідають "
 "формальному виразу RE"
 
-#: src/diff.c:895
+#: src/diff.c:899
 msgid "-a, --text                      treat all files as text"
 msgstr "-a, --text                      вважати всі файли текстовими"
 
-#: src/diff.c:896
+#: src/diff.c:900
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr ""
 "    --strip-trailing-cr         вилучити з виведених даних всі завершальні "
 "символи нового рядка"
 
-#: src/diff.c:898
+#: src/diff.c:902
 msgid "    --binary                    read and write data in binary mode"
 msgstr ""
 "    --binary                    читати та записувати файли у двійковій формі"
 
-#: src/diff.c:901
+#: src/diff.c:905
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
 "-D, --ifdef=НАЗВА               виводити diff-блоки, що використовують "
 "конструкцію «#ifdef НАЗВА»."
 
-#: src/diff.c:902
+#: src/diff.c:906
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "    --ГТИП-group-format=ГФМТ    форматувати вхідні групи типу ГТИП\n"
 "                                  у відповідності до формату ГФМТ."
 
-#: src/diff.c:903
+#: src/diff.c:907
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
 "    --line-format=СФМТ          форматувати всі вхідні рядки за допомогою "
 "СФМТ."
 
-#: src/diff.c:904
+#: src/diff.c:908
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "    --CТИП-group-format=СФМТ     форматувати вхідні рядки типу СТИП\n"
 "                                   у відповідності до формату СФМТ"
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
@@ -946,13 +953,12 @@ msgstr ""
 "  За допомогою цих параметрів форматування можна точно налаштувати\n"
 "    вивід diff, з узагальненням -D/--ifdef."
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
-"  СТИП може бути `old', `new', чи `unchanged', ГТИП - те ж саме або "
-"`changed'."
+"  СТИП може бути «old», «new» чи «unchanged», ГТИП — те саме або «changed»."
 
-#: src/diff.c:908
+#: src/diff.c:912
 msgid ""
 "  GFMT (only) may contain:\n"
 "    %<  lines from FILE1\n"
@@ -980,7 +986,7 @@ msgstr ""
 "        M  L+1\n"
 "    %(A=B?T:E)  якщо A дорівнює B, T, інакше E"
 
-#: src/diff.c:920
+#: src/diff.c:924
 msgid ""
 "  LFMT (only) may contain:\n"
 "    %L  contents of line\n"
@@ -992,7 +998,7 @@ msgstr ""
 "    %l  вміст рядка без символу нового рядка наприкінці\n"
 "    %[-][ШИРИНА][.[ТОЧН]]{doxX}n  формат номеру вхідного рядка у стилі printf"
 
-#: src/diff.c:924
+#: src/diff.c:928
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
 "    %%  %\n"
@@ -1006,91 +1012,98 @@ msgstr ""
 "    %c'\\OOO'  один символ з вісімковим кодом OOO\n"
 "    C    символ C (інші символи не оброблятимуться)"
 
-#: src/diff.c:930
+#: src/diff.c:934
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr "-d  --minimal            намагатись знайти найменший набір змін"
 
-#: src/diff.c:931
+#: src/diff.c:935
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr ""
 "    --horizon-lines=ЧИСЛО  зберегти ЧИСЛО спільних рядків, до та після різних"
 
-#: src/diff.c:932
+#: src/diff.c:936
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr ""
 "    --speed-large-files  вважати файли великими з багатьма розкиданими\n"
 "                           дрібними змінами."
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 "    --help               показати це довідкове повідомлення і завершити "
 "роботу"
 
-#: src/diff.c:935
+#: src/diff.c:939
 msgid "-v, --version            output version information and exit"
 msgstr "-v, --version            показати дані щодо версії і завершити роботу"
 
-#: src/diff.c:937
+#: src/diff.c:941
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
-"ФАЙЛИ  - це `ФАЙЛ1 ФАЙЛ2', чи `КАТАЛОГ1 КАТАЛОГ2', чи `КАТАЛОГ ФАЙЛ...',\n"
-"чи `ФАЙЛ... КАТАЛОГ'."
+"ФАЙЛИ — це «ФАЙЛ1 ФАЙЛ2», чи «КАТАЛОГ1 КАТАЛОГ2», чи «КАТАЛОГ ФАЙЛ...»,\n"
+"чи «ФАЙЛ... КАТАЛОГ»."
 
-#: src/diff.c:938
+#: src/diff.c:942
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr "Якщо вказано --from-file чи --to-file, на ФАЙЛИ обмежень немає."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
-msgstr "Якщо ФАЙЛ вказаний як `-', читається стандартний потік вводу."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+msgid "If a FILE is '-', read standard input."
+msgstr ""
+"Якщо ФАЙЛ вказано як «-», дані буде прочитано зі стандартного потоку "
+"введення."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "Використання: %s [КЛЮЧ]... ФАЙЛИ\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 msgid "Compare FILES line by line."
 msgstr "Порівнює два файли за рядками."
 
-#: src/diff.c:984
+#: src/diff.c:988
 #, c-format
-msgid "conflicting %s option value `%s'"
-msgstr "суперечливі значення %s для ключа `%s'"
+msgid "conflicting %s option value '%s'"
+msgstr "суперечливі значення %s для ключа «%s»"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "суперечливі ключі визначення стилю виводу"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Лише у %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
-msgstr "неможливо порівняти `-' з каталогом"
+#: src/diff.c:1192
+msgid "cannot compare '-' to a directory"
+msgstr "не можна порівнювати «-» з каталогом"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "-D параметр не підтримується для каталогів"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Спільні підкаталоги: %s та %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "Файл %s це %s, тоді як файл %s -- %s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Символічні посилання %s і %s є різними\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "Файли %s та %s ідентичні\n"
@@ -1106,11 +1119,11 @@ msgid "incompatible options"
 msgstr "несумісні ключі"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
-msgstr "`-' вказано для більш ніж одного вхідного файлу"
+msgid "'-' specified for more than one input file"
+msgstr "«-» вказано для більш ніж одного вхідного файла"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "помилка читання"
 
@@ -1155,7 +1168,7 @@ msgstr ""
 "-X                          подібно до -x, але з взяттям розбіжностей у дужки"
 
 #: src/diff3.c:436
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr ""
 "-i                          дописувати команди «w» і «q» в кінець сценарію "
 "ed."
@@ -1266,31 +1279,31 @@ msgstr ""
 msgid "invalid diff format; invalid change separator"
 msgstr "неправильний формат diff-файлу; неправильний розділювач змін"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "неправильний формат diff-файлу; неповний останній рядок"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
 #, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "не вдається запустити допоміжну програму `%s'"
+msgid "subsidiary program '%s' could not be invoked"
+msgstr "не вдається запустити допоміжну програму «%s»"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "неправильний diff-формат; неправильні перші символи рядка"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "внутрішня помилка: на вхід подано неправильний тип diff-файлу"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "вхідний файл зменшився"
 
 #: src/dir.c:158
 #, c-format
-msgid "cannot compare file names `%s' and `%s'"
-msgstr "неможливо порівняти назви файлів `%s' та `%s'"
+msgid "cannot compare file names '%s' and '%s'"
+msgstr "неможливо порівняти назви файлів «%s» та «%s»"
 
 #: src/dir.c:209
 #, c-format
@@ -1302,126 +1315,131 @@ msgstr "%s: зациклення рекурсивного проходу кат
 msgid "Thomas Lord"
 msgstr "Thomas Lord"
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
 "-o, --output=ФАЙЛ            інтерактивний режим із записом виводу до ФАЙЛА"
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i  --ignore-case            ігнорувати регістр літер"
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr ""
 "-E  --ignore-tab-expansion   ігнорувати зміни, викликані заміною табуляції "
 "пробілами"
 
-#: src/sdiff.c:174
-#, fuzzy
+#: src/sdiff.c:177
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
-msgstr "-W  --ignore-all-space       ігнорувати усі пробіли"
+msgstr "-Z, --ignore-trailing-space  ігнорувати пробіли наприкінці рядка"
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change    ігнорувати зміни у кількості пробілів"
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 msgid "-W, --ignore-all-space       ignore all white space"
 msgstr "-W  --ignore-all-space       ігнорувати усі пробіли"
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr ""
 "-B  --ignore-blank-lines     ігнорувати зміни кількості порожніх рядків"
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I, --ignore-matching-lines=RE  ігнорувати зміни, які відповідають "
+"формальному виразу RE"
+
+#: src/sdiff.c:182
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr ""
 "    --strip-trailing-cr      вилучити з виведених даних всі завершальні "
 "символи нового рядка"
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 msgid "-a, --text                   treat all files as text"
 msgstr "-a, --text                   вважати всі файли текстовими"
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
 "-w, --width=ЧИСЛО            виводити текст не більше ніж у ЧИСЛО (типово "
 "130) позицій у рядок"
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr ""
 "-l, -left-column             виводити спільні рядки лише у ліву колонку"
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  не виводити спільні рядки"
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr ""
 "-t  --expand-tabs             замінювати символи табуляції пробілами у виводі"
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr ""
 "    --tabsize=ЧИСЛО          табуляція кожні ЧИСЛО позицій виведення (типово "
 "8)"
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr "-d  --minimal                намагатись знайти найменший набір змін"
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr ""
 "-H, -speed-large-files       вважати файли великими з багатьма розкиданими\n"
 "                               дрібними змінами."
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr ""
 "    --diff-program=ПРОГРАМА  використовувати для порівняння вказану ПРОГРАМУ"
 
-#: src/sdiff.c:193
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
 msgstr ""
 "    --help                   показати це довідкове повідомлення і завершити "
 "роботу"
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 msgid "-v, --version                output version information and exit"
 msgstr ""
 "-v, --version                показати дані щодо версії і завершити роботу"
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "Використання: %s [КЛЮЧ]... ФАЙЛ1 ФАЙЛ2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "Паралельне об’єднання файлів ФАЙЛ1 і ФАЙЛ2."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "не можна інтерактивно об'єднувати стандартний потік вводу"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "обидва файли, що порівнюються є каталогами"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
index 9afb2a4..68ef4c6 100644 (file)
Binary files a/po/vi.gmo and b/po/vi.gmo differ
index 7398269..de23dd8 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,22 +1,25 @@
 # Vietnamese translation for Diff Utils.
-# Copyright © 2010 Free Software Foundation, Inc.
+# Copyright © 2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the diffutils package.
 # Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: diffutils 3.0\n"
+"Project-Id-Version: diffutils-3.3-pre1\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
-"PO-Revision-Date: 2010-05-07 18:31+0930\n"
-"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
-"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
+"PO-Revision-Date: 2012-11-01 13:51+0700\n"
+"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
+"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "Language: vi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Team-Website: <http://translationproject.org/team/vi.html>\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: LocFactoryEditor 1.8\n"
+"X-Poedit-SourceCharset: UTF-8\n"
 
 #: lib/c-stack.c:204 lib/c-stack.c:297
 msgid "program error"
@@ -24,15 +27,15 @@ msgstr "lỗi chương trình"
 
 #: lib/c-stack.c:205 lib/c-stack.c:298
 msgid "stack overflow"
-msgstr "đống bị tràn"
+msgstr "stack bị tràn"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "Không biết lỗi hệ thống"
 
 #: lib/file-type.c:38
 msgid "regular empty file"
-msgstr "tập tin trống thường"
+msgstr "tập tin trống thông thường"
 
 #: lib/file-type.c:38
 msgid "regular file"
@@ -52,7 +55,7 @@ msgstr "tập tin đặc biệt ký tự"
 
 #: lib/file-type.c:50
 msgid "fifo"
-msgstr "fifo (vào trước, xuất trước)"
+msgstr "fifo (vào trước, ra trước)"
 
 #: lib/file-type.c:53
 msgid "symbolic link"
@@ -60,11 +63,11 @@ msgstr "liên kết mềm"
 
 #: lib/file-type.c:56
 msgid "socket"
-msgstr "ổ cắm"
+msgstr "socket"
 
 #: lib/file-type.c:59
 msgid "message queue"
-msgstr "hàng Ä\91á»\9di thông điệp"
+msgstr "hàng Ä\91ợi thông điệp"
 
 #: lib/file-type.c:62
 msgid "semaphore"
@@ -76,163 +79,165 @@ msgstr "đối tượng bộ nhớ dùng chung"
 
 #: lib/file-type.c:68
 msgid "typed memory object"
-msgstr "đốí tượng bộ nhớ đánh loại"
+msgstr "đối tượng bộ nhớ đánh loại"
 
 #: lib/file-type.c:70
 msgid "weird file"
 msgstr "tập tin lạ"
 
 #: lib/getopt.c:547 lib/getopt.c:576
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: tùy chọn « %s » vẫn mơ hồ\n"
+msgstr "%s: tùy chọn “%s” chưa rõ ràng; khả năng là:"
 
 #: lib/getopt.c:624 lib/getopt.c:628
 #, c-format
 msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: tùy chọn « --%s » không cho phép đối số\n"
+msgstr "%s: tùy chọn “--%s” không cho phép đối số\n"
 
 #: lib/getopt.c:637 lib/getopt.c:642
 #, c-format
 msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: tùy chọn « %c%s » không cho phép đối số\n"
+msgstr "%s: tùy chọn “%c%s” không cho phép đối số\n"
 
 #: lib/getopt.c:685 lib/getopt.c:704
 #, c-format
 msgid "%s: option '--%s' requires an argument\n"
-msgstr "%s: tùy chọn « --%s » yêu cầu một đối số\n"
+msgstr "%s: tùy chọn “--%s” yêu cầu một đối số\n"
 
 #: lib/getopt.c:742 lib/getopt.c:745
 #, c-format
 msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: không nhận ra tùy chọn « --%s »\n"
+msgstr "%s: không nhận ra tùy chọn “--%s”\n"
 
 #: lib/getopt.c:753 lib/getopt.c:756
 #, c-format
 msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: không nhận ra tùy chọn « %c%s »\n"
+msgstr "%s: không nhận ra tùy chọn “%c%s”\n"
 
 #: lib/getopt.c:805 lib/getopt.c:808
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: tùy chọn không hợp lệ -- « %c »\n"
+msgstr "%s: tùy chọn không hợp lệ -- “%c”\n"
 
 #: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: tùy chọn yêu cầu một đối số -- « %c »\n"
+msgstr "%s: tùy chọn yêu cầu một đối số -- “%c”\n"
 
 #: lib/getopt.c:934 lib/getopt.c:950
 #, c-format
 msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: tùy chọn « -W %s » vẫn mơ hồ\n"
+msgstr "%s: tùy chọn “-W %s” chưa rõ ràng\n"
 
 #: lib/getopt.c:974 lib/getopt.c:992
 #, c-format
 msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: tùy chọn « -W %s » không cho phép đối số\n"
+msgstr "%s: tùy chọn “-W %s” không cho phép đối số\n"
 
 #: lib/getopt.c:1013 lib/getopt.c:1031
 #, c-format
 msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: tùy chọn « -W %s » yêu cầu một đối số\n"
+msgstr "%s: tùy chọn “-W %s” yêu cầu một đối số\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
-msgstr "« "
+msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
-msgstr " »"
+msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "Thành công"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
-msgstr "Không khớp với gì"
+msgstr "Không có gì khớp"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "Biểu thức chính quy không hợp lệ"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "Ký tự đối chiếu không hợp lệ"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "Tên hạng ký tự không hợp lệ"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
-msgstr "Có xuyệc ngược theo sau"
+msgstr "Có gạch ngược theo sau"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "Tham chiếu trở lại không hợp lệ"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "Chưa khớp [ hay [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "Chưa khớp ( hay \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "Chưa khớp \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
-msgstr "Nội dụng \\{\\} không hợp lệ"
+msgstr "Nội dung của \\{\\} không hợp lệ"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
-msgstr "Kết thức miền không hợp lệ"
+msgstr "Kết thúc vùng không hợp lệ"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
-msgstr "Hết bộ nhớ ảo rồi"
+msgstr "Hết bộ nhớ"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "Biểu thức chính quy đi trước không hợp lệ"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "Kết thức quá sớm của biểu thức chính quy"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "Biểu thức chính quy quá lớn"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "Chưa khớp ) hay \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "Không có biểu thức chính quy đi trước"
 
@@ -263,18 +268,18 @@ msgstr "lỗi mở lại %s với chế độ %s"
 
 #: lib/xstrtol-error.c:63
 #, c-format
-msgid "invalid %s%s argument `%s'"
-msgstr "sai đặt đối số %s%s « %s »"
+msgid "invalid %s%s argument '%s'"
+msgstr "đối số %s%s không hợp lệ “%s”"
 
 #: lib/xstrtol-error.c:68
 #, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "gặp hậu tố sai trong đối số %s%s « %s »"
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr "gặp hậu tố không hợp lệ trong %s%s đối số “%s”"
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
-msgstr "đối số %s%s « %s » quá lớn"
+msgid "%s%s argument '%s' too large"
+msgstr "%s%s nhận đối số “%s” là quá lớn"
 
 #: lib/version-etc.c:74
 #, c-format
@@ -303,10 +308,10 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Giấy phép GPL pb3+ : Giấy phép Công cộng GNU phiên bản 3 hay sau\n"
+"Giấy phép GPL pb3+: Giấy phép Công cộng GNU phiên bản 3 hay sau\n"
 "<http://gnu.org/licenses/gpl.html>\n"
-"Đây là phần mềm tự do : bạn có quyền sửa đổi và phát hành lại nó.\n"
-"KHÔNG CÓ BẢO HÀNH GÌ CẢ, với điều khiển được pháp luật cho phép.\n"
+"Đây là phần mềm tự do: bạn có quyền sửa đổi và phát hành lại nó.\n"
+"KHÔNG CÓ BẢO HÀNH GÌ CẢ, với điều kiện được pháp luật cho phép.\n"
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
@@ -360,7 +365,7 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, and %s.\n"
 msgstr ""
-"Tác gia: %s, %s, %s,\n"
+"Tác gi: %s, %s, %s,\n"
 "%s, %s, và %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
@@ -428,13 +433,13 @@ msgid ""
 "Report bugs to: %s\n"
 msgstr ""
 "\n"
-"Thông báo lỗi nào cho : %s\n"
-"Thông báo lỗi dịch nào cho Clytie <clytie@riverland.net.au>\n"
+"Thông báo lỗi nào cho: %s\n"
+"Thông báo lỗi dịch nào cho: <http://translationproject.org/team/vi.html>\n"
 
 #: lib/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
-msgstr "Thông báo lỗi %s nào cho : %s\n"
+msgstr "Thông báo lỗi %s nào cho: %s\n"
 
 #: lib/version-etc.c:251
 #, c-format
@@ -451,7 +456,7 @@ msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Trợ giúp chung về cách sử dụng phần mềm GNU: <http://www.gnu.org/gethelp/>\n"
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "Hai tập tin %s và %s là khác nhau.\n"
@@ -459,9 +464,9 @@ msgstr "Hai tập tin %s và %s là khác nhau.\n"
 #: src/analyze.c:462
 #, c-format
 msgid "Binary files %s and %s differ\n"
-msgstr "Hai tập tin nhị phân %s và %s còn khác nhau\n"
+msgstr "Hai tập tin nhị phân %s và %s khác nhau\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "Không có ký tự dòng mới tại kêt thức tập tin."
 
@@ -476,95 +481,93 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr "David MacKenzie"
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
 #, c-format
-msgid "Try `%s --help' for more information."
-msgstr "Hãy thử lệnh `%s --help' để xem thông tin thêm."
+msgid "Try '%s --help' for more information."
+msgstr "Hãy chạy lệnh “%s --help” để xem thông tin thêm."
 
 #: src/cmp.c:137
 #, c-format
-msgid "invalid --ignore-initial value `%s'"
-msgstr "tùy chọn --ignore-initial value (bỏ qua giá trị đầu) `%s' không hợp lệ"
+msgid "invalid --ignore-initial value '%s'"
+msgstr ""
+"giá trị của tùy chọn --ignore-initial (bỏ qua giá trị đầu) “%s” không hợp lệ"
 
 #: src/cmp.c:147
 #, c-format
 msgid "options -l and -s are incompatible"
 msgstr "hai tùy chọn -l và -s không tương thích với nhau"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "không ghi được"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "thiết bị xuất chuẩn"
 
 #: src/cmp.c:161
-#, fuzzy
 msgid "-b, --print-bytes          print differing bytes"
-msgstr "-b  --print-bytes  _In_ ra những byte khác nhau."
+msgstr "-b, --print-bytes          in ra những byte khác nhau."
 
 #: src/cmp.c:162
-#, fuzzy
 msgid "-i, --ignore-initial=SKIP         skip first SKIP bytes of both inputs"
-msgstr "-i SKIP  --ignore-initial=SỐ  _Bỏ qua_ số byte _đầu_ của dữ liệu gõ."
+msgstr ""
+"-i, --ignore-initial=SỐ           bỏ qua SỐ byte khởi đầu của dữ liệu nhập"
 
 #: src/cmp.c:163
-#, fuzzy
 msgid ""
 "-i, --ignore-initial=SKIP1:SKIP2  skip first SKIP1 bytes of FILE1 and\n"
 "                                      first SKIP2 bytes of FILE2"
-msgstr "  Bỏ qua SỐ1 byte đầu của tập tin 1 và SỐ2 byte đầu của tập tin 2."
+msgstr ""
+"-i, --ignore-initial=SỐ1:SỐ2      bỏ qua SỐ1 byte đầu của TỆP-TIN1 và\n"
+"                                      SỐ2 byte đầu của TỆP-TIN2."
 
 #: src/cmp.c:165
-#, fuzzy
 msgid ""
 "-l, --verbose              output byte numbers and differing byte values"
 msgstr ""
-"-l  --verbose  Xuất số byte và giá trị của tất cả byte khác nhau (_chi "
-"tiết_)."
+"-l, --verbose              xuất số byte và giá trị của tất cả byte khác nhau"
 
 #: src/cmp.c:166
-#, fuzzy
 msgid "-n, --bytes=LIMIT          compare at most LIMIT bytes"
-msgstr "-n SỐ  --bytes=SỐ  So sánh tối đa SỐ byte (_giới hạn_)."
+msgstr "-n, --bytes=SỐ             so sánh tối đa SỐ byte"
 
 #: src/cmp.c:167
 msgid "-s, --quiet, --silent      suppress all normal output"
-msgstr ""
+msgstr "-s, --quiet, --silent      loại bỏ tất cả các kết xuất thông thường"
 
 #: src/cmp.c:168
 msgid "    --help                 display this help and exit"
-msgstr ""
+msgstr "    --help                 hiển thị trợ giúp này rồi thoát"
 
 #: src/cmp.c:169
-#, fuzzy
 msgid "-v, --version              output version information and exit"
-msgstr "-v  --version  Xuất thông tin _phiên bản_."
+msgstr "-v, --version              đưa ra thông tin phiên bản rồi thoát"
 
 #: src/cmp.c:178
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]\n"
-msgstr "Cách sử dụng: %s [TÙY_CHỌN]... TẬP_TIN1 [TẬP_TIN2 [SỐ1 [SỐ2]]]\n"
+msgstr "Cách dùng: %s [TÙY_CHỌN]... TẬP_TIN1 [TẬP_TIN2 [SKIP1 [SKIP2]]]\n"
 
 #: src/cmp.c:180
 msgid "Compare two files byte by byte."
 msgstr "So sánh mỗi byte trong hai tập tin."
 
 #: src/cmp.c:182
-#, fuzzy
 msgid ""
 "The optional SKIP1 and SKIP2 specify the number of bytes to skip\n"
 "at the beginning of each file (zero by default)."
-msgstr "Bỏ qua SỐ1 byte trong tập tin 1, và SỐ2 byte trong tập tin 2."
+msgstr ""
+"Tùy chọn SKIP1 và SKIP2 chỉ định số byte sẽ được bỏ qua\n"
+"tại vị trí bắt đầu của mỗi tập tin (số không là mặc định)."
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
+msgstr "Tùy chọn dài yêu cầu đối số thì tùy chọn ngắn cũng vậy.\n"
 
 #: src/cmp.c:191
 msgid ""
@@ -572,37 +575,36 @@ msgid ""
 "kB 1000, K 1024, MB 1,000,000, M 1,048,576,\n"
 "GB 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y."
 msgstr ""
-"Có thể sử dụng một của những chữ theo đây (số nhân lên) sau SỐ byte để bỏ "
-"qua:\n"
-"kB\tx 1000\t\t\t\tK\tx 1024\n"
-"MB \tx 1,000,000\t\t\tM \tx 1,048,576,\n"
-"GB \tx 1,000,000,000\t\tG \tx 1,073,741,824\n"
-"\t\t\tcũng T, P, E, Z, Y v.v."
+"SKIP có thể sử dụng một của những chữ theo đây để làm hệ số nhân:\n"
+"kB x 1000\t\tK x 1024\n"
+"MB x 1,000,000\t\tM x 1,048,576\n"
+"GB x 1,000,000,000\tG x 1,073,741,824\n"
+"tương tự với T, P, E, Z, Y v.v."
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
-msgstr "Nếu tập tin là `-', hay thiếu tập tin thì đọc thiết bị go chuẩn."
+msgid "If a FILE is '-' or missing, read standard input."
+msgstr "Nếu TẬP-TIN là “-”, hay bỏ trống, thì đọc từ đầu vào tiêu chuẩn."
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr ""
-"Tính trạng thoát là số 0 nếu hai điều gõ là bằng nhau, số 1 nếu là khác nhau "
-"và số 2 nếu gặp lỗi."
+"Trạng thái thoát là số 0 nếu hai đầu vào bằng nhau, số 1 nếu là khác nhau và "
+"số 2 nếu gặp lỗi."
 
 #: src/cmp.c:240
 #, c-format
-msgid "invalid --bytes value `%s'"
-msgstr "giá trị --bytes `%s' không hợp lệ"
+msgid "invalid --bytes value '%s'"
+msgstr "giá trị cho tùy chọn --bytes “%s” không hợp lệ"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
 #, c-format
-msgid "missing operand after `%s'"
-msgstr "thiếu tác tử sau `%s'"
+msgid "missing operand after '%s'"
+msgstr "thiếu toán hạng sau “%s”"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
 #, c-format
-msgid "extra operand `%s'"
-msgstr "tác tử thêm `%s'"
+msgid "extra operand '%s'"
+msgstr "toán hạng bổ xung “%s”"
 
 #: src/cmp.c:491
 #, c-format
@@ -621,355 +623,331 @@ msgstr "cmp: gặp kết thức tập tin tại %s\n"
 
 # Tên họ
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr "Paul Eggert"
 
 # Tên họ
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr "Mike Haertel"
 
 # Tên họ
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr "David Hayes"
 
 # Tên họ
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr "Richard Stallman"
 
 # Tên họ
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr "Len Tower"
 
-#: src/diff.c:340
+#: src/diff.c:339
 #, c-format
-msgid "invalid context length `%s'"
-msgstr "độ dài ngữ cảnh không hợp lệ `%s'"
+msgid "invalid context length '%s'"
+msgstr "độ dài ngữ cảnh không hợp lệ “%s”"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "máy chủ này không hỗ trợ dàn trang"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "quá nhiều tùy chọn nhãn tập tin"
 
-#: src/diff.c:515
+#: src/diff.c:514
 #, c-format
-msgid "invalid width `%s'"
-msgstr "độ rộng không hợp lệ `%s'"
+msgid "invalid width '%s'"
+msgstr "độ rộng không hợp lệ “%s”"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "nhiều tùy chọn độ rộng xung đột với nhau"
 
-#: src/diff.c:544
+#: src/diff.c:543
 #, c-format
-msgid "invalid horizon length `%s'"
-msgstr "độ dài tầm nhận thức (số dòng phụ tổ chung) không hợp lệ `%s'"
+msgid "invalid horizon length '%s'"
+msgstr "độ dài chiều đứng không hợp lệ “%s”"
 
-#: src/diff.c:595
+#: src/diff.c:598
 #, c-format
-msgid "invalid tabsize `%s'"
-msgstr "cỡ ký tự tab không hợp lệ `%s'"
+msgid "invalid tabsize '%s'"
+msgstr "cỡ ký tự tab không hợp lệ “%s”"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "nhiều tùy chọn cỡ ký tự tab xung đột với nhau"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr ""
 "ghi rõ cả hai tùy chọn --from-file (từ tập tin) và --to-file (vào tập tin) "
 "đều"
 
-#: src/diff.c:851
-#, fuzzy
+#: src/diff.c:854
 msgid "    --normal                  output a normal diff (the default)"
-msgstr "--normal  Xuất dữ liệu khác biệt bình thường."
+msgstr ""
+"    --normal                  xuất ra định dạng diff thông thường (mặc định)"
 
-#: src/diff.c:852
-#, fuzzy
+#: src/diff.c:855
 msgid "-q, --brief                   report only when files differ"
-msgstr "-q  --brief  Xuất chỉ nếu những tập tin khác với nhau (_ngắn_)."
+msgstr ""
+"-q, --brief                   chỉ báo cáo nếu những tập tin khác với nhau"
 
-#: src/diff.c:853
-#, fuzzy
+#: src/diff.c:856
 msgid "-s, --report-identical-files  report when two files are the same"
-msgstr ""
-"-s  --report-identical-files  _Thông báo_ khi có hai _tập tin bằng nhau_."
+msgstr "-s, --report-identical-files  báo cáo khi có hai tập tin bằng nhau"
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
 msgstr ""
-"-w SỐ  --width=SỐ  Xuất tối đa SỐ cột đã in ra (mặc định là 130) (_độ rộng_)."
+"-c, -C SỐ, --context[=SỐ]     xuất ra SỐ (mặc định là 3) dòng của ngữ cảnh"
 
-#: src/diff.c:855
-#, fuzzy
+#: src/diff.c:858
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr ""
-"-w SỐ  --width=SỐ  Xuất tối đa SỐ cột đã in ra (mặc định là 130) (_độ rộng_)."
+"-u, -U SỐ, --unified[=SỐ]     xuất ra SỐ (mặc định là 3) dòng của ngữ cảnh "
+"hợp nhất"
 
-#: src/diff.c:856
-#, fuzzy
+#: src/diff.c:859
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  Xử lý mọi tập tin là _văn bản_."
+msgstr "-e, --ed                      xuất tập lệnh loại ed"
 
-#: src/diff.c:857
-#, fuzzy
+#: src/diff.c:860
 msgid "-n, --rcs                     output an RCS format diff"
-msgstr "-n  --rcs  Xuất dữ liệu khác biệt dạng RCS."
+msgstr ""
+"-n, --rcs                     xuất dữ liệu khác biệt sử dụng định dạng RCS"
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  Xuất thông tin _phiên bản_."
+msgstr "-y, --side-by-side            xuất ra theo đinh dạng hai cột"
 
-#: src/diff.c:859
-#, fuzzy
+#: src/diff.c:862
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr ""
-"-w SỐ  --width=SỐ  Xuất tối đa SỐ cột đã in ra (mặc định là 130) (_độ rộng_)."
+"-W, --width=SỐ                xuất tối đa SỐ cột đã in ra (mặc định là 130)"
 
-#: src/diff.c:860
-#, fuzzy
+#: src/diff.c:863
 msgid ""
 "    --left-column             output only the left column of common lines"
-msgstr "-l  --left-column  Xuất chỉ _cột bên trái_ của mọi dòng chung."
+msgstr ""
+"    --left-column             kết xuất chỉ cột bên trái của các dòng chung "
+"nhau"
 
-#: src/diff.c:861
-#, fuzzy
+#: src/diff.c:864
 msgid "    --suppress-common-lines   do not output common lines"
-msgstr "-s  --suppress-common-lines  Không xuất _dòng chung_ nào (_thu hồi_)."
+msgstr "    --suppress-common-lines   không kết xuất các dòng chung nhau"
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
+"-p, --show-c-function         hiển thị cái mà từng hàm C thay đổi ở trong"
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
-msgstr ""
+msgstr "-F, --show-function-line=RE   hiển thị những dòng gần nhất khớp với RE"
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
+"    --label NHÃN              sử dụng NHÃN thay vì tên tập tin\n"
+"                                (có thể được lặp lại)"
 
-#: src/diff.c:868
-#, fuzzy
+#: src/diff.c:871
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr ""
-"-t  --expand-tabs  _Mộ trộng ký tự tab_ ra ký tự cách riêng trong dữ liệu "
-"xuất."
+"-t, --expand-tabs             mở rộng ký tự tab ra ký tự khoảng cách khi kết "
+"xuất"
 
-#: src/diff.c:869
-#, fuzzy
+#: src/diff.c:872
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr ""
-"-T  --initial-tab  Sắp xếp tất cả ký tự tab bằng cách thêm một _tab vào "
-"trước hết_."
+"-T, --initial-tab             sắp xếp tất cả ký tự tab bằng cách thêm\n"
+"                                một tab vào trước"
 
-#: src/diff.c:870
-#, fuzzy
+#: src/diff.c:873
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr ""
-"--tabsize=SỐ  Có điểm đừng tab sau mỗi SỐ cột đã in ra (mặc định là 8)."
+"    --tabsize=SỐ              định khoảng cách tab sau mỗi SỐ cột đã in ra\n"
+"                                (mặc định là 8)"
 
-#: src/diff.c:871
-#, fuzzy
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
-"--suppress-blank-empty  Thu hồi khoảng cách hay cột tab đằng trước dòng kết "
-"xuất trắng."
+"    --suppress-blank-empty    thu hồi khoảng cách hay cột tab đằng trước "
+"dòng kết xuất trống"
 
-#: src/diff.c:872
-#, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
-msgstr "-l  --paginate  Gởi dữ liệu xuất qua `pr' để _dàn trang_ nó."
+#: src/diff.c:875
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
+msgstr ""
+"-l, --paginate                chuyển dữ liệu kết xuất qua “pr” để dàn trang "
+"nó"
 
-#: src/diff.c:874
-#, fuzzy
+#: src/diff.c:877
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
-msgstr "-r  --recursive  So sánh _đệ qui_ mọi thư mục con đã tìm thấy."
+msgstr ""
+"-r, --recursive                 so sánh đệ qui mọi thư mục con đã tìm thấy"
 
-#: src/diff.c:875
-#, fuzzy
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr "    --no-dereference            không theo liên kết mềm"
+
+#: src/diff.c:879
 msgid "-N, --new-file                  treat absent files as empty"
-msgstr "-N  --new-file  Xử lý tập tin vắng mặt là trống (_tập tin mới_)."
+msgstr "-N  --new-file                  coi tập tin vắng mặt là trống"
 
-#: src/diff.c:876
-#, fuzzy
+#: src/diff.c:880
 msgid "    --unidirectional-new-file   treat absent first files as empty"
-msgstr ""
-"--unidirectional-new-file  Xử lý tập tin đầu mà vắng mặt là trống (_tập tin "
-"mới đơn hướng_)."
+msgstr "    --unidirectional-new-file   coi tập tin đầu mà vắng mặt là trống"
 
-#: src/diff.c:877
-#, fuzzy
+#: src/diff.c:881
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr ""
-"--ignore-file-name-case  _Bỏ qua chữ hoa/thường_ khi so sánh nhiều _tên tập "
-"tin_."
+"    --ignore-file-name-case  bỏ qua chữ HOA/thường khi so sánh nhiều tên tập "
+"tin"
 
-#: src/diff.c:878
-#, fuzzy
+#: src/diff.c:882
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr ""
-"--no-ignore-file-name-case  So sánh chữ hoa/thường trong _tên tập tin_ "
-"(_không bỏ qua_)."
+"    --no-ignore-file-name-case  so sánh chữ HOA/thường khi so sánh tên tập "
+"tin"
 
-#: src/diff.c:879
-#, fuzzy
+#: src/diff.c:883
 msgid "-x, --exclude=PAT               exclude files that match PAT"
-msgstr "-x MẪU  --exclude=MẪU  _Loại trừ_ mọi tập tin khớp với MẪU ấy."
+msgstr "-x, --exclude=MẪU               loại trừ các tập tin khớp với MẪU ấy"
 
-#: src/diff.c:880
-#, fuzzy
+#: src/diff.c:884
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
-"-X TẬP_TIN  --exclude-from=TẬP_TIN  Loại trừ mọi tập tin khớp với bất cứ mẫu "
-"nào trong TẬP TIN ấy."
+"-X, --exclude-from=TẬP_TIN      loại trừ mọi tập tin khớp với bất cứ mẫu nào "
+"trong TẬP TIN ấy"
 
-#: src/diff.c:881
-#, fuzzy
+#: src/diff.c:885
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr ""
-"-S TẬP_TIN  --starting-file=TẬP_TIN  _Bắt đầu_ với _TẬP TIN_ khi so sánh "
-"nhiều thư mục."
+"-S, --starting-file=TẬP_TIN     bắt đầu với TẬP TIN khi so sánh nhiều thư mục"
 
-#: src/diff.c:882
-#, fuzzy
+#: src/diff.c:886
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
 "                                  FILE1 can be a directory"
 msgstr ""
-"--from-file=TẬP_TIN1  So TẬP TIN 1 với tất cả tác tử. TẬP TIN 1 có thể là "
-"thư mục (_từ tập tin_)."
+"    --from-file=TẬP_TIN1        so TẬP TIN 1 với tất cả toán hạng;\n"
+"                                  TẬP TIN 1 có thể là thư mục"
 
-#: src/diff.c:884
-#, fuzzy
+#: src/diff.c:888
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
 "                                  FILE2 can be a directory"
 msgstr ""
-"--to-file=TẬP_TIN2  So tất cả tác tử với TẬP TIN 2. TẬP TIN 2 có thể là thư "
-"mục (_vào tập tin_)."
+"    --to-file=TẬP_TIN2          So tất cả toán hạng với TẬP TIN 2;\n"
+"                                  TẬP TIN 2 có thể là thư mục"
 
-#: src/diff.c:887
-#, fuzzy
+#: src/diff.c:891
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
-msgstr "-i  --ignore-case  _Bỏ qua chữ hoa/thường_ trong nội bộ tập tin."
+msgstr ""
+"-i, --ignore-case               không phân biệt chữ HOA/thường trong nội "
+"dung tập tin"
 
-#: src/diff.c:888
-#, fuzzy
+#: src/diff.c:892
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
-msgstr "-E  --ignore-tab-expansion  _Bỏ qua_ mọi thay đổi do _mở rộng tab_."
+msgstr "-E, --ignore-tab-expansion      bỏ qua mọi thay đổi do mở rộng tab"
 
-#: src/diff.c:889
-#, fuzzy
+#: src/diff.c:893
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
-msgstr "-w  --ignore-all-space  _Bỏ qua tất cả dấu cách_."
+msgstr "-Z, --ignore-trailing-space     bỏ qua tất cả dấu cách ở cuối dòng"
 
-#: src/diff.c:890
-#, fuzzy
+#: src/diff.c:894
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
-msgstr "-b  --ignore-space-change  _Bỏ qua số dấu cách thay đổi_."
+msgstr ""
+"-b, --ignore-space-change       bỏ qua thay đổi gây ra bởi nhóm dấu cách"
 
-#: src/diff.c:891
-#, fuzzy
+#: src/diff.c:895
 msgid "-w, --ignore-all-space          ignore all white space"
-msgstr "-w  --ignore-all-space  _Bỏ qua tất cả dấu cách_."
+msgstr "-w, --ignore-all-space          bỏ qua tất cả dấu cách"
 
-#: src/diff.c:892
-#, fuzzy
+#: src/diff.c:896
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
-msgstr "-B  --ignore-blank-lines  _Bỏ qua dòng trống_ thay đổi."
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
+msgstr "-B, --ignore-blank-lines        bỏ qua thay đổi do dòng trống"
 
-#: src/diff.c:893 src/sdiff.c:178
-#, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
-msgstr "-I RE  --ignore-matching-lines=RE  _Bỏ qua mọi dòng khớp_ với RE."
+#: src/diff.c:897
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
+msgstr ""
+"-I, --ignore-matching-lines=RE  bỏ qua thay đổi do mà mọi dòng khớp với RE"
 
-#: src/diff.c:895
-#, fuzzy
+#: src/diff.c:899
 msgid "-a, --text                      treat all files as text"
-msgstr "-a  --text  Xử lý mọi tập tin là _văn bản_."
+msgstr "-a, --text                      xử lý mọi tập tin là văn bản thường"
 
-#: src/diff.c:896
-#, fuzzy
+#: src/diff.c:900
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
-msgstr "--strip-trailing-cr  Tước ký tự về đầu dòng (cr) theo sau khi gõ."
+msgstr ""
+"    --strip-trailing-cr         cắt bỏ ký tự về đầu dòng (cr) theo sau khi gõ"
 
-#: src/diff.c:898
-#, fuzzy
+#: src/diff.c:902
 msgid "    --binary                    read and write data in binary mode"
-msgstr "--binary  Đọc và ghi dữ liệu bằng chế độ nhị phân."
+msgstr ""
+"    --binary                    đọc và ghi dữ liệu trong chế độ nhị phân"
 
-#: src/diff.c:901
-#, fuzzy
+#: src/diff.c:905
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr ""
-"-D TÊN  --ifdef=TÊN  Xuất tập tin đã hợp nhất để hiển thị dữ liệu khác biệt "
-"`#ifdef TÊN'."
+"-D, --ifdef=TÊN                 kết xuất tập tin đã trộn với khác biệt "
+"“#ifdef TÊN”"
 
-#: src/diff.c:902
-#, fuzzy
+#: src/diff.c:906
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
-msgstr ""
-"--LOẠIN-group-format=DẠNGN  Tương tự, nhưng mà _định dạng nhóm_ gõ LOẠIN với "
-"DẠNGN."
+msgstr "    --GTYPE-group-format=GFMT   định dạng nhập GTYPE với GFMT "
 
-#: src/diff.c:903
-#, fuzzy
+#: src/diff.c:907
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr ""
-"--line-format=DẠNGD  Tương tự, nhưng mà _định dạng_ mọi _dòng_ gõ với DẠNGD."
+"    --line-format=LFMT          định dạng tất cảc các dòng vào với LFMT"
 
-#: src/diff.c:904
-#, fuzzy
+#: src/diff.c:908
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
-msgstr ""
-"--LOẠID-line-format=DẠNGD  Tương tự, nhưng mà _định dạng dòng_ gõ LOẠID vớI "
-"DẠNGD."
+msgstr "    --LTYPE-line-format=LFMT    định dạng nhập LTYPE với LFMT"
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
+"  Nhưng tùy chọn đó điểu khiển kết xuất ra định dạng diff\n"
+"    đẹp hơn, khái quát hóa -D/--ifdef."
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
-"  LOẠID là `cũ', `mới', hay `chưa thay đổi'.  LOẠIN là LOẠID hay `thay đổi "
-"rồi'."
+"  LTYPE là “cũ”, “mới”, hoặc “chưa thay đổi”. GTYPE là LTYPE hoặc “thay đổi "
+"rồi."
 
-#: src/diff.c:908
-#, fuzzy
+#: src/diff.c:912
 msgid ""
 "  GFMT (only) may contain:\n"
 "    %<  lines from FILE1\n"
@@ -984,33 +962,31 @@ msgid ""
 "        M  L+1\n"
 "    %(A=B?T:E)  if A equals B then T else E"
 msgstr ""
-"DẠNGN có thể chứa:\n"
-"  %<  dòng từ TẬP_TIN1\n"
-"  %>  dòng từ TẬP_TIN2\n"
-"  %=  dòng chung của TẬP_TIN1 và TẬP_TIN2\n"
-"  %[-][ĐỘ_RỘNG][.[PREC]]{doxX}CHỮ  dữ liệu ghi rõ dạng printf cho chữ ấy\n"
-"    CHỮ thường cho nhóm củ, CHỮ như theo cho nhóm mới:\n"
-"      F  số dòng đầu\n"
-"      L  số dòng cuối cùng\n"
-"      N  tổng số dòng = L-F+1\n"
-"      E  F-1\n"
-"      M  L+1"
-
-#: src/diff.c:920
-#, fuzzy
+"    GFMT chỉ có thể chứa:\n"
+"    %<  dòng từ TẬP_TIN1\n"
+"    %>  dòng từ TẬP_TIN2\n"
+"    %=  dòng chung của TẬP_TIN1 và TẬP_TIN2\n"
+"    %[-][ĐỘ_RỘNG][.[PREC]]{doxX}CHỮ  dạng printf cho CHỮ ấy\n"
+"      CHỮ HOA cho nhóm mới, chữ thường cho nhóm cũ:\n"
+"        F  số dòng đầu\n"
+"        L  số dòng cuối cùng\n"
+"        N  tổng số dòng = L-F+1\n"
+"        E  F-1\n"
+"        M  L+1    %(A=B?T:E)  nếu A bằng B thì T nếu không thì E"
+
+#: src/diff.c:924
 msgid ""
 "  LFMT (only) may contain:\n"
 "    %L  contents of line\n"
 "    %l  contents of line, excluding any trailing newline\n"
 "    %[-][WIDTH][.[PREC]]{doxX}n  printf-style spec for input line number"
 msgstr ""
-"DẠNGD có thể chứa:\n"
-"  %L  nội dung của dòng\n"
-"  %l  nội dung của dòng, loại trừ ký tự dòng mới nào đi theo\n"
-"  %[-][ĐỘ_RỘNG][.[PREC]]{doxX}n  dữ liệu ghi rõ dạng printf cho số dong gõ"
+"  LFMT chỉ có thể chứa:\n"
+"    %L  nội dung của dòng\n"
+"    %l  nội dung của dòng, loại trừ ký tự dòng mới nào đi theo\n"
+"    %[-][Đ_RỘNG][.[PREC]]{doxX}n đặc tả dạng printf cho số dòng đầu vào"
 
-#: src/diff.c:924
-#, fuzzy
+#: src/diff.c:928
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
 "    %%  %\n"
@@ -1018,104 +994,103 @@ msgid ""
 "    %c'\\OOO'  the character with octal code OOO\n"
 "    C    the character C (other characters represent themselves)"
 msgstr ""
-"Hoặc DẠNGN hoặc DẠNGD có thể chứa:\n"
-"  %%  %\n"
-"  %c'C'  ký tự riêng lẻ C\n"
-"  %c'\\OOO'  ký tự có mã bát phân OOO"
+"  Cả GFMT và LFMT có thể chứa:\n"
+"    %%  %\n"
+"    %c'C'  ký tự riêng lẻ C\n"
+"    %c'\\OOO'  ký tự có mã bát phân OOO\n"
+"    C      ký tự C (các ký tự khác đại diện cho chính chúng)"
 
-#: src/diff.c:930
-#, fuzzy
+#: src/diff.c:934
 msgid "-d, --minimal            try hard to find a smaller set of changes"
-msgstr "-d  --minimal  Cố tìm một bộ thay đổi nhỏ hơn (_tối thiểu_)."
+msgstr "-d, --minimal            cố tìm một thay đổi nhỏ"
 
-#: src/diff.c:931
-#, fuzzy
+#: src/diff.c:935
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
-msgstr "--horizon-lines=SỐ  Giữ SỐ _dòng_ của phụ tổ chung (_tầm nhận thức_)."
+msgstr "    --horizon-lines=SỐ   giữ SỐ dòng của tiền tố và hậu tố chung"
 
-#: src/diff.c:932
-#, fuzzy
+#: src/diff.c:936
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr ""
-"-H  --speed-large-files  Giả định _tập tin lớn_ và nhiều thay đổi nhỏ rải "
-"rác (_tốc độ_)."
+"    --speed-large-files  giả định tập tin lớn và nhiều thay đổi nhỏ rải rác"
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
-msgstr ""
+msgstr "    --help               hiển thị trợ giúp này rồi thoát"
 
-#: src/diff.c:935
-#, fuzzy
+#: src/diff.c:939
 msgid "-v, --version            output version information and exit"
-msgstr "-v  --version  Xuất thông tin _phiên bản_."
+msgstr "-v, --version            đưa ra thông tin phiên bản rồi thoát"
 
-#: src/diff.c:937
+#: src/diff.c:941
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
-"(NHIỀU) TẬP TIN là `TẬP_TIN1 TẬP_TIN2' hay `THƯ_MỤC1 THƯ_MỤC2' hay `THƯ_MỤC "
-"TẬP_TIN...' hay `TẬP_TIN... THƯ_MỤC'."
+"(CÁC) TẬP TIN là “TẬP_TIN1 TẬP_TIN2” hoặc “THƯ_MỤC1 THƯ_MỤC2” hoặc “THƯ_MỤC "
+"TẬP_TIN...” hay “TẬP_TIN... THƯ_MỤC”."
 
-#: src/diff.c:938
-#, fuzzy
+#: src/diff.c:942
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr ""
 "Nếu đưa ra tùy chọn --from-file (từ tập tin) hay --to-file (vào tập tin) thì "
 "không có giới hạn TẬP TIN."
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
-msgstr "Nếu TẬP TIN là `-' thì đọc thiết bị gõ chuẩn."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+msgid "If a FILE is '-', read standard input."
+msgstr "Nếu TẬP-TIN là “-”, thì đọc từ đầu vào tiêu chuẩn."
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
-msgstr "Cách sử dụng: %s [TÙY_CHỌN]... TẬP_TIN\n"
+msgstr "Cách dùng: %s [TÙY_CHỌN]... CÁC_TẬP_TIN\n"
 
-#: src/diff.c:950
-#, fuzzy
+#: src/diff.c:954
 msgid "Compare FILES line by line."
-msgstr "So sánh mỗi dòng trong nhiều tập tin."
+msgstr "So sánh các TẬP-TIN theo từng dòng."
 
-#: src/diff.c:984
+#: src/diff.c:988
 #, c-format
-msgid "conflicting %s option value `%s'"
-msgstr "tùy chọn %s xung đột, gia trị `%s'"
+msgid "conflicting %s option value '%s'"
+msgstr "tùy chọn %s xung đột, giá trị “%s”"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
-msgstr "nhiều tùy chọn kiểu dạng xuất xung đột với nhau"
+msgstr "nhiều tùy chọn điều khiển định dạng xuất xung đột với nhau"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "Chỉ trong %s: %s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
-msgstr "không so được `-' với thư mục"
+#: src/diff.c:1192
+msgid "cannot compare '-' to a directory"
+msgstr "không thể so sánh “-” với một thư mục"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
-msgstr "không hỗ trơ tùy chọn -D với thư mục"
+msgstr "không hỗ tr tùy chọn -D với thư mục"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "Thư mục con chung: %s và %s\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
-msgstr "Tập tin %s là một %s còn tập tin %s là một %s.\n"
+msgstr "Tập tin %s là một %s trong khi tập tin %s là một %s.\n"
+
+#: src/diff.c:1314
+#, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "Hai liên kết mềm %s và %s là khác nhau\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
-msgstr "Hai tập tin %s và %s là bằng nhau.\n"
+msgstr "Cả %s và %s là cùng một tập tin\n"
 
 # Tên họ
 #. This is a proper name. See the gettext manual, section Names.
@@ -1129,118 +1104,113 @@ msgid "incompatible options"
 msgstr "nhiều tùy chọn không tương thích với nhau"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
-msgstr "ghi rõ `-' cho hơn một tập tin gõ"
+msgid "'-' specified for more than one input file"
+msgstr "đã chỉ ra “-” cho nhiều hơn một tập tin đầu vào"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
-msgstr "không đọc được"
+msgstr "đọc gặp lỗi"
 
 #: src/diff3.c:428
-#, fuzzy
 msgid "-A, --show-all              output all changes, bracketing conflicts"
 msgstr ""
-"-A  --show-all  Xuất _tất cả_ thay đổi, cũng đặt mọi điều xung đột trong "
-"ngoặc đơn (_hiển thị_)."
+"-A, --show-all              kết xuất tất cả thay đổi, đặt mọi xung đột trong "
+"ngoặc đơn"
 
 #: src/diff3.c:430
-#, fuzzy
 msgid ""
 "-e, --ed                    output ed script incorporating changes\n"
 "                                from OLDFILE to YOURFILE into MYFILE"
 msgstr ""
-"-e  --ed  Xuất những thay đổi chưa hợp nhất từ TẬP_TIN_CŨ thành TẬP_TIN_KHÁC "
-"vào TẬP_TIN_TÔI."
+"-e, --ed                    kết xuất script ed những thay đổi hợp nhất\n"
+"                                từ TẬP_TIN_CŨ thành TẬP_TIN_CỦA_BẠN vào "
+"TẬP_TIN_TÔI."
 
 #: src/diff3.c:432
-#, fuzzy
 msgid "-E, --show-overlap          like -e, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap  Xuất nhiều thay đổi chưa hợp nhất, cũng đặt mọi điều "
-"xung đột trong ngoặc đơn (_chồng lấp_)."
+"-E, --show-overlap          giống -e, nhưng đặt xung đột trong ngoặc đơn"
 
 #: src/diff3.c:433
-#, fuzzy
 msgid ""
 "-3, --easy-only             like -e, but incorporate only nonoverlapping "
 "changes"
 msgstr ""
-"-3  --easy-only  Xuất _chỉ_ những thay đổi chưa hợp nhất và không chồng lấp "
-"(_dễ_)."
+"-3, --easy-only             giống -e, nhưng chỉ sát nhập những thay đổi "
+"không chồng lấp"
 
 #: src/diff3.c:434
-#, fuzzy
 msgid ""
 "-x, --overlap-only          like -e, but incorporate only overlapping changes"
-msgstr "-x  --overlap-only  Xuất _chỉ_ những thay đổi _chồng lấp_."
+msgstr ""
+"-x, --overlap-only          giống -e, nhưng chỉ sát nhập những thay đổi bị "
+"chồng lấp"
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
 msgstr ""
-"-E  --show-overlap  Xuất nhiều thay đổi chưa hợp nhất, cũng đặt mọi điều "
-"xung đột trong ngoặc đơn (_chồng lấp_)."
+"-X                          giống -x, nhưng đặt xung đột trong ngoặc đơn"
 
 #: src/diff3.c:436
-#, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
-msgstr "-i  Phụ thêm hai lệnh `w' và `q' vào mọi tập lệnh loại ed."
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
+msgstr ""
+"-i                          nối thêm hai lệnh “w” và “q” vào văn lệnh ed"
 
 #: src/diff3.c:438
 msgid ""
 "-m, --merge                 output actual merged file, according to\n"
 "                                -A if no other options are given"
 msgstr ""
+"-m, --merge                 kết xuất tập tin đã thực tế được hòa trộn, tuân "
+"theo\n"
+"                                tùy chọn -A nếu như không có tùy chọn khác "
+"được chỉ ra"
 
 #: src/diff3.c:441
-#, fuzzy
 msgid "-a, --text                  treat all files as text"
-msgstr "-a  --text  Xử lý mọi tập tin là _văn bản_."
+msgstr "-a, --text                  coi mọi tập tin là văn bản thường"
 
 #: src/diff3.c:442
-#, fuzzy
 msgid "    --strip-trailing-cr     strip trailing carriage return on input"
-msgstr "--strip-trailing-cr  Tước ký tự về đầu dòng (cr) theo sau khi gõ."
+msgstr ""
+"    --strip-trailing-cr     cắt bỏ ký tự về đầu dòng (cr) theo sau khi nhập"
 
 #: src/diff3.c:443
-#, fuzzy
 msgid "-T, --initial-tab           make tabs line up by prepending a tab"
 msgstr ""
-"-T  --initial-tab  Sắp xếp tất cả ký tự tab bằng cách thêm một _tab vào "
-"trước hết_."
+"-T, --initial-tab           tạo khoảng tab cho dòng bằng cách thêm một tab "
+"vào trước"
 
 #: src/diff3.c:444
-#, fuzzy
 msgid "    --diff-program=PROGRAM  use PROGRAM to compare files"
 msgstr ""
-"--diff-program=CHƯƠNG_TRÌNH  Sử dụng _chương trình_ ấy để so sánh nhiều tập "
-"tin (_khác biệt_)."
+"    --diff-program=CHƯƠNG_TRÌNH  dùng CHƯƠNG_TRÌNH để so sánh các tập tin"
 
 #: src/diff3.c:445
 msgid ""
 "-L, --label=LABEL           use LABEL instead of file name\n"
 "                                (can be repeated up to three times)"
 msgstr ""
+"-L, --label=NHÃN            sử dụng NHÃN thay vì tên tập tin\n"
+"                                (có thể lặp lại đến ba lần)"
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  Xử lý mọi tập tin là _văn bản_."
+msgstr "    --help                  hiển thị trợ giúp này rồi thoát"
 
 #: src/diff3.c:449
-#, fuzzy
 msgid "-v, --version               output version information and exit"
-msgstr "-v  --version  Xuất thông tin _phiên bản_."
+msgstr "-v, --version               đưa ra thông tin phiên bản rồi thoát"
 
 #: src/diff3.c:458
 #, c-format
 msgid "Usage: %s [OPTION]... MYFILE OLDFILE YOURFILE\n"
-msgstr "Cách sử dụng: %s [TÙY_CHỌN]... TẬP_TIN_TÔI TẬP_TIN_CŨ TẬP_TIN_KHÁC\n"
+msgstr "Cách dùng: %s [TÙY_CHỌN]... TẬP_TIN_TÔI TẬP_TIN_CŨ TẬP_TIN_BẠN\n"
 
 #: src/diff3.c:460
 msgid "Compare three files line by line."
-msgstr "So sánh mỗi dong trong ba tâp tin."
+msgstr "So sánh ba tập tin từng dòng một."
 
 #: src/diff3.c:470
 msgid ""
@@ -1255,11 +1225,23 @@ msgid ""
 "and output the actual merged file.  For unusual input, this is more\n"
 "robust than using ed.\n"
 msgstr ""
+"\n"
+"Định dạng kết xuất mặc định là hơi khó để con người có thể đọc được\n"
+"các thay đổi là gì.\n"
+"\n"
+"Tùy chọn -e, -E, -x, -X (tương ứng với dạng dài) là căn nguyên kết xuất "
+"dạng\n"
+"bó lệnh ed thay vì kiểu mặc định.\n"
+"\n"
+"Cuối cùng, tùy chọn -m (--merge) là căn nguyên diff3 thực hiện việc trộn từ "
+"nội tại\n"
+"và kết xuất là tập tin đã được trộn.  Với kiểu đầu vào ít dùng, đây là cách\n"
+"hợp lý hơn sử dụng ed.\n"
 
 #: src/diff3.c:482
 msgid "Exit status is 0 if successful, 1 if conflicts, 2 if trouble."
 msgstr ""
-"Tính trạng thoát là số 0 nếu thành công, số 1 nếu có xung đột nào và số 2 "
+"Trạng thái thoát là số 0 nếu thành công, số 1 nếu có xung đột nào và số 2 "
 "nếu gặp lỗi."
 
 #: src/diff3.c:675
@@ -1269,44 +1251,43 @@ msgstr "gặp lỗi nội bộ: không định dạng khối khác biệt đư
 #: src/diff3.c:968
 #, c-format
 msgid "%s: diff failed: "
-msgstr "%s: không khác biệt được:"
+msgstr "%s: diff gặp lỗi: "
 
 #: src/diff3.c:990
 msgid "internal error: invalid diff type in process_diff"
 msgstr ""
-"gặp lỗi nội bộ: loại khác biệt không hợp lệ trong process_diff (xử lý khac "
+"gặp lỗi nội bộ: loại khác biệt không hợp lệ trong process_diff (xử lý khác "
 "biệt)"
 
 #: src/diff3.c:1015
 msgid "invalid diff format; invalid change separator"
-msgstr ""
-"khuôn dạng khác biệt không hợp lệ; điều ngăn cách thay đổi không hợp lê"
+msgstr "khuôn dạng diff không hợp lệ; ký tự ngăn cách thay đổi không hợp lê"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
-msgstr "khuôn dang khác biệt không hợp lệ; chưa xong dòng cuối cùng"
+msgstr "khuôn dạng diff không hợp lệ; chưa xong dòng cuối cùng"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
 #, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "không gọi được chương trình phụ `%s"
+msgid "subsidiary program '%s' could not be invoked"
+msgstr "không gọi được chương trình phụ trợ “%s”"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "khuôn dạng khác biệt không hợp lệ; ký tự đi trước dòng là không đúng"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
-msgstr "gặp lỗi nội bộ: gởi xuất loại khác biệt không hợp lệ"
+msgstr "gặp lỗi nội bộ: kiểu diff không hợp lệ được chuyển qua cho kết xuất"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
-msgstr "tập tin gõ là co lại"
+msgstr "tập tin đầu vào co lại"
 
 #: src/dir.c:158
 #, c-format
-msgid "cannot compare file names `%s' and `%s'"
-msgstr "không so sánh được hai tập tin `%s' và `%s'"
+msgid "cannot compare file names '%s' and '%s'"
+msgstr "không so sánh được hai tập tin “%s” và “%s”"
 
 #: src/dir.c:209
 #, c-format
@@ -1319,137 +1300,126 @@ msgstr "%s: vòng lặp thư mục đệ quy"
 msgid "Thomas Lord"
 msgstr "Thomas Lord"
 
-#: src/sdiff.c:170
-#, fuzzy
+#: src/sdiff.c:173
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr ""
-"-o TẬP_TIN  --output=TẬP_TIN  Thực hiện một cách tương tác thì _xuất dữ "
-"liệu_ vào TÂP TIN."
+"-o, --output=TẬP_TIN         Thực hiện một cách tương tác, gửi kết xuất ra "
+"TẬP-TIN"
 
-#: src/sdiff.c:172
-#, fuzzy
+#: src/sdiff.c:175
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
-msgstr "-i  --ignore-case  _Bỏ qua chữ hoa/thường_: là tương tự."
+msgstr "-i, --ignore-case            coi chữ HOA và thường là như nhau"
 
-#: src/sdiff.c:173
-#, fuzzy
+#: src/sdiff.c:176
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
-msgstr "-E  --ignore-tab-expansion  _Bỏ qua_ mọi thay đổi do _mở rộng tab_."
+msgstr "-E, --ignore-tab-expansion   bỏ qua mọi thay đổi do mở rộng tab"
 
-#: src/sdiff.c:174
-#, fuzzy
+#: src/sdiff.c:177
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
-msgstr "-w  --ignore-all-space  _Bỏ qua tất cả dấu cách_."
+msgstr "-Z, --ignore-trailing-space  bỏ qua tất cả dấu cách ở cuối dòng"
 
-#: src/sdiff.c:175
-#, fuzzy
+#: src/sdiff.c:178
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
-msgstr "-b  --ignore-space-change  _Bỏ qua số dấu cách thay đổi_."
+msgstr "-b, --ignore-space-change    bỏ qua thay đổi gây ra bởi nhóm dấu cách"
 
-#: src/sdiff.c:176
-#, fuzzy
+#: src/sdiff.c:179
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space  _Bỏ qua tất cả dấu cách_."
+msgstr "-W, --ignore-all-space       bỏ qua tất cả dấu cách"
 
-#: src/sdiff.c:177
-#, fuzzy
+#: src/sdiff.c:180
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
-msgstr "-B  --ignore-blank-lines  _Bỏ qua dòng trống_ thay đổi."
+msgstr "-B, --ignore-blank-lines     bỏ qua thay đổi do đó là dòng trống"
 
-#: src/sdiff.c:179
-#, fuzzy
+#: src/sdiff.c:181
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I, --ignore-matching-lines=RE  bỏ qua thay đổi do mà mọi dòng khớp với RE"
+
+#: src/sdiff.c:182
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
-msgstr "--strip-trailing-cr  Tước ký tự về đầu dòng (cr) theo sau khi gõ."
+msgstr ""
+"    --strip-trailing-cr      cắt bỏ ký tự về đầu dòng (cr) theo sau khi gõ"
 
-#: src/sdiff.c:180
-#, fuzzy
+#: src/sdiff.c:183
 msgid "-a, --text                   treat all files as text"
-msgstr "-a  --text  Xử lý mọi tập tin là _văn bản_."
+msgstr "-a, --text                   coi mọi tập tin là văn bản thường"
 
-#: src/sdiff.c:182
-#, fuzzy
+#: src/sdiff.c:185
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr ""
-"-w SỐ  --width=SỐ  Xuất tối đa SỐ cột đã in ra (mặc định là 130) (_độ rộng_)."
+"-w, --width=SỐ               kết xuất tối đa SỐ cột đã in ra (mặc định là "
+"130)"
 
-#: src/sdiff.c:183
-#, fuzzy
+#: src/sdiff.c:186
 msgid ""
 "-l, --left-column            output only the left column of common lines"
-msgstr "-l  --left-column  Xuất chỉ _cột bên trái_ của mọi dòng chung."
+msgstr ""
+"-l, --left-column            kết xuất chỉ cột bên trái của các dòng chung "
+"nhau"
 
-#: src/sdiff.c:184
-#, fuzzy
+#: src/sdiff.c:187
 msgid "-s, --suppress-common-lines  do not output common lines"
-msgstr "-s  --suppress-common-lines  Không xuất _dòng chung_ nào (_thu hồi_)."
+msgstr "-s, --suppress-common-lines  không kết xuất các dòng chung nhau"
 
-#: src/sdiff.c:186
-#, fuzzy
+#: src/sdiff.c:189
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr ""
-"-t  --expand-tabs  _Mộ trộng ký tự tab_ ra ký tự cách riêng trong dữ liệu "
-"xuất."
+"-t, --expand-tabs            mở rộng ký tự tab ra ký tự khoảng trắng khi kết "
+"xuất"
 
-#: src/sdiff.c:187
-#, fuzzy
+#: src/sdiff.c:190
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr ""
-"--tabsize=SỐ  Có điểm đừng tab sau mỗi SỐ cột đã in ra (mặc định là 8)."
+"    --tabsize=SỐ             điểm đừng tab sau mỗi SỐ cột đã in ra (mặc định "
+"là 8)"
 
-#: src/sdiff.c:189
-#, fuzzy
+#: src/sdiff.c:192
 msgid "-d, --minimal                try hard to find a smaller set of changes"
-msgstr "-d  --minimal  Cố tìm một bộ thay đổi nhỏ hơn (_tối thiểu_)."
+msgstr "-d, --minimal                cố tìm một thay đổi nhỏ"
 
-#: src/sdiff.c:190
-#, fuzzy
+#: src/sdiff.c:193
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr ""
-"-H  --speed-large-files  Giả định _tập tin lớn_ và nhiều thay đổi nhỏ rải "
-"rác (_tốc độ_)."
+"-H, --speed-large-files      giả sử tập tin lớn, nhiều thay đổi nhỏ rải rác"
 
-#: src/sdiff.c:191
-#, fuzzy
+#: src/sdiff.c:194
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr ""
-"--diff-program=CHƯƠNG_TRÌNH  Sử dụng _chương trình_ ấy để so sánh nhiều tập "
-"tin (_khác biệt_)."
+"    --diff-program=CHƯƠNG_TRÌNH sử dụng CHƯƠNG_TRÌNH ấy để so sánh các tập "
+"tin"
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  Xử lý mọi tập tin là _văn bản_."
+msgstr "    --help                   hiển thị trợ giúp này rồi thoát"
 
-#: src/sdiff.c:194
-#, fuzzy
+#: src/sdiff.c:197
 msgid "-v, --version                output version information and exit"
-msgstr "-v  --version  Xuất thông tin _phiên bản_."
+msgstr "-v, --version                đưa ra thông tin phiên bản rồi thoát"
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
-msgstr "Cách sư dụng: %s [TÙY_CHỌN]... TẬP_TIN1 TẬP_TIN2\n"
+msgstr "Cách ng: %s [TÙY_CHỌN]... TẬP_TIN1 TẬP_TIN2\n"
 
-#: src/sdiff.c:205
-#, fuzzy
+#: src/sdiff.c:208
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
-msgstr "Hợp nhất thay đổi tập tin một cách cạnh nhau."
+msgstr "Hòa trộn những khác biệt TỆP_TIN1 VÀ TỆP_TIN2 cạnh nhau."
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "không hợp nhất được dữ liệu gõ chuẩn một cách tương tác"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
-msgstr "cả hai tập tin để so sánh là thư mục"
+msgstr "cả hai tập tin dùng để so sánh đều là thư mục"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
 "eb:\tEdit then use both versions.\n"
@@ -1462,15 +1432,15 @@ msgid ""
 "v:\tVerbosely include common lines.\n"
 "q:\tQuit.\n"
 msgstr ""
-"ed:\tHiệu chinh rồi sử dụng cả hai phiên bản; nhãn mỗi điều với dòng đầu.\n"
-"eb:\tHiệu chinh rồi sử dụng cả hai phiên bản.\n"
-"el hay e1:\tHiệu chinh rồi sử dụng phiên bản bên trái.\n"
-"er hay e2:\tHiệu chinh rồi sử dụng phiên bản bên phải.\n"
-"e:\tHủy cả hai phiên bản rồi hiệu chỉnh một phiên bản mới.\n"
-"l hay 1:\tSử dụng phiên bản bên trái..\n"
+"ed:\tSửa rồi sử dụng cả hai phiên bản; mỗi cái gắn thêm phần đầu.\n"
+"eb:\tSửa rồi sử dụng cả hai phiên bản.\n"
+"el hay e1:\tSửa rồi sử dụng phiên bản bên trái.\n"
+"er hay e2:\tSửa rồi sử dụng phiên bản bên phải.\n"
+"e:\tHủy cả hai phiên bản rồi sửa một phiên bản mới.\n"
+"l hay 1:\tSử dụng phiên bản bên trái.\n"
 "r hay 2:\tSử dụng phiên bản bên phải.\n"
 "s:\tBao gồm dòng chung nhưng không xuất chi tiết.\n"
-"v:\tBao gồm dòng chung một cách chi tiết.\n"
+"v:\tBao gồm dòng chung xuất một cách chi tiết.\n"
 "q:\tThoát.\n"
 
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
@@ -1481,49 +1451,15 @@ msgstr ""
 #~ "-s  --quiet  --silent  Không xuất gì; chỉ hiển thị tính trạng thoát thôi "
 #~ "(_im_)."
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  Xuất thông tin _phiên bản_."
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  Xuất _trợ giúp_ này."
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "So sánh mỗi dong trong ba tâp tin."
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr "-E  --ignore-tab-expansion  _Bỏ qua_ mọi thay đổi do _mở rộng tab_."
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr "-b  --ignore-space-change  _Bỏ qua số dấu cách thay đổi_."
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  _Bỏ qua tất cả dấu cách_."
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr "-B  --ignore-blank-lines  _Bỏ qua dòng trống_ thay đổi."
-
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr "--strip-trailing-cr  Tước ký tự về đầu dòng (cr) theo sau khi gõ."
-
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  Xử lý mọi tập tin là _văn bản_."
-
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1536,10 +1472,6 @@ msgstr ""
 #~ "  -F RE  --show-function-line=RE  \n"
 #~ "\t\t\t_Hiển thị dòng_ gần đây nhất mà khớp với RE (_chức năng_)."
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed  Xuất tập lệnh loại ed."
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1553,39 +1485,12 @@ msgstr ""
 #~ "  \t\t--left-column  \tXuất chỉ _cột bên trái_ của dòng chung.\n"
 #~ "  \t\t--suppress-common-lines  \tKhông xuất dòng chung."
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr ""
-#~ "-t  --expand-tabs  _Mộ trộng ký tự tab_ ra ký tự cách riêng trong dữ liệu "
-#~ "xuất."
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr ""
-#~ "-T  --initial-tab  Sắp xếp tất cả ký tự tab bằng cách thêm một _tab vào "
-#~ "trước hết_."
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr ""
-#~ "--tabsize=SỐ  Có điểm đừng tab sau mỗi SỐ cột đã in ra (mặc định là 8)."
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  Cố tìm một bộ thay đổi nhỏ hơn (_tối thiểu_)."
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr ""
 #~ "--speed-large-files  Giả định _tập tin lớn_ và nhiều thay đổi nhỏ rải rác "
 #~ "(_tốc độ_)."
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr ""
-#~ "-A  --show-all  Xuất _tất cả_ thay đổi, cũng đặt mọi điều xung đột trong "
-#~ "ngoặc đơn (_hiển thị_)."
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr ""
 #~ "-X  Xuất những thay đổi chồng lấp, cũng đặt mọi điều xung đột trong ngoặc "
@@ -1598,55 +1503,3 @@ msgstr ""
 
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L NHÃN  --label=NHÃN  Sử dụng NHÃN thay thế tên tập tin."
-
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr ""
-#~ "--diff-program=CHƯƠNG_TRÌNH  Sử dụng _chương trình_ ấy để so sánh nhiều "
-#~ "tập tin (_khác biệt_)."
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space  _Bỏ qua tất cả dấu cách_."
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr ""
-#~ "-w SỐ  --width=SỐ  Xuất tối đa SỐ cột đã in ra (mặc định là 130) (_độ "
-#~ "rộng_)."
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "-l  --left-column  Xuất chỉ _cột bên trái_ của mọi dòng chung."
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr ""
-#~ "--speed-large-files  Giả định _tập tin lớn_ và nhiều thay đổi nhỏ rải rác "
-#~ "(_tốc độ_)."
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "không đọc được"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "không ghi được"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "không đọc được"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "không đọc được"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "không ghi được"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "không ghi được"
index 4f45361..4661339 100644 (file)
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
index e439d11..d53c7fe 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: diffutils 2.8.7\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2004-06-05 11:37+0800\n"
 "Last-Translator: Yingxin Zhou <eerd003@dlut.edu.cn>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -25,7 +25,7 @@ msgstr "程序错误"
 msgid "stack overflow"
 msgstr "栈溢出"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "未知的系统错误"
 
@@ -138,100 +138,102 @@ msgstr "%s:选项 “%s” 需要一个参数\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "成功"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "没有匹配"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "无效的正则表达式"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "无效的对照字符"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "无效的字符种类名称"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "末端有多余的反斜号"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "无效的向后引用"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "没有匹配的 [ 或 [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "没有匹配的 ( 或 \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "没有匹配的 \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "\\{\\} 中的内容无效"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "范围末端字符无效"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "内存耗尽"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "无效的前导正则表达式"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "正则表达式过旱结束"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "正则表达式过大"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "没有匹配的 ) 或 \\"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "之前没有任何正则表达式"
 
@@ -263,17 +265,17 @@ msgstr ""
 
 #: lib/xstrtol-error.c:63
 #, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "无效的 --bytes 值 `%s'"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "无效的水平长度 “%s”"
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr ""
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr ""
 
 #: lib/version-etc.c:74
@@ -441,7 +443,7 @@ msgstr ""
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "文件 %s 和 %s 不同\n"
@@ -451,7 +453,7 @@ msgstr "文件 %s 和 %s 不同\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "文件 %s 和 %s 不同\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "文件尾没有 newline 字符"
 
@@ -465,14 +467,14 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr ""
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "请尝试 “%s --help”,以获得更多信息。"
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "无效的 --ignore-initial 值 “%s”"
 
 #: src/cmp.c:147
@@ -480,14 +482,14 @@ msgstr "无效的 --ignore-initial 值 “%s”"
 msgid "options -l and -s are incompatible"
 msgstr "选项 -l 和 -s 不兼容"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "写入失败"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "标准输出"
 
@@ -548,7 +550,7 @@ msgid ""
 "at the beginning of each file (zero by default)."
 msgstr "SKIP1 和 SKIP2分别是每个文件要略过的字节数。"
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -564,26 +566,27 @@ msgstr ""
 "还有 T、P、E、Z、Y 如此类推。"
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "如果文件是 “-” 或没给出,则从标准输入读入内容。"
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr "如果输入相同,则退出状态为 0;1 表示输入不同;2 表示有错误产生。"
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "无效的 --bytes 值 `%s'"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "操作数 “%s” 后缺少参数"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "多余的操作数 “%s”"
 
 #: src/cmp.c:491
@@ -602,216 +605,218 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp:%s 已结束\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr ""
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "无效的上下文行数 “%s”"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "此系统不支持分页"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "过多的文件标号选项"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "无效的宽度 “%s”"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "宽度选项冲突"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "无效的水平长度 “%s”"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "无效的制表符宽度 “%s”"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "的制表符选项冲突"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "同时指定了选项 --from-file 和 --to-file"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal 以正常的 diff 方式输出。"
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q  --brief  只显示文件是否不同。"
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files   当两个一样时仍然显示结果。"
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
-msgstr "-w NUM  --width=NUM         每行显示最多 NUM(默认 130)个字符。"
+msgstr ""
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr "-w NUM  --width=NUM         每行显示最多 NUM(默认 130)个字符。"
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text  所有文件都以文本方式处理。"
+msgstr "-e  --ed 以 ed script 方式输出。"
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs  以 RCS diff 格式输出。"
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version  输出版本信息。"
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr "-w NUM  --width=NUM         每行显示最多 NUM(默认 130)个字符。"
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr "-l  --left-column           当有两行相同时只显示左边的一行。"
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  当有两行相同时不显示。"
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  将输出中的 tab 转换成空格。"
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr "-T  --initial-tab  每行先加上 tab 字符,使 tab 字符可以对齐。"
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr "--tabsize=NUM  定位字符 (tab) 的宽度,默认为 8 个空格宽。"
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr "-l  --paginate 将输出送至‘pr’指令来分页。"
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr "-r  --recursive  连同所有子目录一起比较。"
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N  --new-file  不存在的文件以空文件方式处理。"
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr "--unidirectional-new-file  若第一文件案不存在,以空文件处理。"
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr "--ignore-file-name-case  忽略文件名大小写的区别。"
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr "--no-ignore-file-name-case  不忽略文件名大小写的区别。"
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr "-x PAT  --exclude=PAT  排除匹配 PAT 的文件。"
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr ""
 "-X FILE  --exclude-from=FILE   排除所有匹配在 FILE 中列出的模式的文件。"
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr "-S FILE  --starting-file=FILE  当比较目录時,由 FILE 开始比较。"
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -820,7 +825,7 @@ msgstr ""
 "--from-file=FILE1  将 FILE1 和操作数中的所有文件/目录作比较。FILE1 可以是目"
 "录。"
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -829,97 +834,98 @@ msgstr ""
 "--to-file=FILE2    将操作数中的所有文件/目录和 FILE2 作比较。FILE2 可以是目"
 "录。"
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr "-i  --ignore-case  忽略文件内容大小写的区别。"
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr "-E  --ignore-tab-expansion  忽略由制表符宽度造成的差异。"
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-space   忽略所有空格。"
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  忽略由空格数不同造成的差异。"
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space   忽略所有空格。"
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr "-B  --ignore-blank-lines  忽略任何因空行而造成的差异。"
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I RE  --ignore-matching-lines=RE  如果某行匹配正则表达式,则忽略由该行造成的"
 "差异。"
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text  所有文件都以文本方式处理。"
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  去除输入内容每行末端的 carriage return 字符。"
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "以二进制方式读写数据。"
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr "-D NAME  --ifdef=NAME  输出的内容以‘#ifdef NAME’方式标明差异。"
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "--GTYPE-group-format=GFMT  效果类似,但会以 GFMT 格式处理 GTYPE 输入的行。"
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr "--line-format=LFMT  效果类似,但会以 LFMT 格式处理每一行资料。"
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "--LTYPE-line-format=LFMT   效果类似,但会以 LFMT 格式处理 LTYPE 输入的行。"
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  LTYPE 可以是‘old’、‘new’或‘unchanged’。GTYPE 可以是 LTYPE 的选择\n"
 "  或是‘changed’。"
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -947,7 +953,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -960,7 +966,7 @@ msgstr ""
 "    %l  该行的内容,但不包括结束的 newline 字符\n"
 "    %[-][宽度][.[精确度]]{doxX}n  以 printf 格式表示的输入资料行号"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -974,92 +980,100 @@ msgstr ""
 "    %c'C'     字符 C\n"
 "    %c'\\OOO'  八进制数字 OOO 所代表的字符"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr "-d  --minimal  尽可能找出最小的差异。"
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr "--horizon-lines=NUM      (此选项不做处理)"
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr "-H  --speed-large-files  假设文件十分大而且文件中含有许多微小的差异。"
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version  输出版本信息。"
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "FILES 的格式可以是‘FILE1 FILE2’、‘DIR1 DIR2’、‘DIR FILE...’或\n"
 "    ‘FILE... DIR’。"
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr "如果使用 --from-file 或 --to-file 选项,FILES 的格式则不受限制。"
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "如果 FILE 是‘-’,则由标准输入读取内容。"
 
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "用法:%s [选项]... FILES\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "逐行比较文件。"
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "互相冲突的 %s 选项,参数值为 “%s”"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, fuzzy, c-format
 msgid "conflicting output style options"
 msgstr "互相冲突的输出选项 %s ,参数值为“%s”"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "只在 %s 存在:%s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "“-” 无法与目录作比较"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "-D 选项不支持目录使用"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "%s 和 %s 有共同的子目录\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "文件 %s 是%s而文件 %s 是%s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "文件 %s 和 %s 不同\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "檔案 %s 和 %s 相同\n"
@@ -1075,11 +1089,12 @@ msgid "incompatible options"
 msgstr "不兼容的选项"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "输入文件 “-” 不可多於一个"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "读取时失败"
 
@@ -1116,13 +1131,12 @@ msgid ""
 msgstr "-x  --overlap-only   只输出重叠的更改部份。"
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
-msgstr "-E  --show-overlap   输出未合并的更改部份,并括上互相冲突的地方。"
+msgstr ""
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "-i  在 ed script 中附加‘w’和‘q’指令。"
 
 #: src/diff3.c:438
@@ -1158,9 +1172,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text  所有文件都以文本方式处理。"
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1211,30 +1224,30 @@ msgstr "内部错误:process_diff 中的 diff 类型无效"
 msgid "invalid diff format; invalid change separator"
 msgstr "无效的 diff 格式;表示内容改变的分隔字符串无效"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "无效的 diff 格式;最后一行不完整"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "无法调用辅助程序 “%s”"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "无效的 diff 格式;错误的行前导字符"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "内部错误:传递给输出的 diff 类型无效"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "输入文件缩小"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "无法比较文件名 “%s“ 和 ”%s“"
 
 #: src/dir.c:209
@@ -1247,127 +1260,133 @@ msgstr ""
 msgid "Thomas Lord"
 msgstr ""
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr "-o 文件  --output=文件      交互式操作,并将结果写入至<文件>。"
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i  --ignore-case  忽略大写和小写的区别。"
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr "-E  --ignore-tab-expansion  忽略由制表符宽度造成的差异。"
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-space   忽略所有空格。"
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change  忽略由空格数不同造成的差异。"
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space   忽略所有空格。"
+msgstr "-W  --ignore-all-space      忽略所有空白字符。"
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr "-B  --ignore-blank-lines  忽略任何因空行而造成的差异。"
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I RE  --ignore-matching-lines=RE  如果某行匹配正则表达式,则忽略由该行造成的"
+"差异。"
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr "--strip-trailing-cr  去除输入内容每行末端的 carriage return 字符。"
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text  所有文件都以文本方式处理。"
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr "-w NUM  --width=NUM         每行显示最多 NUM(默认 130)个字符。"
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr "-l  --left-column           当有两行相同时只显示左边的一行。"
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  当有两行相同时不显示。"
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t  --expand-tabs  将输出中的 tab 转换成空格。"
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr "--tabsize=NUM  定位字符 (tab) 的宽度,默认为 8 个空格宽。"
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr "-d  --minimal  尽可能找出最小的差异。"
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr "-H  --speed-large-files  假设文件十分大而且文件中含有许多微小的差异。"
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr "--diff-program=程序  用<程序>来比较文件。"
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text  所有文件都以文本方式处理。"
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version  输出版本信息。"
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "用法:%s [选项]... 文件1 文件2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "以并排方式合并文件之间的差异。"
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "不允許以交互方式合并标准输入的内容"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "两个要被比较的文件都是目录"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 #, fuzzy
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
@@ -1392,55 +1411,42 @@ msgstr ""
 "v :\t加上两边一样的行时会在输出上显示。\n"
 "q :\t退出。\n"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s:非法选项 -- %c\n"
+
+#~ msgid ""
+#~ "This is free software; see the source for copying conditions.  There is "
+#~ "NO\n"
+#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
+#~ "PURPOSE.\n"
+#~ msgstr ""
+#~ "本程序是自由软件;请参看源代码的版权声明。本软件不提供任何保证;\n"
+#~ "即使是商业的或为某一专用目的适用性保证也没有。\n"
+
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 
 #~ msgid "-s  --quiet  --silent  Output nothing; yield exit status only."
 #~ msgstr "-s  --quiet  --silent  无任何输出;只产生退出状态。"
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version  输出版本信息。"
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help  输入本帮助。"
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "逐行比较三个文件。"
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr "-E  --ignore-tab-expansion  忽略由制表符宽度造成的差异。"
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr "-b  --ignore-space-change  忽略由空格数不同造成的差异。"
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space      忽略所有空白字符。"
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr "-B  --ignore-blank-lines  忽略任何因空行而造成的差异。"
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
+#~ msgstr "请向 <bug-gnu-utils@gnu.org> 报告错误。"
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr "--strip-trailing-cr  去除输入内容每行末端的 carriage return 字符。"
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "“-%ld” 选项已过时;请使用 “-%c %ld”"
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text  所有文件都以文本方式处理。"
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "“-%ld” 选项已过时;忽略之"
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1452,10 +1458,6 @@ msgstr ""
 #~ "   -p  --show-c-function           显示和每个差异有关的 C 函数名称。\n"
 #~ "   -F RE  --show-function-line=RE  显示最接近而符合<正则表示式>的一行。"
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed 以 ed script 方式输出。"
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1467,30 +1469,10 @@ msgstr ""
 #~ "  --left-column            当有两行相同时只显示左边的一行。\n"
 #~ "  --suppress-common-lines  当有两行相同时不会显示。"
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs  将输出中的 tab 转换成空格。"
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr "-T  --initial-tab  每行先加上 tab 字符,使 tab 字符可以对齐。"
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr "--tabsize=NUM  定位字符 (tab) 的宽度,默认为 8 个空格宽。"
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal  尽可能找出最小的差异。"
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr "--speed-large-files     假设文件十分大而且其中含有许多微小的差异。"
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr "-A  --show-all       输出所有要更改的部份,并括上互相冲突的地方。"
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "-X  输出重叠的更改部份,并加上括号。"
 
@@ -1500,73 +1482,6 @@ msgstr ""
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L 标识  --label=标识    以<标识>代替文件名称。"
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr "--diff-program=程序  用<程序>来比较文件。"
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space      忽略所有空白字符。"
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr "-w NUM  --width=NUM         每行显示最多 NUM(默认 130)个字符。"
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "-l  --left-column           当有两行相同时只显示左边的一行。"
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr "--speed-large-files     假设文件十分大而且其中含有许多微小的差异。"
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "读取时失败"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "写入失败"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "读取时失败"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "读取时失败"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "写入失败"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "写入失败"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s:非法选项 -- %c\n"
-
-#~ msgid ""
-#~ "This is free software; see the source for copying conditions.  There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-#~ msgstr ""
-#~ "本程序是自由软件;请参看源代码的版权声明。本软件不提供任何保证;\n"
-#~ "即使是商业的或为某一专用目的适用性保证也没有。\n"
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr "请向 <bug-gnu-utils@gnu.org> 报告错误。"
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "“-%ld” 选项已过时;请使用 “-%c %ld”"
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "“-%ld” 选项已过时;忽略之"
-
 #~ msgid "subsidiary program `%s' not found"
 #~ msgstr "找不到辅助程序 “%s”"
 
index dea6f8f..83f6abb 100644 (file)
Binary files a/po/zh_TW.gmo and b/po/zh_TW.gmo differ
index 665ab25..b9bae34 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: diffutils 2.8.7\n"
 "Report-Msgid-Bugs-To: bug-diffutils@gnu.org\n"
-"POT-Creation-Date: 2011-09-02 17:19+0200\n"
+"POT-Creation-Date: 2013-03-24 11:05-0700\n"
 "PO-Revision-Date: 2005-04-01 14:31+0800\n"
 "Last-Translator: Abel Cheung <maddog@linux.org.hk>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -23,7 +23,7 @@ msgstr "程式錯誤"
 msgid "stack overflow"
 msgstr "堆疊溢位"
 
-#: lib/error.c:185
+#: lib/error.c:188
 msgid "Unknown system error"
 msgstr "不明的系統錯誤"
 
@@ -136,100 +136,102 @@ msgstr "%s:選項‘%s’需要參數\n"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
-#.
 #. The message catalog should translate "`" to a left
 #. quotation mark suitable for the locale, and similarly for
-#. "'".  If the catalog has no translation,
-#. locale_quoting_style quotes `like this', and
-#. clocale_quoting_style quotes "like this".
+#. "'".  For example, a French Unicode local should translate
+#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
+#. QUOTATION MARK), respectively.
 #.
-#. For example, an American English Unicode locale should
-#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
-#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
-#. MARK).  A British English Unicode locale should instead
-#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
-#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#. If the catalog has no translation, we will try to
+#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
+#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK).  If the
+#. current locale is not Unicode, locale_quoting_style
+#. will quote 'like this', and clocale_quoting_style will
+#. quote "like this".  You should always include translations
+#. for "`" and "'" even if U+2018 and U+2019 are appropriate
+#. for your locale.
 #.
 #. If you don't know what to put here, please see
-#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
 #. and use glyphs suitable for your language.
-#: lib/quotearg.c:271
+#: lib/quotearg.c:312
 msgid "`"
 msgstr ""
 
-#: lib/quotearg.c:272
+#: lib/quotearg.c:313
 msgid "'"
 msgstr ""
 
-#: lib/regcomp.c:133
+#: lib/regcomp.c:131
 msgid "Success"
 msgstr "成功"
 
-#: lib/regcomp.c:136
+#: lib/regcomp.c:134
 msgid "No match"
 msgstr "沒有符合的字串"
 
-#: lib/regcomp.c:139
+#: lib/regcomp.c:137
 msgid "Invalid regular expression"
 msgstr "不正確的正規表示式"
 
-#: lib/regcomp.c:142
+#: lib/regcomp.c:140
 msgid "Invalid collation character"
 msgstr "無效的 collation 字元"
 
-#: lib/regcomp.c:145
+#: lib/regcomp.c:143
 msgid "Invalid character class name"
 msgstr "無效的字元種類名稱"
 
-#: lib/regcomp.c:148
+#: lib/regcomp.c:146
 msgid "Trailing backslash"
 msgstr "末端有多餘的反斜號"
 
-#: lib/regcomp.c:151
+#: lib/regcomp.c:149
 msgid "Invalid back reference"
 msgstr "無效的 back reference"
 
-#: lib/regcomp.c:154
+#: lib/regcomp.c:152
 msgid "Unmatched [ or [^"
 msgstr "沒有對應的 [ 或 [^"
 
-#: lib/regcomp.c:157
+#: lib/regcomp.c:155
 msgid "Unmatched ( or \\("
 msgstr "沒有對應的 ( 或 \\("
 
-#: lib/regcomp.c:160
+#: lib/regcomp.c:158
 msgid "Unmatched \\{"
 msgstr "沒有對應的 \\{"
 
-#: lib/regcomp.c:163
+#: lib/regcomp.c:161
 msgid "Invalid content of \\{\\}"
 msgstr "\\{\\} 中的內容無效"
 
-#: lib/regcomp.c:166
+#: lib/regcomp.c:164
 msgid "Invalid range end"
 msgstr "範圍末端字元無效"
 
-#: lib/regcomp.c:169
+#: lib/regcomp.c:167
 msgid "Memory exhausted"
 msgstr "記憶體耗盡"
 
-#: lib/regcomp.c:172
+#: lib/regcomp.c:170
 msgid "Invalid preceding regular expression"
 msgstr "之前的正規表示式無效"
 
-#: lib/regcomp.c:175
+#: lib/regcomp.c:173
 msgid "Premature end of regular expression"
 msgstr "正規表示式過早結束"
 
-#: lib/regcomp.c:178
+#: lib/regcomp.c:176
 msgid "Regular expression too big"
 msgstr "正規表示式過長"
 
-#: lib/regcomp.c:181
+#: lib/regcomp.c:179
 msgid "Unmatched ) or \\)"
 msgstr "沒有對應的 ) 或 \\)"
 
-#: lib/regcomp.c:702
+#: lib/regcomp.c:704
 msgid "No previous regular expression"
 msgstr "之前沒有任何正規表示式"
 
@@ -261,17 +263,17 @@ msgstr ""
 
 #: lib/xstrtol-error.c:63
 #, fuzzy, c-format
-msgid "invalid %s%s argument `%s'"
+msgid "invalid %s%s argument '%s'"
 msgstr "無效的 --bytes 值 ‘%s’"
 
 #: lib/xstrtol-error.c:68
-#, fuzzy, c-format
-msgid "invalid suffix in %s%s argument `%s'"
-msgstr "無效的水平長度 ‘%s’"
+#, c-format
+msgid "invalid suffix in %s%s argument '%s'"
+msgstr ""
 
 #: lib/xstrtol-error.c:72
 #, c-format
-msgid "%s%s argument `%s' too large"
+msgid "%s%s argument '%s' too large"
 msgstr ""
 
 #: lib/version-etc.c:74
@@ -439,7 +441,7 @@ msgstr ""
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 
-#: src/analyze.c:459 src/diff.c:1279
+#: src/analyze.c:459 src/diff.c:1343
 #, c-format
 msgid "Files %s and %s differ\n"
 msgstr "檔案 %s 與 %s 不同\n"
@@ -449,7 +451,7 @@ msgstr "檔案 %s 與 %s 不同\n"
 msgid "Binary files %s and %s differ\n"
 msgstr "二元碼檔 %s 與 %s 不同\n"
 
-#: src/analyze.c:713 src/diff3.c:1437 src/util.c:572
+#: src/analyze.c:713 src/diff3.c:1416 src/util.c:663
 msgid "No newline at end of file"
 msgstr "檔案末沒有 newline 字元"
 
@@ -463,14 +465,14 @@ msgstr "Torbjorn Granlund"
 msgid "David MacKenzie"
 msgstr ""
 
-#: src/cmp.c:118 src/diff.c:836 src/diff3.c:414 src/sdiff.c:155
-#, c-format
-msgid "Try `%s --help' for more information."
+#: src/cmp.c:118 src/diff.c:839 src/diff3.c:414 src/sdiff.c:158
+#, fuzzy, c-format
+msgid "Try '%s --help' for more information."
 msgstr "請嘗試‘%s --help’來獲取更多資訊。"
 
 #: src/cmp.c:137
-#, c-format
-msgid "invalid --ignore-initial value `%s'"
+#, fuzzy, c-format
+msgid "invalid --ignore-initial value '%s'"
 msgstr "無效的 --ignore-initial 值 ‘%s’"
 
 #: src/cmp.c:147
@@ -478,14 +480,14 @@ msgstr "無效的 --ignore-initial 值 ‘%s’"
 msgid "options -l and -s are incompatible"
 msgstr "-l 和 -s 選項不兼容"
 
-#: src/cmp.c:155 src/diff.c:845 src/diff3.c:422 src/sdiff.c:164
-#: src/sdiff.c:312 src/sdiff.c:319 src/sdiff.c:883 src/util.c:191
-#: src/util.c:284 src/util.c:291
+#: src/cmp.c:155 src/diff.c:848 src/diff3.c:422 src/sdiff.c:167
+#: src/sdiff.c:315 src/sdiff.c:322 src/sdiff.c:874 src/util.c:278
+#: src/util.c:375 src/util.c:382
 msgid "write failed"
 msgstr "寫入失敗"
 
-#: src/cmp.c:157 src/diff.c:847 src/diff.c:1344 src/diff3.c:424
-#: src/sdiff.c:166
+#: src/cmp.c:157 src/diff.c:850 src/diff.c:1408 src/diff3.c:424
+#: src/sdiff.c:169
 msgid "standard output"
 msgstr "標準輸出"
 
@@ -546,7 +548,7 @@ msgid ""
 "at the beginning of each file (zero by default)."
 msgstr "SKIP1 和 SKIP2 是每個檔案會略過的位元組數目。"
 
-#: src/cmp.c:185 src/diff.c:952 src/diff3.c:462 src/sdiff.c:207
+#: src/cmp.c:185 src/diff.c:956 src/diff3.c:462 src/sdiff.c:210
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
@@ -562,26 +564,27 @@ msgstr ""
 "還有 T、P、E、Z、Y 如此類推。"
 
 #: src/cmp.c:194
-msgid "If a FILE is `-' or missing, read standard input."
+#, fuzzy
+msgid "If a FILE is '-' or missing, read standard input."
 msgstr "如果檔案是‘-’或沒有指定,則由標準輸入讀入資料。"
 
-#: src/cmp.c:195 src/diff.c:940 src/sdiff.c:217
+#: src/cmp.c:195 src/diff.c:944 src/sdiff.c:220
 msgid "Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."
 msgstr "如果兩邊內容一樣,回傳值是 0;1 代表兩邊內容不相同,2 代表有錯誤。"
 
 #: src/cmp.c:240
-#, c-format
-msgid "invalid --bytes value `%s'"
+#, fuzzy, c-format
+msgid "invalid --bytes value '%s'"
 msgstr "無效的 --bytes 值 ‘%s’"
 
-#: src/cmp.c:266 src/diff.c:754 src/diff3.c:318 src/sdiff.c:562
-#, c-format
-msgid "missing operand after `%s'"
+#: src/cmp.c:266 src/diff.c:757 src/diff3.c:318 src/sdiff.c:565
+#, fuzzy, c-format
+msgid "missing operand after '%s'"
 msgstr "‘%s’後缺少了參數"
 
-#: src/cmp.c:278 src/diff.c:756 src/diff3.c:320 src/sdiff.c:564
-#, c-format
-msgid "extra operand `%s'"
+#: src/cmp.c:278 src/diff.c:759 src/diff3.c:320 src/sdiff.c:567
+#, fuzzy, c-format
+msgid "extra operand '%s'"
 msgstr "多餘的參數‘%s’"
 
 #: src/cmp.c:491
@@ -600,215 +603,217 @@ msgid "cmp: EOF on %s\n"
 msgstr "cmp:%s 已結束\n"
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:48
+#: src/diff.c:49
 msgid "Paul Eggert"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:49
+#: src/diff.c:50
 msgid "Mike Haertel"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:50
+#: src/diff.c:51
 msgid "David Hayes"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:51
+#: src/diff.c:52
 msgid "Richard Stallman"
 msgstr ""
 
 #. This is a proper name. See the gettext manual, section Names.
-#: src/diff.c:52
+#: src/diff.c:53
 msgid "Len Tower"
 msgstr ""
 
-#: src/diff.c:340
-#, c-format
-msgid "invalid context length `%s'"
+#: src/diff.c:339
+#, fuzzy, c-format
+msgid "invalid context length '%s'"
 msgstr "無效的上下文行數‘%s’"
 
-#: src/diff.c:423
+#: src/diff.c:422
 #, c-format
 msgid "pagination not supported on this host"
 msgstr "此系統不支援分頁"
 
-#: src/diff.c:438 src/diff3.c:300
+#: src/diff.c:437 src/diff3.c:300
 #, c-format
 msgid "too many file label options"
 msgstr "太多有關檔案標籤的選項"
 
-#: src/diff.c:515
-#, c-format
-msgid "invalid width `%s'"
+#: src/diff.c:514
+#, fuzzy, c-format
+msgid "invalid width '%s'"
 msgstr "無效的寬度‘%s’"
 
-#: src/diff.c:519
+#: src/diff.c:518
 msgid "conflicting width options"
 msgstr "出現互相抵觸的寬度選項"
 
-#: src/diff.c:544
-#, c-format
-msgid "invalid horizon length `%s'"
+#: src/diff.c:543
+#, fuzzy, c-format
+msgid "invalid horizon length '%s'"
 msgstr "無效的水平長度 ‘%s’"
 
-#: src/diff.c:595
-#, c-format
-msgid "invalid tabsize `%s'"
+#: src/diff.c:598
+#, fuzzy, c-format
+msgid "invalid tabsize '%s'"
 msgstr "無效的定位字元寬度 ‘%s’"
 
-#: src/diff.c:599
+#: src/diff.c:602
 msgid "conflicting tabsize options"
 msgstr "出現互相抵觸的定位字元寬度選項"
 
-#: src/diff.c:731
+#: src/diff.c:734
 msgid "--from-file and --to-file both specified"
 msgstr "同時指定了 --from-file 及 --to-file 選項"
 
-#: src/diff.c:851
+#: src/diff.c:854
 #, fuzzy
 msgid "    --normal                  output a normal diff (the default)"
 msgstr "--normal     以正常的 diff 方式輸出。"
 
-#: src/diff.c:852
+#: src/diff.c:855
 #, fuzzy
 msgid "-q, --brief                   report only when files differ"
 msgstr "-q  --brief  只顯示檔案是否不同。"
 
-#: src/diff.c:853
+#: src/diff.c:856
 #, fuzzy
 msgid "-s, --report-identical-files  report when two files are the same"
 msgstr "-s  --report-identical-files   當兩個檔案一樣時仍然顯示結果。"
 
-#: src/diff.c:854
-#, fuzzy
+#: src/diff.c:857
 msgid ""
 "-c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context"
-msgstr "-w NUM  --width=NUM         每行顯示最多 NUM(預設 130)個字元。"
+msgstr ""
 
-#: src/diff.c:855
+#: src/diff.c:858
 #, fuzzy
 msgid ""
 "-u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context"
 msgstr "-w NUM  --width=NUM         每行顯示最多 NUM(預設 130)個字元。"
 
-#: src/diff.c:856
+#: src/diff.c:859
 #, fuzzy
 msgid "-e, --ed                      output an ed script"
-msgstr "-a  --text               所有檔案都以文字檔方式處理。"
+msgstr "-e  --ed     以 ed script 方式輸出。"
 
-#: src/diff.c:857
+#: src/diff.c:860
 #, fuzzy
 msgid "-n, --rcs                     output an RCS format diff"
 msgstr "-n  --rcs    以 RCS diff 格式輸出。"
 
-#: src/diff.c:858
-#, fuzzy
+#: src/diff.c:861
 msgid "-y, --side-by-side            output in two columns"
-msgstr "-v  --version            顯示版本資訊。"
+msgstr ""
 
-#: src/diff.c:859
+#: src/diff.c:862
 #, fuzzy
 msgid ""
 "-W, --width=NUM               output at most NUM (default 130) print columns"
 msgstr "-w NUM  --width=NUM         每行顯示最多 NUM(預設 130)個字元。"
 
-#: src/diff.c:860
+#: src/diff.c:863
 #, fuzzy
 msgid ""
 "    --left-column             output only the left column of common lines"
 msgstr "-l  --left-column           當有兩行相同時只顯示左邊的一行。"
 
-#: src/diff.c:861
+#: src/diff.c:864
 #, fuzzy
 msgid "    --suppress-common-lines   do not output common lines"
 msgstr "-s  --suppress-common-lines  當有兩行相同時不會顯示。"
 
-#: src/diff.c:863
+#: src/diff.c:866
 msgid "-p, --show-c-function         show which C function each change is in"
 msgstr ""
 
-#: src/diff.c:864
+#: src/diff.c:867
 msgid "-F, --show-function-line=RE   show the most recent line matching RE"
 msgstr ""
 
-#: src/diff.c:865
+#: src/diff.c:868
 msgid ""
 "    --label LABEL             use LABEL instead of file name\n"
 "                                (can be repeated)"
 msgstr ""
 
-#: src/diff.c:868
+#: src/diff.c:871
 #, fuzzy
 msgid "-t, --expand-tabs             expand tabs to spaces in output"
 msgstr "-t  --expand-tabs        將輸出中的 tab 換成空格。"
 
-#: src/diff.c:869
+#: src/diff.c:872
 #, fuzzy
 msgid "-T, --initial-tab             make tabs line up by prepending a tab"
 msgstr "-T  --initial-tab        每行先加上 tab 字元,使 tab 字元可以對齊。"
 
-#: src/diff.c:870
+#: src/diff.c:873
 #, fuzzy
 msgid ""
 "    --tabsize=NUM             tab stops every NUM (default 8) print columns"
 msgstr "--tabsize=NUM            定位字元 (tab) 的寬度,預設為 8 個空格。"
 
-#: src/diff.c:871
+#: src/diff.c:874
 msgid ""
 "    --suppress-blank-empty    suppress space or tab before empty output lines"
 msgstr ""
 
-#: src/diff.c:872
+#: src/diff.c:875
 #, fuzzy
-msgid "-l, --paginate                pass output through `pr' to paginate it"
+msgid "-l, --paginate                pass output through 'pr' to paginate it"
 msgstr "-l  --paginate           將輸出送至‘pr’指令來分頁。"
 
-#: src/diff.c:874
+#: src/diff.c:877
 #, fuzzy
 msgid ""
 "-r, --recursive                 recursively compare any subdirectories found"
 msgstr "-r  --recursive                連同所有副目錄一起比較。"
 
-#: src/diff.c:875
+#: src/diff.c:878
+msgid "    --no-dereference            don't follow symbolic links"
+msgstr ""
+
+#: src/diff.c:879
 #, fuzzy
 msgid "-N, --new-file                  treat absent files as empty"
 msgstr "-N  --new-file                 不存在的檔案以空白檔案方式處理。"
 
-#: src/diff.c:876
+#: src/diff.c:880
 #, fuzzy
 msgid "    --unidirectional-new-file   treat absent first files as empty"
 msgstr "--unidirectional-new-file      若第一個檔案不存在,以空白檔案處理。"
 
-#: src/diff.c:877
+#: src/diff.c:881
 #, fuzzy
 msgid "    --ignore-file-name-case     ignore case when comparing file names"
 msgstr "--ignore-file-name-case     當比較檔案名稱時不分辨大小寫。"
 
-#: src/diff.c:878
+#: src/diff.c:882
 #, fuzzy
 msgid "    --no-ignore-file-name-case  consider case when comparing file names"
 msgstr "--no-ignore-file-name-case  當比較檔案名稱時會分辨大小寫。"
 
-#: src/diff.c:879
+#: src/diff.c:883
 #, fuzzy
 msgid "-x, --exclude=PAT               exclude files that match PAT"
 msgstr "-x PAT  --exclude=PAT          排除樣式為 PAT 的檔案。"
 
-#: src/diff.c:880
+#: src/diff.c:884
 #, fuzzy
 msgid ""
 "-X, --exclude-from=FILE         exclude files that match any pattern in FILE"
 msgstr "-X FILE  --exclude-from=FILE   排除所有在 FILE 中列出的樣式的檔案。"
 
-#: src/diff.c:881
+#: src/diff.c:885
 #, fuzzy
 msgid ""
 "-S, --starting-file=FILE        start with FILE when comparing directories"
 msgstr "-S FILE  --starting-file=FILE  當比較目錄時,由 FILE 開始比較。"
 
-#: src/diff.c:882
+#: src/diff.c:886
 #, fuzzy
 msgid ""
 "    --from-file=FILE1           compare FILE1 to all operands;\n"
@@ -816,7 +821,7 @@ msgid ""
 msgstr ""
 "--from-file=FILE1  將 FILE1 和參數中的所有檔案/目錄作比較。FILE1 可以是目錄。"
 
-#: src/diff.c:884
+#: src/diff.c:888
 #, fuzzy
 msgid ""
 "    --to-file=FILE2             compare all operands to FILE2;\n"
@@ -824,96 +829,97 @@ msgid ""
 msgstr ""
 "--to-file=FILE2    將參數中的所有檔案/目錄和 FILE2 作比較。FILE2 可以是目錄。"
 
-#: src/diff.c:887
+#: src/diff.c:891
 #, fuzzy
 msgid ""
 "-i, --ignore-case               ignore case differences in file contents"
 msgstr "-i  --ignore-case           不分辨檔案內容中的大小寫。"
 
-#: src/diff.c:888
+#: src/diff.c:892
 #, fuzzy
 msgid "-E, --ignore-tab-expansion      ignore changes due to tab expansion"
 msgstr "-E  --ignore-tab-expansion  忽略因將 tab 轉換為空格而造成的差異。"
 
-#: src/diff.c:889
+#: src/diff.c:893
 #, fuzzy
 msgid "-Z, --ignore-trailing-space     ignore white space at line end"
 msgstr "-w  --ignore-all-space      忽略所有空白字元。"
 
-#: src/diff.c:890
+#: src/diff.c:894
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change       ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change   忽略因空白字元數目不同而造成的差異。"
 
-#: src/diff.c:891
+#: src/diff.c:895
 #, fuzzy
 msgid "-w, --ignore-all-space          ignore all white space"
 msgstr "-w  --ignore-all-space      忽略所有空白字元。"
 
-#: src/diff.c:892
+#: src/diff.c:896
 #, fuzzy
 msgid ""
-"-B, --ignore-blank-lines        ignore changes whose lines are all blank"
+"-B, --ignore-blank-lines        ignore changes where lines are all blank"
 msgstr "-B  --ignore-blank-lines    忽略任何因空行而造成的差異。"
 
-#: src/diff.c:893 src/sdiff.c:178
+#: src/diff.c:897
 #, fuzzy
-msgid "-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"
+msgid "-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"
 msgstr ""
 "-I RE  --ignore-matching-lines=RE  忽略任何符合指定的<正規表示式>的地方。"
 
-#: src/diff.c:895
+#: src/diff.c:899
 #, fuzzy
 msgid "-a, --text                      treat all files as text"
 msgstr "-a  --text               所有檔案都以文字檔方式處理。"
 
-#: src/diff.c:896
+#: src/diff.c:900
 #, fuzzy
 msgid "    --strip-trailing-cr         strip trailing carriage return on input"
 msgstr "--strip-trailing-cr      去除輸入資料每行末端的 carriage return 字元。"
 
-#: src/diff.c:898
+#: src/diff.c:902
 #, fuzzy
 msgid "    --binary                    read and write data in binary mode"
 msgstr "--binary                 以二元碼檔模式讀寫資料。"
 
-#: src/diff.c:901
+#: src/diff.c:905
 #, fuzzy
 msgid ""
-"-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"
+"-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"
 msgstr "-D NAME  --ifdef=NAME      輸出的資料以‘#ifdef NAME’方式標明差異。"
 
-#: src/diff.c:902
+#: src/diff.c:906
 #, fuzzy
 msgid "    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"
 msgstr ""
 "--GTYPE-group-format=GFMT  效果類似,但會以 GFMT 格式處理 GTYPE 輸入行組。"
 
-#: src/diff.c:903
+#: src/diff.c:907
 #, fuzzy
 msgid "    --line-format=LFMT          format all input lines with LFMT"
 msgstr "--line-format=LFMT         效果類似,但會以 LFMT 格式處理每一行資料。"
 
-#: src/diff.c:904
+#: src/diff.c:908
 #, fuzzy
 msgid "    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"
 msgstr ""
 "--LTYPE-line-format=LFMT   效果類似,但會以 LFMT 格式處理 LTYPE 輸入行組。"
 
-#: src/diff.c:905
+#: src/diff.c:909
 msgid ""
 "  These format options provide fine-grained control over the output\n"
 "    of diff, generalizing -D/--ifdef."
 msgstr ""
 
-#: src/diff.c:907
-msgid "  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."
+#: src/diff.c:911
+#, fuzzy
+msgid "  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."
 msgstr ""
 "  LTYPE 可以是‘old’、‘new’或‘unchanged’。GTYPE 可以是 LTYPE 的選擇\n"
 "  或是‘changed’。"
 
-#: src/diff.c:908
+#: src/diff.c:912
 #, fuzzy
 msgid ""
 "  GFMT (only) may contain:\n"
@@ -941,7 +947,7 @@ msgstr ""
 "        E  F-1\n"
 "        M  L+1"
 
-#: src/diff.c:920
+#: src/diff.c:924
 #, fuzzy
 msgid ""
 "  LFMT (only) may contain:\n"
@@ -954,7 +960,7 @@ msgstr ""
 "    %l  該行的內容,但不包括結束的 newline 字元\n"
 "    %[-][寬度][.[精確度]]{doxX}n  以 printf 格式表示的輸入資料行號"
 
-#: src/diff.c:924
+#: src/diff.c:928
 #, fuzzy
 msgid ""
 "  Both GFMT and LFMT may contain:\n"
@@ -968,93 +974,101 @@ msgstr ""
 "    %c'C'     字元 C\n"
 "    %c'\\OOO'  八進位數字 OOO 所代表的字元"
 
-#: src/diff.c:930
+#: src/diff.c:934
 #, fuzzy
 msgid "-d, --minimal            try hard to find a smaller set of changes"
 msgstr "-d  --minimal            盡可能找出最小的差異。"
 
-#: src/diff.c:931
+#: src/diff.c:935
 #, fuzzy
 msgid "    --horizon-lines=NUM  keep NUM lines of the common prefix and suffix"
 msgstr "--horizon-lines=NUM      (此選項不作處理)"
 
-#: src/diff.c:932
+#: src/diff.c:936
 #, fuzzy
 msgid ""
 "    --speed-large-files  assume large files and many scattered small changes"
 msgstr "-H  --speed-large-files  假設檔案十分大而且當中含有許多些微的差異。"
 
-#: src/diff.c:934
+#: src/diff.c:938
 msgid "    --help               display this help and exit"
 msgstr ""
 
-#: src/diff.c:935
+#: src/diff.c:939
 #, fuzzy
 msgid "-v, --version            output version information and exit"
 msgstr "-v  --version            顯示版本資訊。"
 
-#: src/diff.c:937
+#: src/diff.c:941
+#, fuzzy
 msgid ""
-"FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."
+"FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."
 msgstr ""
 "FILES 的格式可以是‘FILE1 FILE2’、‘DIR1 DIR2’、‘DIR FILE...’或\n"
 "    ‘FILE... DIR’。"
 
-#: src/diff.c:938
+#: src/diff.c:942
 #, fuzzy
 msgid ""
 "If --from-file or --to-file is given, there are no restrictions on FILE(s)."
 msgstr "如果使用 --from-file 或 --to-file 選項,FILES 的格式則不受限制。"
 
-#: src/diff.c:939 src/diff3.c:481 src/sdiff.c:216
-msgid "If a FILE is `-', read standard input."
+#: src/diff.c:943 src/diff3.c:481 src/sdiff.c:219
+#, fuzzy
+msgid "If a FILE is '-', read standard input."
 msgstr "如果 FILE 是‘-’,則由標準輸入讀取資料。"
 
 # It is intentional *not* to translate FILES -- maddog
-#: src/diff.c:949
+#: src/diff.c:953
 #, c-format
 msgid "Usage: %s [OPTION]... FILES\n"
 msgstr "用法:%s [選項]... FILES\n"
 
-#: src/diff.c:950
+#: src/diff.c:954
 #, fuzzy
 msgid "Compare FILES line by line."
 msgstr "比較兩個檔案的每一行。"
 
-#: src/diff.c:984
-#, c-format
-msgid "conflicting %s option value `%s'"
+#: src/diff.c:988
+#, fuzzy, c-format
+msgid "conflicting %s option value '%s'"
 msgstr "互相矛盾的 %s 選項,參數值為‘%s’"
 
-#: src/diff.c:997
+#: src/diff.c:1001
 #, c-format
 msgid "conflicting output style options"
 msgstr "互相矛盾的輸出模式選項"
 
-#: src/diff.c:1054 src/diff.c:1254
+#: src/diff.c:1058 src/diff.c:1268
 #, c-format
 msgid "Only in %s: %s\n"
 msgstr "只在 %s 存在:%s\n"
 
-#: src/diff.c:1183
-msgid "cannot compare `-' to a directory"
+#: src/diff.c:1192
+#, fuzzy
+msgid "cannot compare '-' to a directory"
 msgstr "‘-’無法與目錄作比較"
 
-#: src/diff.c:1215
+#: src/diff.c:1227
 msgid "-D option not supported with directories"
 msgstr "-D 選項不可配合目錄使用"
 
-#: src/diff.c:1224
+#: src/diff.c:1236
 #, c-format
 msgid "Common subdirectories: %s and %s\n"
 msgstr "%s 和 %s 有共同的副目錄\n"
 
-#: src/diff.c:1264
+#: src/diff.c:1278 src/diff.c:1328
 #, c-format
 msgid "File %s is a %s while file %s is a %s\n"
 msgstr "檔案 %s 是%s而檔案 %s 是%s\n"
 
-#: src/diff.c:1335
+#: src/diff.c:1314
+#, fuzzy, c-format
+msgid "Symbolic links %s and %s differ\n"
+msgstr "檔案 %s 與 %s 不同\n"
+
+#: src/diff.c:1399
 #, c-format
 msgid "Files %s and %s are identical\n"
 msgstr "檔案 %s 和 %s 相同\n"
@@ -1070,11 +1084,12 @@ msgid "incompatible options"
 msgstr "不兼容的選項"
 
 #: src/diff3.c:353
-msgid "`-' specified for more than one input file"
+#, fuzzy
+msgid "'-' specified for more than one input file"
 msgstr "輸入檔‘-’不可多於一個"
 
-#: src/diff3.c:395 src/diff3.c:1262 src/diff3.c:1666 src/diff3.c:1721
-#: src/sdiff.c:304 src/sdiff.c:853 src/sdiff.c:864
+#: src/diff3.c:395 src/diff3.c:1241 src/diff3.c:1645 src/diff3.c:1700
+#: src/sdiff.c:307 src/sdiff.c:844 src/sdiff.c:855
 msgid "read failed"
 msgstr "讀取資料失敗"
 
@@ -1111,13 +1126,12 @@ msgid ""
 msgstr "-x  --overlap-only   只顯示重疊的更改部份。"
 
 #: src/diff3.c:435
-#, fuzzy
 msgid "-X                          like -x, but bracket conflicts"
-msgstr "-E  --show-overlap   顯示未合併的更改部份,並括上互相抵觸的地方。"
+msgstr ""
 
 #: src/diff3.c:436
 #, fuzzy
-msgid "-i                          append `w' and `q' commands to ed scripts"
+msgid "-i                          append 'w' and 'q' commands to ed scripts"
 msgstr "-i                       在 ed script 中附加‘w’和‘q’指令。"
 
 #: src/diff3.c:438
@@ -1153,9 +1167,8 @@ msgid ""
 msgstr ""
 
 #: src/diff3.c:448
-#, fuzzy
 msgid "    --help                  display this help and exit"
-msgstr "-a  --text               所有檔案都以文字檔方式處理。"
+msgstr ""
 
 #: src/diff3.c:449
 #, fuzzy
@@ -1206,30 +1219,30 @@ msgstr "內部錯誤:process_diff 中的 diff 類型無效"
 msgid "invalid diff format; invalid change separator"
 msgstr "無效的 diff 格式;表示資料變更的分隔字串無效"
 
-#: src/diff3.c:1272
+#: src/diff3.c:1251
 msgid "invalid diff format; incomplete last line"
 msgstr "無效的 diff 格式;最後一行不完整"
 
-#: src/diff3.c:1296 src/sdiff.c:272 src/util.c:301
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
+#: src/diff3.c:1275 src/sdiff.c:275 src/util.c:392
+#, fuzzy, c-format
+msgid "subsidiary program '%s' could not be invoked"
 msgstr "子程式 ‘%s’ 無法執行"
 
-#: src/diff3.c:1321
+#: src/diff3.c:1300
 msgid "invalid diff format; incorrect leading line chars"
 msgstr "diff 格式無效;某行的第一個字元不正確"
 
-#: src/diff3.c:1394
+#: src/diff3.c:1373
 msgid "internal error: invalid diff type passed to output"
 msgstr "內部錯誤:準備輸出的 diff 資料類型無效"
 
-#: src/diff3.c:1668 src/diff3.c:1725
+#: src/diff3.c:1647 src/diff3.c:1704
 msgid "input file shrank"
 msgstr "輸入檔縮小"
 
 #: src/dir.c:158
-#, c-format
-msgid "cannot compare file names `%s' and `%s'"
+#, fuzzy, c-format
+msgid "cannot compare file names '%s' and '%s'"
 msgstr "無法比較檔案 ‘%s’ 和 ‘%s’"
 
 #: src/dir.c:209
@@ -1242,127 +1255,132 @@ msgstr ""
 msgid "Thomas Lord"
 msgstr ""
 
-#: src/sdiff.c:170
+#: src/sdiff.c:173
 #, fuzzy
 msgid ""
 "-o, --output=FILE            operate interactively, sending output to FILE"
 msgstr "-o 檔案  --output=檔案      互動式操作,並將結果寫入至<檔案>。"
 
-#: src/sdiff.c:172
+#: src/sdiff.c:175
 #, fuzzy
 msgid ""
 "-i, --ignore-case            consider upper- and lower-case to be the same"
 msgstr "-i  --ignore-case           不分辨檔案內容中的大小寫。"
 
-#: src/sdiff.c:173
+#: src/sdiff.c:176
 #, fuzzy
 msgid "-E, --ignore-tab-expansion   ignore changes due to tab expansion"
 msgstr "-E  --ignore-tab-expansion  忽略因將 tab 轉換為空格而造成的差異。"
 
-#: src/sdiff.c:174
+#: src/sdiff.c:177
 #, fuzzy
 msgid "-Z, --ignore-trailing-space  ignore white space at line end"
 msgstr "-w  --ignore-all-space      忽略所有空白字元。"
 
-#: src/sdiff.c:175
+#: src/sdiff.c:178
 #, fuzzy
 msgid ""
 "-b, --ignore-space-change    ignore changes in the amount of white space"
 msgstr "-b  --ignore-space-change   忽略因空白字元數目不同而造成的差異。"
 
-#: src/sdiff.c:176
+#: src/sdiff.c:179
 #, fuzzy
 msgid "-W, --ignore-all-space       ignore all white space"
-msgstr "-w  --ignore-all-space      忽略所有空白字元。"
+msgstr "-W  --ignore-all-space      忽略所有空白字元。"
 
-#: src/sdiff.c:177
+#: src/sdiff.c:180
 #, fuzzy
 msgid "-B, --ignore-blank-lines     ignore changes whose lines are all blank"
 msgstr "-B  --ignore-blank-lines    忽略任何因空行而造成的差異。"
 
-#: src/sdiff.c:179
+#: src/sdiff.c:181
+#, fuzzy
+msgid "-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"
+msgstr ""
+"-I RE  --ignore-matching-lines=RE  忽略任何符合指定的<正規表示式>的地方。"
+
+#: src/sdiff.c:182
 #, fuzzy
 msgid "    --strip-trailing-cr      strip trailing carriage return on input"
 msgstr "--strip-trailing-cr      去除輸入資料每行末端的 carriage return 字元。"
 
-#: src/sdiff.c:180
+#: src/sdiff.c:183
 #, fuzzy
 msgid "-a, --text                   treat all files as text"
 msgstr "-a  --text               所有檔案都以文字檔方式處理。"
 
-#: src/sdiff.c:182
+#: src/sdiff.c:185
 #, fuzzy
 msgid ""
 "-w, --width=NUM              output at most NUM (default 130) print columns"
 msgstr "-w NUM  --width=NUM         每行顯示最多 NUM(預設 130)個字元。"
 
-#: src/sdiff.c:183
+#: src/sdiff.c:186
 #, fuzzy
 msgid ""
 "-l, --left-column            output only the left column of common lines"
 msgstr "-l  --left-column           當有兩行相同時只顯示左邊的一行。"
 
-#: src/sdiff.c:184
+#: src/sdiff.c:187
 #, fuzzy
 msgid "-s, --suppress-common-lines  do not output common lines"
 msgstr "-s  --suppress-common-lines  當有兩行相同時不會顯示。"
 
-#: src/sdiff.c:186
+#: src/sdiff.c:189
 #, fuzzy
 msgid "-t, --expand-tabs            expand tabs to spaces in output"
 msgstr "-t  --expand-tabs        將輸出中的 tab 換成空格。"
 
-#: src/sdiff.c:187
+#: src/sdiff.c:190
 #, fuzzy
 msgid ""
 "    --tabsize=NUM            tab stops at every NUM (default 8) print columns"
 msgstr "--tabsize=NUM            定位字元 (tab) 的寬度,預設為 8 個空格。"
 
-#: src/sdiff.c:189
+#: src/sdiff.c:192
 #, fuzzy
 msgid "-d, --minimal                try hard to find a smaller set of changes"
 msgstr "-d  --minimal            盡可能找出最小的差異。"
 
-#: src/sdiff.c:190
+#: src/sdiff.c:193
 #, fuzzy
 msgid ""
 "-H, --speed-large-files      assume large files, many scattered small changes"
 msgstr "-H  --speed-large-files  假設檔案十分大而且當中含有許多些微的差異。"
 
-#: src/sdiff.c:191
+#: src/sdiff.c:194
 #, fuzzy
 msgid "    --diff-program=PROGRAM   use PROGRAM to compare files"
 msgstr "--diff-program=程式      使用<程式>來比較檔案。"
 
-#: src/sdiff.c:193
-#, fuzzy
+#: src/sdiff.c:196
 msgid "    --help                   display this help and exit"
-msgstr "-a  --text               所有檔案都以文字檔方式處理。"
+msgstr ""
 
-#: src/sdiff.c:194
+#: src/sdiff.c:197
 #, fuzzy
 msgid "-v, --version                output version information and exit"
 msgstr "-v  --version            顯示版本資訊。"
 
-#: src/sdiff.c:203
+#: src/sdiff.c:206
 #, c-format
 msgid "Usage: %s [OPTION]... FILE1 FILE2\n"
 msgstr "用法:%s [選項]... 檔案1 檔案2\n"
 
-#: src/sdiff.c:205
+#: src/sdiff.c:208
 #, fuzzy
 msgid "Side-by-side merge of differences between FILE1 and FILE2."
 msgstr "以並排方式合併檔案之間的差異。"
 
-#: src/sdiff.c:326
+#: src/sdiff.c:329
 msgid "cannot interactively merge standard input"
 msgstr "不允許以互動方式合併標準輸入的資料"
 
-#: src/sdiff.c:592
+#: src/sdiff.c:595
 msgid "both files to be compared are directories"
 msgstr "兩個要比較的都是目錄"
 
-#: src/sdiff.c:827
+#: src/sdiff.c:818
 #, fuzzy
 msgid ""
 "ed:\tEdit then use both versions, each decorated with a header.\n"
@@ -1387,56 +1405,43 @@ msgstr ""
 "v :\t加上兩邊一樣的行組時會在畫面顯示。\n"
 "q :\t離開。\n"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s:不合法的選項 ─ %c\n"
+
+#~ msgid ""
+#~ "This is free software; see the source for copying conditions.  There is "
+#~ "NO\n"
+#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
+#~ "PURPOSE.\n"
+#~ msgstr ""
+#~ "本程式是自由軟體;請參考源代碼中的版權聲明。本軟體不提供任何保證,甚至不"
+#~ "會\n"
+#~ "包括可售性或適用於任何特定目的的保證。\n"
+
 #~ msgid "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 #~ msgstr "-i SKIP1:SKIP2  --ignore-initial=SKIP1:SKIP2"
 
 #~ msgid "-s  --quiet  --silent  Output nothing; yield exit status only."
 #~ msgstr "-s  --quiet  --silent    不輸出任何資訊;只產生回傳值。"
 
-#, fuzzy
-#~ msgid "-v  --version  Output version info."
-#~ msgstr "-v  --version            顯示版本資訊。"
-
 #~ msgid "--help  Output this help."
 #~ msgstr "--help                   顯示此求助說明。"
 
-#, fuzzy
-#~ msgid "Compare files line by line."
-#~ msgstr "比較三個檔案的每一行。"
-
-#, fuzzy
-#~ msgid "-E  --ignore-tab-expansion  Ignore changes due to tab expansion."
-#~ msgstr "-E  --ignore-tab-expansion  忽略因將 tab 轉換為空格而造成的差異。"
-
-#, fuzzy
-#~ msgid ""
-#~ "-b  --ignore-space-change  Ignore changes in the amount of white space."
-#~ msgstr "-b  --ignore-space-change   忽略因空白字元數目不同而造成的差異。"
-
-#, fuzzy
-#~ msgid "-w  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space      忽略所有空白字元。"
-
-#, fuzzy
-#~ msgid "-B  --ignore-blank-lines  Ignore changes whose lines are all blank."
-#~ msgstr "-B  --ignore-blank-lines    忽略任何因空行而造成的差異。"
+#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
+#~ msgstr "請向 <bug-gnu-utils@gnu.org> 回報錯誤。"
 
-#, fuzzy
-#~ msgid "--strip-trailing-cr  Strip trailing carriage return on input."
-#~ msgstr ""
-#~ "--strip-trailing-cr      去除輸入資料每行末端的 carriage return 字元。"
+#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
+#~ msgstr "‘-%ld’ 選項已過時;請使用 ‘-%c %ld’"
 
-#, fuzzy
-#~ msgid "-a  --text  Treat all files as text."
-#~ msgstr "-a  --text               所有檔案都以文字檔方式處理。"
+#~ msgid "`-%ld' option is obsolete; omit it"
+#~ msgstr "‘-%ld’ 選項已過時;會忽略此選項"
 
-#, fuzzy
 #~ msgid ""
 #~ "-c  -C NUM  --context[=NUM]  Output NUM (default 3) lines of copied "
 #~ "context.\n"
 #~ "-u  -U NUM  --unified[=NUM]  Output NUM (default 3) lines of unified "
 #~ "context.\n"
-#~ "  -L LABEL  --label=LABEL  Use LABEL instead of file name.\n"
+#~ "  --label LABEL  Use LABEL instead of file name.\n"
 #~ "  -p  --show-c-function  Show which C function each change is in.\n"
 #~ "  -F RE  --show-function-line=RE  Show the most recent line matching RE."
 #~ msgstr ""
@@ -1448,10 +1453,6 @@ msgstr ""
 #~ "   -p  --show-c-function           顯示和每個差異有關的 C 函式名稱。\n"
 #~ "   -F RE  --show-function-line=RE  顯示最接近而符合<正規表示式>的一行。"
 
-#, fuzzy
-#~ msgid "-e  --ed  Output an ed script."
-#~ msgstr "-e  --ed     以 ed script 方式輸出。"
-
 #~ msgid ""
 #~ "-y  --side-by-side  Output in two columns.\n"
 #~ "  -W NUM  --width=NUM  Output at most NUM (default 130) print columns.\n"
@@ -1463,30 +1464,10 @@ msgstr ""
 #~ "  --left-column            當有兩行相同時只顯示左邊的一行。\n"
 #~ "  --suppress-common-lines  當有兩行相同時不會顯示。"
 
-#, fuzzy
-#~ msgid "-t  --expand-tabs  Expand tabs to spaces in output."
-#~ msgstr "-t  --expand-tabs        將輸出中的 tab 換成空格。"
-
-#, fuzzy
-#~ msgid "-T  --initial-tab  Make tabs line up by prepending a tab."
-#~ msgstr "-T  --initial-tab        每行先加上 tab 字元,使 tab 字元可以對齊。"
-
-#, fuzzy
-#~ msgid "--tabsize=NUM  Tab stops are every NUM (default 8) print columns."
-#~ msgstr "--tabsize=NUM            定位字元 (tab) 的寬度,預設為 8 個空格。"
-
-#, fuzzy
-#~ msgid "-d  --minimal  Try hard to find a smaller set of changes."
-#~ msgstr "-d  --minimal            盡可能找出最小的差異。"
-
 #~ msgid ""
 #~ "--speed-large-files  Assume large files and many scattered small changes."
 #~ msgstr "--speed-large-files      假設檔案十分大而且當中含有許多些微的差異。"
 
-#, fuzzy
-#~ msgid "-E  --show-overlap  Output unmerged changes, bracketing conflicts."
-#~ msgstr "-A  --show-all       顯示所有要更改的部份,並括上互相抵觸的地方。"
-
 #~ msgid "-X  Output overlapping changes, bracketing them."
 #~ msgstr "-X                   顯示重疊的更改部份,並括上記號。"
 
@@ -1497,74 +1478,6 @@ msgstr ""
 #~ msgid "-L LABEL  --label=LABEL  Use LABEL instead of file name."
 #~ msgstr "-L 標籤  --label=標籤    以<標籤>代替檔案名稱。"
 
-#, fuzzy
-#~ msgid "--diff-program=PROGRAM  Use PROGRAM to compare files."
-#~ msgstr "--diff-program=程式      使用<程式>來比較檔案。"
-
-#, fuzzy
-#~ msgid "-W  --ignore-all-space  Ignore all white space."
-#~ msgstr "-W  --ignore-all-space      忽略所有空白字元。"
-
-#, fuzzy
-#~ msgid "-w NUM  --width=NUM  Output at most NUM (default 130) print columns."
-#~ msgstr "-w NUM  --width=NUM         每行顯示最多 NUM(預設 130)個字元。"
-
-#, fuzzy
-#~ msgid "-l  --left-column  Output only the left column of common lines."
-#~ msgstr "-l  --left-column           當有兩行相同時只顯示左邊的一行。"
-
-#, fuzzy
-#~ msgid ""
-#~ "-H  --speed-large-files  Assume large files and many scattered small "
-#~ "changes."
-#~ msgstr "--speed-large-files      假設檔案十分大而且當中含有許多些微的差異。"
-
-#, fuzzy
-#~ msgid "fclose failed"
-#~ msgstr "讀取資料失敗"
-
-#, fuzzy
-#~ msgid "pipe failed"
-#~ msgstr "寫入失敗"
-
-#, fuzzy
-#~ msgid "fork failed"
-#~ msgstr "讀取資料失敗"
-
-#, fuzzy
-#~ msgid "fdopen failed"
-#~ msgstr "讀取資料失敗"
-
-#, fuzzy
-#~ msgid "waitpid failed"
-#~ msgstr "寫入失敗"
-
-#, fuzzy
-#~ msgid "mkstemp failed"
-#~ msgstr "寫入失敗"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s:不合法的選項 ─ %c\n"
-
-#~ msgid ""
-#~ "This is free software; see the source for copying conditions.  There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-#~ msgstr ""
-#~ "本程式是自由軟體;請參考源代碼中的版權聲明。本軟體不提供任何保證,甚至不"
-#~ "會\n"
-#~ "包括可售性或適用於任何特定目的的保證。\n"
-
-#~ msgid "Report bugs to <bug-gnu-utils@gnu.org>."
-#~ msgstr "請向 <bug-gnu-utils@gnu.org> 回報錯誤。"
-
-#~ msgid "`-%ld' option is obsolete; use `-%c %ld'"
-#~ msgstr "‘-%ld’ 選項已過時;請使用 ‘-%c %ld’"
-
-#~ msgid "`-%ld' option is obsolete; omit it"
-#~ msgstr "‘-%ld’ 選項已過時;會忽略此選項"
-
 #~ msgid "subsidiary program `%s' not found"
 #~ msgstr "找不到子程式 ‘%s’"
 
index 275c155..99fbfcc 100644 (file)
@@ -1,6 +1,6 @@
 # Automakefile for GNU diffutils programs.
 
-# Copyright (C) 2001-2002, 2006, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2002, 2006, 2009-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
index fd5a046..044d927 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11a from Makefile.am.
+# Makefile.in generated by automake 1.13a from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +16,7 @@
 
 # Automakefile for GNU diffutils programs.
 
-# Copyright (C) 2001-2002, 2006, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2002, 2006, 2009-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -55,26 +71,29 @@ host_triplet = @host@
 bin_PROGRAMS = cmp$(EXEEXT) diff$(EXEEXT) diff3$(EXEEXT) \
        sdiff$(EXEEXT)
 subdir = src
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/build-aux/depcomp $(noinst_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \
        $(top_srcdir)/m4/c-stack.m4 $(top_srcdir)/m4/clock_time.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \
-       $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
+       $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
-       $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fcntl-o.m4 \
+       $(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/extensions.m4 \
+       $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
        $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
-       $(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/float_h.m4 \
-       $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpieee.m4 \
-       $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/getcwd.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/filenamecat.m4 \
+       $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+       $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/freopen.m4 \
+       $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/getcwd.m4 \
        $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext_gl.m4 \
+       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
-       $(top_srcdir)/m4/glibc21_gl.m4 $(top_srcdir)/m4/gnu-make.m4 \
+       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
        $(top_srcdir)/m4/gnulib-comp.m4 \
        $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \
@@ -82,54 +101,58 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
        $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
-       $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h_gl.m4 \
+       $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
        $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \
-       $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld_gl.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix_gl.m4 \
+       $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/libsigsegv.m4 \
        $(top_srcdir)/m4/libunistring-base.m4 \
        $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
        $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
        $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/longlong_gl.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \
-       $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \
-       $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \
-       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \
-       $(top_srcdir)/m4/onceonly.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/po_gl.m4 $(top_srcdir)/m4/printf.m4 \
+       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/longlong.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbslen.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mkstemp.m4 \
+       $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/putenv.m4 \
        $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
-       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
-       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/readlink.m4 \
+       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/secure_getenv.m4 \
+       $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \
+       $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \
        $(top_srcdir)/m4/signalblocking.m4 \
        $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
        $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
        $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
        $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
        $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdint_h_gl.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
        $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strcase.m4 \
-       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
-       $(top_srcdir)/m4/strftime.m4 $(top_srcdir)/m4/string_h.m4 \
-       $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
-       $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strptime.m4 \
-       $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
-       $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strftime.m4 \
+       $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+       $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+       $(top_srcdir)/m4/strptime.m4 $(top_srcdir)/m4/strtoull.m4 \
+       $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_wait_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
-       $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlocked-io.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/vararrays.m4 \
-       $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_wait_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+       $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd_h.m4 \
+       $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/vararrays.m4 $(top_srcdir)/m4/vasnprintf.m4 \
+       $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -137,20 +160,18 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \
        $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xsize.m4 \
        $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \
-       $(top_srcdir)/configure.ac
+       $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
+mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
-AM_V_AR = $(am__v_AR_$(V))
-am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+AM_V_AR = $(am__v_AR_@AM_V@)
+am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
 am__v_AR_0 = @echo "  AR      " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
+am__v_AR_1 = 
 libver_a_AR = $(AR) $(ARFLAGS)
 libver_a_LIBADD =
 nodist_libver_a_OBJECTS = version.$(OBJEXT)
@@ -176,28 +197,61 @@ diff3_DEPENDENCIES = $(am__DEPENDENCIES_2)
 am_sdiff_OBJECTS = sdiff.$(OBJEXT)
 sdiff_OBJECTS = $(am_sdiff_OBJECTS)
 sdiff_DEPENDENCIES = $(am__DEPENDENCIES_2)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+       $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_CCLD_1 = 
 SOURCES = $(nodist_libver_a_SOURCES) $(cmp_SOURCES) $(diff_SOURCES) \
        $(diff3_SOURCES) $(sdiff_SOURCES)
 DIST_SOURCES = $(cmp_SOURCES) $(diff_SOURCES) $(diff3_SOURCES) \
        $(sdiff_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -251,9 +305,11 @@ GNULIB_ATOLL = @GNULIB_ATOLL@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
 GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
@@ -265,6 +321,8 @@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
 GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
 GNULIB_FCLOSE = @GNULIB_FCLOSE@
 GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
 GNULIB_FFLUSH = @GNULIB_FFLUSH@
 GNULIB_FFS = @GNULIB_FFS@
 GNULIB_FFSL = @GNULIB_FFSL@
@@ -282,6 +340,7 @@ GNULIB_FREOPEN = @GNULIB_FREOPEN@
 GNULIB_FSCANF = @GNULIB_FSCANF@
 GNULIB_FSEEK = @GNULIB_FSEEK@
 GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
 GNULIB_FSTATAT = @GNULIB_FSTATAT@
 GNULIB_FSYNC = @GNULIB_FSYNC@
 GNULIB_FTELL = @GNULIB_FTELL@
@@ -302,21 +361,23 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETS = @GNULIB_GETS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
 GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_ICONV = @GNULIB_ICONV@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_ISATTY = @GNULIB_ISATTY@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -362,20 +423,25 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
 GNULIB_PIPE2 = @GNULIB_PIPE2@
 GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
 GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
 GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RAISE = @GNULIB_RAISE@
+GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
@@ -389,7 +455,9 @@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
 GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
 GNULIB_SIGACTION = @GNULIB_SIGACTION@
 GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
@@ -430,7 +498,6 @@ GNULIB_TIME_R = @GNULIB_TIME_R@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -496,6 +563,7 @@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
@@ -513,6 +581,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -538,6 +607,7 @@ HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
 HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
 HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFS = @HAVE_FFS@
 HAVE_FFSL = @HAVE_FFSL@
@@ -591,17 +661,24 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
 HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
 HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
 HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RAISE = @HAVE_RAISE@
+HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
@@ -610,7 +687,9 @@ HAVE_READLINKAT = @HAVE_READLINKAT@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
 HAVE_SIGACTION = @HAVE_SIGACTION@
 HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@
 HAVE_SIGINFO_T = @HAVE_SIGINFO_T@
@@ -625,6 +704,7 @@ HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASECMP = @HAVE_STRCASECMP@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRINGS_H = @HAVE_STRINGS_H@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
@@ -757,6 +837,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
@@ -780,6 +861,7 @@ NEXT_STRINGS_H = @NEXT_STRINGS_H@
 NEXT_STRING_H = @NEXT_STRING_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
 NEXT_SYS_WAIT_H = @NEXT_SYS_WAIT_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
@@ -815,6 +897,7 @@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
@@ -826,6 +909,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@
 REPLACE_FSTATAT = @REPLACE_FSTATAT@
 REPLACE_FTELL = @REPLACE_FTELL@
 REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
 REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
@@ -838,11 +922,14 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
+REPLACE_ITOLD = @REPLACE_ITOLD@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
@@ -872,8 +959,12 @@ REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
 REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_RAISE = @REPLACE_RAISE@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
 REPLACE_REALLOC = @REPLACE_REALLOC@
@@ -902,7 +993,10 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
 REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
@@ -949,6 +1043,8 @@ VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -960,7 +1056,6 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 am__include = @am__include@
-am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
@@ -996,7 +1091,6 @@ lispdir = @lispdir@
 localedir = $(datadir)/locale
 localstatedir = @localstatedir@
 mandir = @mandir@
-mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -1084,14 +1178,18 @@ libver.a: $(libver_a_OBJECTS) $(libver_a_DEPENDENCIES) $(EXTRA_libver_a_DEPENDEN
        $(AM_V_at)$(RANLIB) libver.a
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
-       while read p p1; do if test -f $$p; \
-         then echo "$$p"; echo "$$p"; else :; fi; \
+       while read p p1; do if test -f $$p \
+         then echo "$$p"; echo "$$p"; else :; fi; \
        done | \
-       sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+       sed -e 'p;s,.*/,,;n;h' \
+           -e 's|.*|.|' \
            -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
        sed 'N;N;N;s,\n, ,g' | \
        $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -1112,7 +1210,8 @@ uninstall-binPROGRAMS:
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
        files=`for p in $$list; do echo "$$p"; done | \
          sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-             -e 's/$$/$(EXEEXT)/' `; \
+             -e 's/$$/$(EXEEXT)/' \
+       `; \
        test -n "$$list" || exit 0; \
        echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
        cd "$(DESTDIR)$(bindir)" && rm -f $$files
@@ -1167,26 +1266,15 @@ distclean-compile:
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+       $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
          test -n "$$unique" || unique=$$empty_fix; \
@@ -1198,15 +1286,11 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
              $$unique; \
          fi; \
        fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+       $(am__define_uniq_tagged_files); \
        test -z "$(CTAGS_ARGS)$$unique" \
          || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
             $$unique
@@ -1215,9 +1299,10 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
 
-cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+       list='$(am__tagged_files)'; \
        case "$(srcdir)" in \
          [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
          *) sdir=$(subdir)/$(srcdir) ;; \
@@ -1378,18 +1463,19 @@ uninstall-am: uninstall-binPROGRAMS
 
 .MAKE: all check install install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic clean-noinstLIBRARIES cscopelist ctags distclean \
-       distclean-compile distclean-generic distclean-tags distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-binPROGRAMS install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
-       tags uninstall uninstall-am uninstall-binPROGRAMS
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
+       clean-binPROGRAMS clean-generic clean-noinstLIBRARIES \
+       cscopelist-am ctags ctags-am distclean distclean-compile \
+       distclean-generic distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-binPROGRAMS \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
+       uninstall-am uninstall-binPROGRAMS
 
 
 cmp.$(OBJEXT) diff3.$(OBJEXT) diff.$(OBJEXT) sdiff.$(OBJEXT): paths.h
index f88c45e..9dc9347 100644 (file)
@@ -1,7 +1,7 @@
 /* Analyze file differences for GNU DIFF.
 
    Copyright (C) 1988-1989, 1992-1995, 1998, 2001-2002, 2004, 2006-2007,
-   2009-2011 Free Software Foundation, Inc.
+   2009-2013 Free Software Foundation, Inc.
 
    This file is part of GNU DIFF.
 
@@ -38,7 +38,7 @@
 
    A line which is discarded will not be considered by the actual
    comparison algorithm; it will be as if that line were not in the file.
-   The file's `realindexes' table maps virtual line numbers
+   The file's 'realindexes' table maps virtual line numbers
    (which don't count the discarded lines) into real line numbers;
    this is how the actual comparison algorithm produces results
    that are comprehensible when the discarded lines are counted.
@@ -251,7 +251,7 @@ discard_confusing_lines (struct file_data filevec[])
    We do something when a run of changed lines include a
    line at one end and have an excluded, identical line at the other.
    We are free to choose which identical line is included.
-   `compareseq' usually chooses the one at the beginning,
+   'compareseq' usually chooses the one at the beginning,
    but usually it is cleaner to consider the following identical line
    to be the "change".  */
 
@@ -595,7 +595,7 @@ diff_2_files (struct comparison *cmp)
       shift_boundaries (cmp->file);
 
       /* Get the results of comparison in the form of a chain
-        of `struct change's -- an edit script.  */
+        of 'struct change's -- an edit script.  */
 
       if (output_style == OUTPUT_ED)
        script = build_reverse_script (cmp->file);
index adf1cf9..97473c9 100644 (file)
--- a/src/cmp.c
+++ b/src/cmp.c
@@ -1,6 +1,6 @@
 /* cmp - compare two files byte by byte
 
-   Copyright (C) 1990-1996, 1998, 2001-2002, 2004, 2006-2007, 2009-2011 Free
+   Copyright (C) 1990-1996, 1998, 2001-2002, 2004, 2006-2007, 2009-2013 Free
    Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
 #include <unlocked-io.h>
 #include <version-etc.h>
 #include <xalloc.h>
-#include <xfreopen.h>
+#include <binary-io.h>
 #include <xstrtol.h>
 
-/* The official name of this program (e.g., no `g' prefix).  */
+/* The official name of this program (e.g., no 'g' prefix).  */
 #define PROGRAM_NAME "cmp"
 
 #define AUTHORS \
@@ -51,7 +51,7 @@
 
 static int cmp (void);
 static off_t file_position (int);
-static size_t block_compare (word const *, word const *);
+static size_t block_compare (word const *, word const *) _GL_ATTRIBUTE_PURE;
 static size_t block_compare_and_count (word const *, word const *, off_t *);
 static void sprintc (char *, unsigned char);
 
@@ -115,7 +115,7 @@ try_help (char const *reason_msgid, char const *operand)
   if (reason_msgid)
     error (0, 0, _(reason_msgid), operand);
   error (EXIT_TROUBLE, 0,
-        _("Try `%s --help' for more information."), program_name);
+        _("Try '%s --help' for more information."), program_name);
   abort ();
 }
 
@@ -134,7 +134,7 @@ specify_ignore_initial (int f, char **argptr, char delimiter)
   if (! (e == LONGINT_OK
         || (e == LONGINT_INVALID_SUFFIX_CHAR && **argptr == delimiter))
       || TYPE_MAXIMUM (off_t) < val)
-    try_help ("invalid --ignore-initial value `%s'", arg);
+    try_help ("invalid --ignore-initial value '%s'", arg);
   if (ignore_initial[f] < val)
     ignore_initial[f] = val;
 }
@@ -191,7 +191,7 @@ Mandatory arguments to long options are mandatory for short options too.\n\
          _("SKIP values may be followed by the following multiplicative suffixes:\n\
 kB 1000, K 1024, MB 1,000,000, M 1,048,576,\n\
 GB 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y."),
-         _("If a FILE is `-' or missing, read standard input."),
+         _("If a FILE is '-' or missing, read standard input."),
          _("Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."));
   emit_bug_reporting_address ();
 }
@@ -237,7 +237,7 @@ main (int argc, char **argv)
        {
          uintmax_t n;
          if (xstrtoumax (optarg, 0, 0, &n, valid_suffixes) != LONGINT_OK)
-           try_help ("invalid --bytes value `%s'", optarg);
+           try_help ("invalid --bytes value '%s'", optarg);
          if (n < bytes)
            bytes = n;
        }
@@ -263,7 +263,7 @@ main (int argc, char **argv)
       }
 
   if (optind == argc)
-    try_help ("missing operand after `%s'", argv[argc - 1]);
+    try_help ("missing operand after '%s'", argv[argc - 1]);
 
   file[0] = argv[optind++];
   file[1] = optind < argc ? argv[optind++] : "-";
@@ -275,7 +275,7 @@ main (int argc, char **argv)
     }
 
   if (optind < argc)
-    try_help ("extra operand `%s'", argv[optind]);
+    try_help ("extra operand '%s'", argv[optind]);
 
   for (f = 0; f < 2; f++)
     {
@@ -293,7 +293,7 @@ main (int argc, char **argv)
        {
          file_desc[f1] = STDIN_FILENO;
          if (O_BINARY && ! isatty (STDIN_FILENO))
-           xfreopen (NULL, "rb", stdin);
+           set_binary_mode (STDIN_FILENO, O_BINARY);
        }
       else
        file_desc[f1] = open (file[f1], O_RDONLY | O_BINARY, 0);
@@ -370,8 +370,8 @@ main (int argc, char **argv)
   return exit_status;
 }
 \f
-/* Compare the two files already open on `file_desc[0]' and `file_desc[1]',
-   using `buffer[0]' and `buffer[1]'.
+/* Compare the two files already open on 'file_desc[0]' and 'file_desc[1]',
+   using 'buffer[0]' and 'buffer[1]'.
    Return EXIT_SUCCESS if identical, EXIT_FAILURE if different,
    >1 if error.  */
 
@@ -383,7 +383,7 @@ cmp (void)
   uintmax_t remaining = bytes; /* Remaining number of bytes to compare.  */
   size_t read0, read1;         /* Number of bytes read from each file. */
   size_t first_diff;           /* Offset (0...) in buffers of 1st diff. */
-  size_t smaller;              /* The lesser of `read0' and `read1'. */
+  size_t smaller;              /* The lesser of 'read0' and 'read1'. */
   word *buffer0 = buffer[0];
   word *buffer1 = buffer[1];
   char *buf0 = (char *) buffer0;
index 690506b..dd79f89 100644 (file)
@@ -1,6 +1,6 @@
 /* Context-format output routines for GNU DIFF.
 
-   Copyright (C) 1988-1989, 1991-1995, 1998, 2001-2002, 2004, 2006, 2009-2011
+   Copyright (C) 1988-1989, 1991-1995, 1998, 2001-2002, 2004, 2006, 2009-2013
    Free Software Foundation, Inc.
 
    This file is part of GNU DIFF.
@@ -40,6 +40,7 @@ static lin find_function_last_match;
 static void
 print_context_label (char const *mark,
                     struct file_data *inf,
+                    char const *name,
                     char const *label)
 {
   if (label)
@@ -70,24 +71,24 @@ print_context_label (char const *mark,
              sprintf (buf, "%"PRIuMAX".%.9d", sec, nsec);
            }
        }
-      fprintf (outfile, "%s %s\t%s\n", mark, inf->name, buf);
+      fprintf (outfile, "%s %s\t%s\n", mark, name, buf);
     }
 }
 
 /* Print a header for a context diff, with the file names and dates.  */
 
 void
-print_context_header (struct file_data inf[], bool unidiff)
+print_context_header (struct file_data inf[], char const *const *names, bool unidiff)
 {
   if (unidiff)
     {
-      print_context_label ("---", &inf[0], file_label[0]);
-      print_context_label ("+++", &inf[1], file_label[1]);
+      print_context_label ("---", &inf[0], names[0], file_label[0]);
+      print_context_label ("+++", &inf[1], names[1], file_label[1]);
     }
   else
     {
-      print_context_label ("***", &inf[0], file_label[0]);
-      print_context_label ("---", &inf[1], file_label[1]);
+      print_context_label ("***", &inf[0], names[0], file_label[0]);
+      print_context_label ("---", &inf[1], names[1], file_label[1]);
     }
 }
 
@@ -158,7 +159,7 @@ print_context_function (FILE *out, char const *function)
 \f
 /* Print a portion of an edit script in context format.
    HUNK is the beginning of the portion to be printed.
-   The end is marked by a `link' that has been nulled out.
+   The end is marked by a 'link' that has been nulled out.
 
    Prints out lines from both files, and precedes each
    line with the appropriate flag-character.  */
@@ -288,7 +289,7 @@ print_unidiff_number_range (struct file_data const *file, lin a, lin b)
 \f
 /* Print a portion of an edit script in unidiff format.
    HUNK is the beginning of the portion to be printed.
-   The end is marked by a `link' that has been nulled out.
+   The end is marked by a 'link' that has been nulled out.
 
    Prints out lines from both files, and precedes each
    line with the appropriate flag-character.  */
@@ -392,9 +393,9 @@ pr_unidiff_hunk (struct change *hunk)
 \f
 /* Scan a (forward-ordered) edit script for the first place that more than
    2*CONTEXT unchanged lines appear, and return a pointer
-   to the `struct change' for the last change before those lines.  */
+   to the 'struct change' for the last change before those lines.  */
 
-static struct change *
+static struct change * _GL_ATTRIBUTE_PURE
 find_hunk (struct change *start)
 {
   struct change *prev;
@@ -430,7 +431,7 @@ find_hunk (struct change *start)
   return prev;
 }
 
-/* Set the `ignore' flag properly in each change in SCRIPT.
+/* Set the 'ignore' flag properly in each change in SCRIPT.
    It should be 1 if all the lines inserted or deleted in that change
    are ignorable lines.  */
 
@@ -458,7 +459,7 @@ mark_ignorable (struct change *script)
 }
 \f
 /* Find the last function-header line in LINBUF prior to line number LINENUM.
-   This is a line containing a match for the regexp in `function_regexp'.
+   This is a line containing a match for the regexp in 'function_regexp'.
    Return the address of the text, or NULL if no function-header is found.  */
 
 static char const *
index c096406..50d0365 100644 (file)
@@ -1,7 +1,7 @@
 /* diff - compare files line by line
 
    Copyright (C) 1988-1989, 1992-1994, 1996, 1998, 2001-2002, 2004, 2006-2007,
-   2009-2011 Free Software Foundation, Inc.
+   2009-2013 Free Software Foundation, Inc.
 
    This file is part of GNU DIFF.
 
 #include <timespec.h>
 #include <version-etc.h>
 #include <xalloc.h>
-#include <xfreopen.h>
+#include <xreadlink.h>
+#include <binary-io.h>
 
-/* The official name of this program (e.g., no `g' prefix).  */
+/* The official name of this program (e.g., no 'g' prefix).  */
 #define PROGRAM_NAME "diff"
 
 #define AUTHORS \
@@ -58,9 +59,9 @@
 struct regexp_list
 {
   char *regexps;       /* chars representing disjunction of the regexps */
-  size_t len;          /* chars used in `regexps' */
-  size_t size;         /* size malloc'ed for `regexps'; 0 if not malloc'ed */
-  bool multiple_regexps;/* Does `regexps' represent a disjunction?  */
+  size_t len;          /* chars used in 'regexps' */
+  size_t size;         /* size malloc'ed for 'regexps'; 0 if not malloc'ed */
+  bool multiple_regexps;/* Does 'regexps' represent a disjunction?  */
   struct re_pattern_buffer *buf;
 };
 
@@ -91,15 +92,11 @@ static bool binary;
 enum { binary = true };
 #endif
 
-/* When comparing directories, if a file appears only in one
-   directory, treat it as present but empty in the other (-N).
-   Then `patch' would create the file with appropriate contents.  */
+/* If one file is missing, treat it as present but empty (-N).  */
 static bool new_file;
 
-/* When comparing directories, if a file appears only in the second
-   directory of the two, treat it as present but empty in the other
-   (--unidirectional-new-file).
-   Then `patch' would create the file with appropriate contents.  */
+/* If the first file is missing, treat it as present but empty
+   (--unidirectional-new-file).  */
 static bool unidirectional_new_file;
 
 /* Report files compared that are the same (-s).
@@ -120,6 +117,7 @@ enum
   INHIBIT_HUNK_MERGE_OPTION,
   LEFT_COLUMN_OPTION,
   LINE_FORMAT_OPTION,
+  NO_DEREFERENCE_OPTION,
   NO_IGNORE_FILE_NAME_CASE_OPTION,
   NORMAL_OPTION,
   SDIFF_MERGE_ASSIST_OPTION,
@@ -188,6 +186,7 @@ static struct option const longopts[] =
   {"new-file", 0, 0, 'N'},
   {"new-group-format", 1, 0, NEW_GROUP_FORMAT_OPTION},
   {"new-line-format", 1, 0, NEW_LINE_FORMAT_OPTION},
+  {"no-dereference", 0, 0, NO_DEREFERENCE_OPTION},
   {"no-ignore-file-name-case", 0, 0, NO_IGNORE_FILE_NAME_CASE_OPTION},
   {"normal", 0, 0, NORMAL_OPTION},
   {"old-group-format", 1, 0, OLD_GROUP_FORMAT_OPTION},
@@ -337,7 +336,7 @@ main (int argc, char **argv)
              {
                numval = strtoumax (optarg, &numend, 10);
                if (*numend)
-                 try_help ("invalid context length `%s'", optarg);
+                 try_help ("invalid context length '%s'", optarg);
                if (LIN_MAX < numval)
                  numval = LIN_MAX;
              }
@@ -512,7 +511,7 @@ main (int argc, char **argv)
        case 'W':
          numval = strtoumax (optarg, &numend, 10);
          if (! (0 < numval && numval <= SIZE_MAX) || *numend)
-           try_help ("invalid width `%s'", optarg);
+           try_help ("invalid width '%s'", optarg);
          if (width != numval)
            {
              if (width)
@@ -525,7 +524,7 @@ main (int argc, char **argv)
 #if O_BINARY
          binary = true;
          if (! isatty (STDOUT_FILENO))
-           xfreopen (NULL, "wb", stdout);
+           set_binary_mode (STDOUT_FILENO, O_BINARY);
 #endif
          break;
 
@@ -541,7 +540,7 @@ main (int argc, char **argv)
        case HORIZON_LINES_OPTION:
          numval = strtoumax (optarg, &numend, 10);
          if (*numend)
-           try_help ("invalid horizon length `%s'", optarg);
+           try_help ("invalid horizon length '%s'", optarg);
          horizon_lines = MAX (horizon_lines, MIN (numval, LIN_MAX));
          break;
 
@@ -564,6 +563,10 @@ main (int argc, char **argv)
            specify_value (&line_format[i], optarg, "--line-format");
          break;
 
+       case NO_DEREFERENCE_OPTION:
+         no_dereference_symlinks = true;
+         break;
+
        case NO_IGNORE_FILE_NAME_CASE_OPTION:
          ignore_file_name_case = false;
          break;
@@ -592,7 +595,7 @@ main (int argc, char **argv)
        case TABSIZE_OPTION:
          numval = strtoumax (optarg, &numend, 10);
          if (! (0 < numval && numval <= SIZE_MAX) || *numend)
-           try_help ("invalid tabsize `%s'", optarg);
+           try_help ("invalid tabsize '%s'", optarg);
          if (tabsize != numval)
            {
              if (tabsize)
@@ -751,9 +754,9 @@ main (int argc, char **argv)
          if (argc - optind != 2)
            {
              if (argc - optind < 2)
-               try_help ("missing operand after `%s'", argv[argc - 1]);
+               try_help ("missing operand after '%s'", argv[argc - 1]);
              else
-               try_help ("extra operand `%s'", argv[optind + 2]);
+               try_help ("extra operand '%s'", argv[optind + 2]);
            }
 
          exit_status = compare_files (NULL, argv[optind], argv[optind + 1]);
@@ -833,7 +836,7 @@ try_help (char const *reason_msgid, char const *operand)
 {
   if (reason_msgid)
     error (0, 0, _(reason_msgid), operand);
-  error (EXIT_TROUBLE, 0, _("Try `%s --help' for more information."),
+  error (EXIT_TROUBLE, 0, _("Try '%s --help' for more information."),
         program_name);
   abort ();
 }
@@ -869,9 +872,10 @@ static char const * const option_help_msgid[] = {
   N_("-T, --initial-tab             make tabs line up by prepending a tab"),
   N_("    --tabsize=NUM             tab stops every NUM (default 8) print columns"),
   N_("    --suppress-blank-empty    suppress space or tab before empty output lines"),
-  N_("-l, --paginate                pass output through `pr' to paginate it"),
+  N_("-l, --paginate                pass output through 'pr' to paginate it"),
   "",
   N_("-r, --recursive                 recursively compare any subdirectories found"),
+  N_("    --no-dereference            don't follow symbolic links"),
   N_("-N, --new-file                  treat absent files as empty"),
   N_("    --unidirectional-new-file   treat absent first files as empty"),
   N_("    --ignore-file-name-case     ignore case when comparing file names"),
@@ -889,8 +893,8 @@ static char const * const option_help_msgid[] = {
   N_("-Z, --ignore-trailing-space     ignore white space at line end"),
   N_("-b, --ignore-space-change       ignore changes in the amount of white space"),
   N_("-w, --ignore-all-space          ignore all white space"),
-  N_("-B, --ignore-blank-lines        ignore changes whose lines are all blank"),
-  N_("-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"),
+  N_("-B, --ignore-blank-lines        ignore changes where lines are all blank"),
+  N_("-I, --ignore-matching-lines=RE  ignore changes where all lines match RE"),
   "",
   N_("-a, --text                      treat all files as text"),
   N_("    --strip-trailing-cr         strip trailing carriage return on input"),
@@ -898,13 +902,13 @@ static char const * const option_help_msgid[] = {
   N_("    --binary                    read and write data in binary mode"),
 #endif
   "",
-  N_("-D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs"),
+  N_("-D, --ifdef=NAME                output merged file with '#ifdef NAME' diffs"),
   N_("    --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT"),
   N_("    --line-format=LFMT          format all input lines with LFMT"),
   N_("    --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT"),
   N_("  These format options provide fine-grained control over the output\n"
      "    of diff, generalizing -D/--ifdef."),
-  N_("  LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'."),
+  N_("  LTYPE is 'old', 'new', or 'unchanged'.  GTYPE is LTYPE or 'changed'."),
   N_("  GFMT (only) may contain:\n\
     %<  lines from FILE1\n\
     %>  lines from FILE2\n\
@@ -934,9 +938,9 @@ static char const * const option_help_msgid[] = {
   N_("    --help               display this help and exit"),
   N_("-v, --version            output version information and exit"),
   "",
-  N_("FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'."),
+  N_("FILES are 'FILE1 FILE2' or 'DIR1 DIR2' or 'DIR FILE...' or 'FILE... DIR'."),
   N_("If --from-file or --to-file is given, there are no restrictions on FILE(s)."),
-  N_("If a FILE is `-', read standard input."),
+  N_("If a FILE is '-', read standard input."),
   N_("Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."),
   0
 };
@@ -981,7 +985,7 @@ specify_value (char const **var, char const *value, char const *option)
 {
   if (*var && ! STREQ (*var, value))
     {
-      error (0, 0, _("conflicting %s option value `%s'"), option, value);
+      error (0, 0, _("conflicting %s option value '%s'"), option, value);
       try_help (NULL, NULL);
     }
   *var = value;
@@ -1107,8 +1111,8 @@ compare_files (struct comparison const *parent,
          else if (STREQ (cmp.file[f].name, "-"))
            {
              cmp.file[f].desc = STDIN_FILENO;
-             if (O_BINARY && binary && ! isatty (STDIN_FILENO))
-               xfreopen (NULL, "rb", stdin);
+             if (binary && ! isatty (STDIN_FILENO))
+               set_binary_mode (STDIN_FILENO, O_BINARY);
              if (fstat (STDIN_FILENO, &cmp.file[f].stat) != 0)
                cmp.file[f].desc = ERRNO_ENCODE (errno);
              else
@@ -1128,7 +1132,10 @@ compare_files (struct comparison const *parent,
                  set_mtime_to_now (&cmp.file[f].stat);
                }
            }
-         else if (stat (cmp.file[f].name, &cmp.file[f].stat) != 0)
+         else if ((no_dereference_symlinks
+                   ? lstat (cmp.file[f].name, &cmp.file[f].stat)
+                   : stat (cmp.file[f].name, &cmp.file[f].stat))
+                  != 0)
            cmp.file[f].desc = ERRNO_ENCODE (errno);
        }
     }
@@ -1144,9 +1151,11 @@ compare_files (struct comparison const *parent,
            ? (S_ISREG (cmp.file[f].stat.st_mode)
               && ! (cmp.file[f].stat.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO))
               && cmp.file[f].stat.st_size == 0)
-           : (cmp.file[f].desc == ERRNO_ENCODE (ENOENT)
+           : ((cmp.file[f].desc == ERRNO_ENCODE (ENOENT)
+               || cmp.file[f].desc == ERRNO_ENCODE (EBADF))
               && ! parent
-              && cmp.file[1 - f].desc == UNOPENED)))
+              && (cmp.file[1 - f].desc == UNOPENED
+                  || cmp.file[1 - f].desc == STDIN_FILENO))))
       cmp.file[f].desc = NONEXISTENT;
 
   for (f = 0; f < 2; f++)
@@ -1180,9 +1189,12 @@ compare_files (struct comparison const *parent,
        = find_dir_file_pathname (dir, last_component (fnm));
 
       if (STREQ (fnm, "-"))
-       fatal ("cannot compare `-' to a directory");
+       fatal ("cannot compare '-' to a directory");
 
-      if (stat (filename, &cmp.file[dir_arg].stat) != 0)
+      if ((no_dereference_symlinks
+          ? lstat (filename, &cmp.file[dir_arg].stat)
+          : stat (filename, &cmp.file[dir_arg].stat))
+         != 0)
        {
          perror_with_name (filename);
          status = EXIT_TROUBLE;
@@ -1229,8 +1241,10 @@ compare_files (struct comparison const *parent,
     }
   else if ((DIR_P (0) | DIR_P (1))
           || (parent
-              && (! S_ISREG (cmp.file[0].stat.st_mode)
-                  || ! S_ISREG (cmp.file[1].stat.st_mode))))
+              && !((S_ISREG (cmp.file[0].stat.st_mode)
+                    || S_ISLNK (cmp.file[0].stat.st_mode))
+                   && (S_ISREG (cmp.file[1].stat.st_mode)
+                       || S_ISLNK  (cmp.file[1].stat.st_mode)))))
     {
       if (cmp.file[0].desc == NONEXISTENT || cmp.file[1].desc == NONEXISTENT)
        {
@@ -1271,6 +1285,56 @@ compare_files (struct comparison const *parent,
          status = EXIT_FAILURE;
        }
     }
+  else if (S_ISLNK (cmp.file[0].stat.st_mode)
+          || S_ISLNK (cmp.file[1].stat.st_mode))
+    {
+      /* We get here only if we use lstat(), not stat().  */
+      assert (no_dereference_symlinks);
+
+      if (S_ISLNK (cmp.file[0].stat.st_mode)
+         && S_ISLNK (cmp.file[1].stat.st_mode))
+       {
+         /* Compare the values of the symbolic links.  */
+         char *link_value[2] = { NULL, NULL };
+
+         for (f = 0; f < 2; f++)
+           {
+             link_value[f] = xreadlink (cmp.file[f].name);
+             if (link_value[f] == NULL)
+               {
+                 perror_with_name (cmp.file[f].name);
+                 status = EXIT_TROUBLE;
+                 break;
+               }
+           }
+         if (status == EXIT_SUCCESS)
+           {
+             if ( ! STREQ (link_value[0], link_value[1]))
+               {
+                 message ("Symbolic links %s and %s differ\n",
+                          cmp.file[0].name, cmp.file[1].name);
+                 /* This is a difference.  */
+                 status = EXIT_FAILURE;
+               }
+           }
+         for (f = 0; f < 2; f++)
+           free (link_value[f]);
+       }
+      else
+       {
+         /* We have two files that are not to be compared, because
+            one of them is a symbolic link and the other one is not.  */
+
+         message5 ("File %s is a %s while file %s is a %s\n",
+                   file_label[0] ? file_label[0] : cmp.file[0].name,
+                   file_type (&cmp.file[0].stat),
+                   file_label[1] ? file_label[1] : cmp.file[1].name,
+                   file_type (&cmp.file[1].stat));
+
+         /* This is a difference.  */
+         status = EXIT_FAILURE;
+       }
+    }
   else if (files_can_be_treated_as_binary
           && S_ISREG (cmp.file[0].stat.st_mode)
           && S_ISREG (cmp.file[1].stat.st_mode)
index 578c4ea..e9f0471 100644 (file)
@@ -1,6 +1,6 @@
 /* Shared definitions for GNU DIFF
 
-   Copyright (C) 1988-1989, 1991-1995, 1998, 2001-2002, 2004, 2009-2011 Free
+   Copyright (C) 1988-1989, 1991-1995, 1998, 2001-2002, 2004, 2009-2013 Free
    Software Foundation, Inc.
 
    This file is part of GNU DIFF.
@@ -61,7 +61,7 @@ enum output_style
   /* Output the differences in a unified context diff format (-u).  */
   OUTPUT_UNIFIED,
 
-  /* Output the differences as commands suitable for `ed' (-e).  */
+  /* Output the differences as commands suitable for 'ed' (-e).  */
   OUTPUT_ED,
 
   /* Output the diff as a forward ed script (-f).  */
@@ -135,7 +135,11 @@ XTERN bool ignore_case;
 /* Ignore differences in case of letters in file names.  */
 XTERN bool ignore_file_name_case;
 
-/* File labels for `-c' output headers (--label).  */
+/* Act on symbolic links themselves rather than on their target
+   (--no-dereference).  */
+XTERN bool no_dereference_symlinks;
+
+/* File labels for '-c' output headers (--label).  */
 XTERN char *file_label[2];
 
 /* Regexp to identify function-header lines (-F).  */
@@ -211,8 +215,8 @@ XTERN bool minimal;
 /* The strftime format to use for time strings.  */
 XTERN char const *time_format;
 \f
-/* The result of comparison is an "edit script": a chain of `struct change'.
-   Each `struct change' represents one place where some lines are deleted
+/* The result of comparison is an "edit script": a chain of 'struct change'.
+   Each 'struct change' represents one place where some lines are deleted
    and some are inserted.
 
    LINE0 and LINE1 are the first affected lines in the two files (origin 0).
@@ -328,7 +332,7 @@ XTERN FILE *outfile;
 extern int diff_2_files (struct comparison *);
 
 /* context.c */
-extern void print_context_header (struct file_data[], bool);
+extern void print_context_header (struct file_data[], char const * const *, bool);
 extern void print_context_script (struct change *, bool);
 
 /* dir.c */
@@ -361,7 +365,7 @@ extern void print_sdiff_script (struct change *);
 extern char const change_letter[4];
 extern char const pr_program[];
 extern char *concat (char const *, char const *, char const *);
-extern bool lines_differ (char const *, char const *);
+extern bool lines_differ (char const *, char const *) _GL_ATTRIBUTE_PURE;
 extern lin translate_line_number (struct file_data const *, lin);
 extern struct change *find_change (struct change *);
 extern struct change *find_reverse_change (struct change *);
index 343c055..e25ef5d 100644 (file)
@@ -1,6 +1,6 @@
 /* diff3 - compare three files line by line
 
-   Copyright (C) 1988-1989, 1992-1996, 1998, 2001-2002, 2004, 2006, 2009-2011
+   Copyright (C) 1988-1989, 1992-1996, 1998, 2001-2002, 2004, 2006, 2009-2013
    Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
 #include <file-type.h>
 #include <getopt.h>
 #include <progname.h>
-#include <sh-quote.h>
+#include <system-quote.h>
 #include <version-etc.h>
 #include <xalloc.h>
 #include <xfreopen.h>
 
-/* The official name of this program (e.g., no `g' prefix).  */
+/* The official name of this program (e.g., no 'g' prefix).  */
 #define PROGRAM_NAME "diff3"
 
 #define AUTHORS \
@@ -158,7 +158,7 @@ static bool overlap_only;
 /* If nonzero, show information for DIFF_2ND diffs.  */
 static bool show_2nd;
 
-/* If nonzero, include `:wq' at the end of the script
+/* If nonzero, include ':wq' at the end of the script
    to write out the file being edited.   */
 static bool finalwrite;
 
@@ -315,9 +315,9 @@ main (int argc, char **argv)
   if (argc - optind != 3)
     {
       if (argc - optind < 3)
-       try_help ("missing operand after `%s'", argv[argc - 1]);
+       try_help ("missing operand after '%s'", argv[argc - 1]);
       else
-       try_help ("extra operand `%s'", argv[optind + 3]);
+       try_help ("extra operand '%s'", argv[optind + 3]);
     }
 
   file = &argv[optind];
@@ -350,7 +350,7 @@ main (int argc, char **argv)
         file instead.  */
       common = 3 - common;
       if (STREQ (file[0], "-") || STREQ (file[common], "-"))
-       fatal ("`-' specified for more than one input file");
+       fatal ("'-' specified for more than one input file");
     }
 
   mapping[0] = 0;
@@ -411,7 +411,7 @@ try_help (char const *reason_msgid, char const *operand)
   if (reason_msgid)
     error (0, 0, _(reason_msgid), operand);
   error (EXIT_TROUBLE, 0,
-        _("Try `%s --help' for more information."), program_name);
+        _("Try '%s --help' for more information."), program_name);
   abort ();
 }
 
@@ -433,7 +433,7 @@ static char const * const option_help_msgid[] = {
   N_("-3, --easy-only             like -e, but incorporate only nonoverlapping changes"),
   N_("-x, --overlap-only          like -e, but incorporate only overlapping changes"),
   N_("-X                          like -x, but bracket conflicts"),
-  N_("-i                          append `w' and `q' commands to ed scripts"),
+  N_("-i                          append 'w' and 'q' commands to ed scripts"),
   "",
   N_("-m, --merge                 output actual merged file, according to\n"
      "                                -A if no other options are given"),
@@ -478,7 +478,7 @@ Finally, the -m (--merge) option causes diff3 to do the merge internally\n\
 and output the actual merged file.  For unusual input, this is more\n\
 robust than using ed.\n"), stdout);
   printf ("\n%s\n%s\n",
-         _("If a FILE is `-', read standard input."),
+         _("If a FILE is '-', read standard input."),
          _("Exit status is 0 if successful, 1 if conflicts, 2 if trouble."));
   emit_bug_reporting_address ();
 }
@@ -1045,7 +1045,7 @@ process_diff (char const *filea,
 
 /* Skip tabs and spaces, and return the first character after them.  */
 
-static char *
+static char * _GL_ATTRIBUTE_PURE
 skipwhite (char *s)
 {
   while (*s == ' ' || *s == '\t')
@@ -1161,13 +1161,15 @@ read_diff (char const *filea,
   int fd, wstatus, status;
   int werrno = 0;
   struct stat pipestat;
-
-#if HAVE_WORKING_FORK
-
   char const *argv[9];
   char const **ap;
+#if HAVE_WORKING_FORK
   int fds[2];
   pid_t pid;
+#else
+  FILE *fpipe;
+  char *command;
+#endif
 
   ap = argv;
   *ap++ = diff_program;
@@ -1181,6 +1183,8 @@ read_diff (char const *filea,
   *ap++ = fileb;
   *ap = 0;
 
+#if HAVE_WORKING_FORK
+
   if (pipe (fds) != 0)
     perror_with_exit ("pipe");
 
@@ -1210,32 +1214,7 @@ read_diff (char const *filea,
 
 #else
 
-  FILE *fpipe;
-  char const args[] = " --horizon-lines=100 -- ";
-  char *command = xmalloc (shell_quote_length (diff_program)
-                          + sizeof "-a"
-                          + sizeof "--strip-trailing-cr"
-                          + sizeof args - 1
-                          + shell_quote_length (filea) + 1
-                          + shell_quote_length (fileb) + 1);
-  char *p = command;
-  p = shell_quote_copy (p, diff_program);
-  if (text)
-    {
-      strcpy (p, " -a");
-      p += 3;
-    }
-  if (strip_trailing_cr)
-    {
-      strcpy (p, " --strip-trailing-cr");
-      p += 20;
-    }
-  strcpy (p, args);
-  p += sizeof args - 1;
-  p = shell_quote_copy (p, filea);
-  *p++ = ' ';
-  p = shell_quote_copy (p, fileb);
-  *p = 0;
+  command = system_quote_argv (SCI_SYSTEM, (char **) argv);
   errno = 0;
   fpipe = popen (command, "r");
   if (!fpipe)
@@ -1293,12 +1272,12 @@ read_diff (char const *filea,
   if (EXIT_TROUBLE <= status)
     error (EXIT_TROUBLE, werrno,
           _(status == 126
-            ? "subsidiary program `%s' could not be invoked"
+            ? "subsidiary program '%s' could not be invoked"
             : status == 127
-            ? "subsidiary program `%s' not found"
+            ? "subsidiary program '%s' not found"
             : status == INT_MAX
-            ? "subsidiary program `%s' failed"
-            : "subsidiary program `%s' failed (exit status %d)"),
+            ? "subsidiary program '%s' failed"
+            : "subsidiary program '%s' failed (exit status %d)"),
           diff_program, status);
 
   return diff_result + total;
@@ -1493,7 +1472,7 @@ undotlines (FILE *outputfile, bool leading_dot, long int start, lin num)
    around the problems involved with changing line numbers in an ed
    script.
 
-   As in `output_diff3', the variable MAPPING maps from file number
+   As in 'output_diff3', the variable MAPPING maps from file number
    according to the argument list to file number according to the diff
    passed.  All files listed below are in terms of the argument list.
    REV_MAPPING is the inverse of MAPPING.
index 20626d1..7f647b0 100644 (file)
--- a/src/dir.c
+++ b/src/dir.c
@@ -1,7 +1,7 @@
 /* Read, sort and compare two directories.  Used for GNU DIFF.
 
    Copyright (C) 1988-1989, 1992-1995, 1998, 2001-2002, 2004, 2006-2007,
-   2009-2011 Free Software Foundation, Inc.
+   2009-2013 Free Software Foundation, Inc.
 
    This file is part of GNU DIFF.
 
@@ -85,7 +85,7 @@ dir_read (struct file_data const *dir, struct dirdata *dirdata)
       dirdata->data = data = xmalloc (data_alloc);
 
       /* Read the directory entries, and insert the subfiles
-        into the `data' table.  */
+        into the 'data' table.  */
 
       while ((errno = 0, (next = readdir (reading)) != 0))
        {
@@ -126,7 +126,7 @@ dir_read (struct file_data const *dir, struct dirdata *dirdata)
 #endif
     }
 
-  /* Create the `names' table from the `data' table.  */
+  /* Create the 'names' table from the 'data' table.  */
   if (PTRDIFF_MAX / sizeof *names - 1 <= nnames)
     xalloc_die ();
   dirdata->names = names = xmalloc ((nnames + 1) * sizeof *names);
@@ -155,7 +155,7 @@ compare_names (char const *name1, char const *name2)
        r = strcoll (name1, name2);
       if (errno)
        {
-         error (0, errno, _("cannot compare file names `%s' and `%s'"),
+         error (0, errno, _("cannot compare file names '%s' and '%s'"),
                 name1, name2);
          longjmp (failed_locale_specific_sorting, 1);
        }
@@ -235,7 +235,7 @@ diff_dirs (struct comparison const *cmp,
        qsort (names[i], dirdata[i].nnames, sizeof *dirdata[i].names,
               compare_names_for_qsort);
 
-      /* If `-S name' was given, and this is the topmost level of comparison,
+      /* If '-S name' was given, and this is the topmost level of comparison,
         ignore all file names less than the specified starting name.  */
 
       if (starting_file && ! cmp->parent)
@@ -308,7 +308,7 @@ diff_dirs (struct comparison const *cmp,
 
 /* Return nonzero if CMP is looping recursively in argument I.  */
 
-static bool
+static bool _GL_ATTRIBUTE_PURE
 dir_loop (struct comparison const *cmp, int i)
 {
   struct comparison const *p = cmp;
@@ -323,8 +323,13 @@ dir_loop (struct comparison const *cmp, int i)
 char *
 find_dir_file_pathname (char const *dir, char const *file)
 {
+  /* The 'IF_LINT (volatile)' works around what appears to be a bug in
+     gcc 4.8.0 20120825; see
+     <http://lists.gnu.org/archive/html/bug-diffutils/2012-08/msg00007.html>.
+     */
+  char const * IF_LINT (volatile) match = file;
+
   char *val;
-  char const *match = file;
   struct dirdata dirdata;
   dirdata.names = NULL;
   dirdata.data = NULL;
index 88b617c..6a884df 100644 (file)
--- a/src/ed.c
+++ b/src/ed.c
@@ -1,6 +1,6 @@
 /* Output routines for ed-script format.
 
-   Copyright (C) 1988-1989, 1991-1993, 1995, 1998, 2001, 2004, 2006, 2009-2011
+   Copyright (C) 1988-1989, 1991-1993, 1995, 1998, 2001, 2004, 2006, 2009-2013
    Free Software Foundation, Inc.
 
    This file is part of GNU DIFF.
index bc5c8c5..34a5175 100644 (file)
@@ -1,6 +1,6 @@
 /* #ifdef-format output routines for GNU DIFF.
 
-   Copyright (C) 1989, 1991-1994, 2001-2002, 2004, 2006, 2009-2011 Free
+   Copyright (C) 1989, 1991-1994, 2001-2002, 2004, 2006, 2009-2013 Free
    Software Foundation, Inc.
 
    This file is part of GNU DIFF.
@@ -132,7 +132,7 @@ format_group (register FILE *out, char const *format, char endchar,
            break;
 
          case '(':
-           /* Print if-then-else format e.g. `%(n=1?thenpart:elsepart)'.  */
+           /* Print if-then-else format e.g. '%(n=1?thenpart:elsepart)'.  */
            {
              int i;
              uintmax_t value[2];
index 0a75ab5..463ee35 100644 (file)
--- a/src/io.c
+++ b/src/io.c
@@ -1,6 +1,6 @@
 /* File I/O for GNU DIFF.
 
-   Copyright (C) 1988-1989, 1992-1995, 1998, 2001-2002, 2004, 2006, 2009-2011
+   Copyright (C) 1988-1989, 1992-1995, 1998, 2001-2002, 2004, 2006, 2009-2013
    Free Software Foundation, Inc.
 
    This file is part of GNU DIFF.
@@ -19,6 +19,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "diff.h"
+#include <binary-io.h>
 #include <cmpbuf.h>
 #include <file-type.h>
 #include <xalloc.h>
@@ -57,10 +58,10 @@ static size_t nbuckets;
    The number of an equivalence class is its index in this array.  */
 static struct equivclass *equivs;
 
-/* Index of first free element in the array `equivs'.  */
+/* Index of first free element in the array 'equivs'.  */
 static lin equivs_index;
 
-/* Number of elements allocated in the array `equivs'.  */
+/* Number of elements allocated in the array 'equivs'.  */
 static lin equivs_alloc;
 \f
 /* Read a block of data into a file buffer, checking for EOF and error.  */
@@ -111,11 +112,24 @@ sip (struct file_data *current, bool skip_test)
        {
          /* Check first part of file to see if it's a binary file.  */
 
-         /* FIXME: if O_BINARY, this should revert to text mode
-            if the file is not binary.  */
-
+         int prev_mode = set_binary_mode (current->desc, O_BINARY);
+         off_t buffered;
          file_block_read (current, current->bufsize);
-         return binary_file_p (current->buffer, current->buffered);
+         buffered = current->buffered;
+
+         if (prev_mode != O_BINARY)
+           {
+             /* Revert to text mode and seek back to the start to reread
+                the file.  Use relative seek, since file descriptors
+                like stdin might not start at offset zero.  */
+             if (lseek (current->desc, - buffered, SEEK_CUR) < 0)
+               pfatal_with_name (current->name);
+             set_binary_mode (current->desc, prev_mode);
+             current->buffered = 0;
+             current->eof = false;
+           }
+
+         return binary_file_p (current->buffer, buffered);
        }
     }
 
@@ -761,7 +775,8 @@ read_files (struct file_data filevec[], bool pretend_binary)
     }
   if (appears_binary)
     {
-      /* FIXME: If O_BINARY, this should set both files to binary mode.  */
+      set_binary_mode (filevec[0].desc, O_BINARY);
+      set_binary_mode (filevec[1].desc, O_BINARY);
       return true;
     }
 
index 2c43b3b..ea9de57 100644 (file)
@@ -1,6 +1,6 @@
 /* Normal-format output routines for GNU DIFF.
 
-   Copyright (C) 1988-1989, 1993, 1995, 1998, 2001, 2006, 2009-2011 Free
+   Copyright (C) 1988-1989, 1993, 1995, 1998, 2001, 2006, 2009-2013 Free
    Software Foundation, Inc.
 
    This file is part of GNU DIFF.
index e0b29f0..b7f9f6a 100644 (file)
@@ -1,6 +1,6 @@
 /* sdiff - side-by-side merge of file differences
 
-   Copyright (C) 1992-1996, 1998, 2001-2002, 2004, 2006-2007, 2009-2011 Free
+   Copyright (C) 1992-1996, 1998, 2001-2002, 2004, 2006-2007, 2009-2013 Free
    Software Foundation, Inc.
 
    This file is part of GNU DIFF.
 #include <file-type.h>
 #include <getopt.h>
 #include <progname.h>
-#include <sh-quote.h>
+#include <system-quote.h>
 #include <version-etc.h>
 #include <xalloc.h>
 
-/* The official name of this program (e.g., no `g' prefix).  */
+/* The official name of this program (e.g., no 'g' prefix).  */
 #define PROGRAM_NAME "sdiff"
 
 #define AUTHORS \
@@ -66,7 +66,6 @@ static void perror_fatal (char const *) __attribute__((noreturn));
 static void trapsigs (void);
 static void untrapsig (int);
 
-#define NUM_SIGS (sizeof sigs / sizeof *sigs)
 static int const sigs[] = {
 #ifdef SIGHUP
        SIGHUP,
@@ -87,11 +86,15 @@ static int const sigs[] = {
        SIGPIPE,
 #endif
        SIGINT
-#define handler_index_of_SIGINT (NUM_SIGS - 1)
 };
+enum
+  {
+    NUM_SIGS = sizeof sigs / sizeof *sigs,
+    handler_index_of_SIGINT = NUM_SIGS - 1
+  };
 
 #if HAVE_SIGACTION
-  /* Prefer `sigaction' if available, since `signal' can lose signals.  */
+  /* Prefer 'sigaction' if available, since 'signal' can lose signals.  */
   static struct sigaction initial_action[NUM_SIGS];
 # define initial_handler(i) (initial_action[i].sa_handler)
   static void signal_handler (int, void (*) (int));
@@ -152,7 +155,7 @@ try_help (char const *reason_msgid, char const *operand)
 {
   if (reason_msgid)
     error (0, 0, _(reason_msgid), operand);
-  error (EXIT_TROUBLE, 0, _("Try `%s --help' for more information."),
+  error (EXIT_TROUBLE, 0, _("Try '%s --help' for more information."),
         program_name);
   abort ();
 }
@@ -175,7 +178,7 @@ static char const * const option_help_msgid[] = {
   N_("-b, --ignore-space-change    ignore changes in the amount of white space"),
   N_("-W, --ignore-all-space       ignore all white space"),
   N_("-B, --ignore-blank-lines     ignore changes whose lines are all blank"),
-  N_("-I, --ignore-matching-lines=RE  ignore changes whose lines all match RE"),
+  N_("-I, --ignore-matching-lines=RE  ignore changes all whose lines match RE"),
   N_("    --strip-trailing-cr      strip trailing carriage return on input"),
   N_("-a, --text                   treat all files as text"),
   "",
@@ -213,7 +216,7 @@ Mandatory arguments to long options are mandatory for short options too.\n\
     else
       putchar ('\n');
   printf ("\n%s\n%s\n",
-         _("If a FILE is `-', read standard input."),
+         _("If a FILE is '-', read standard input."),
          _("Exit status is 0 if inputs are the same, 1 if different, 2 if trouble."));
   emit_bug_reporting_address ();
 }
@@ -269,12 +272,12 @@ check_child_status (int werrno, int wstatus, int max_ok_status,
     {
       error (0, werrno,
             _(status == 126
-              ? "subsidiary program `%s' could not be invoked"
+              ? "subsidiary program '%s' could not be invoked"
               : status == 127
-              ? "subsidiary program `%s' not found"
+              ? "subsidiary program '%s' not found"
               : status == INT_MAX
-              ? "subsidiary program `%s' failed"
-              : "subsidiary program `%s' failed (exit status %d)"),
+              ? "subsidiary program '%s' failed"
+              : "subsidiary program '%s' failed (exit status %d)"),
             subsidiary_program, status);
       exiterr ();
     }
@@ -559,9 +562,9 @@ main (int argc, char *argv[])
   if (argc - optind != 2)
     {
       if (argc - optind < 2)
-       try_help ("missing operand after `%s'", argv[argc - 1]);
+       try_help ("missing operand after '%s'", argv[argc - 1]);
       else
-       try_help ("extra operand `%s'", argv[optind + 2]);
+       try_help ("extra operand '%s'", argv[optind + 2]);
     }
 
   if (! output)
@@ -607,19 +610,7 @@ main (int argc, char *argv[])
 
 #if ! HAVE_WORKING_FORK
       {
-       size_t cmdsize = 1;
-       char *p, *command;
-       int i;
-
-       for (i = 0;  diffargv[i];  i++)
-         cmdsize += shell_quote_length (diffargv[i]) + 1;
-       command = p = xmalloc (cmdsize);
-       for (i = 0;  diffargv[i];  i++)
-         {
-           p = shell_quote_copy (p, diffargv[i]);
-           *p++ = ' ';
-         }
-       p[-1] = 0;
+       char *command = system_quote_argv (SCI_SYSTEM, (char **) diffargv);
        errno = 0;
        diffout = popen (command, "r");
        if (! diffout)
@@ -706,7 +697,7 @@ main (int argc, char *argv[])
        exit (WEXITSTATUS (wstatus));
       }
     }
-  return EXIT_SUCCESS;                 /* Fool `-Wall'.  */
+  return EXIT_SUCCESS;                 /* Fool '-Wall'.  */
 }
 
 static void
@@ -1020,16 +1011,17 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
            {
              int wstatus;
              int werrno = 0;
+             char const *argv[3];
+
              ignore_SIGINT = true;
              checksigs ();
+             argv[0] = editor_program;
+             argv[1] = tmpname;
+             argv[2] = 0;
 
              {
 #if ! HAVE_WORKING_FORK
-               char *command =
-                 xmalloc (shell_quote_length (editor_program)
-                          + 1 + strlen (tmpname) + 1);
-               sprintf (shell_quote_copy (command, editor_program),
-                        " %s", tmpname);
+               char *command = system_quote_argv (SCI_SYSTEM, (char **) argv);
                wstatus = system (command);
                if (wstatus == -1)
                  werrno = errno;
@@ -1040,13 +1032,6 @@ edit (struct line_filter *left, char const *lname, lin lline, lin llen,
                pid = fork ();
                if (pid == 0)
                  {
-                   char const *argv[3];
-                   int i = 0;
-
-                   argv[i++] = editor_program;
-                   argv[i++] = tmpname;
-                   argv[i] = 0;
-
                    execvp (editor_program, (char **) argv);
                    _exit (errno == ENOENT ? 127 : 126);
                  }
@@ -1178,18 +1163,9 @@ temporary_file (void)
   char const *dir = tmpdir ? tmpdir : P_tmpdir;
   char *buf = xmalloc (strlen (dir) + 1 + 5 + 6 + 1);
   int fd;
-  int e;
-  sigset_t procmask;
-  sigset_t blocked;
   sprintf (buf, "%s/sdiffXXXXXX", dir);
-  sigemptyset (&blocked);
-  sigaddset (&blocked, SIGINT);
-  sigprocmask (SIG_BLOCK, &blocked, &procmask);
   fd = mkstemp (buf);
-  e = errno;
   if (0 <= fd)
     tmpname = buf;
-  sigprocmask (SIG_SETMASK, &procmask, 0);
-  errno = e;
   return fd;
 }
index e435856..284d960 100644 (file)
@@ -1,6 +1,6 @@
 /* sdiff-format output routines for GNU DIFF.
 
-   Copyright (C) 1991-1993, 1998, 2001-2002, 2004, 2009-2011 Free Software
+   Copyright (C) 1991-1993, 1998, 2001-2002, 2004, 2009-2013 Free Software
    Foundation, Inc.
 
    This file is part of GNU DIFF.
@@ -292,7 +292,7 @@ print_sdiff_hunk (struct change *hunk)
       fprintf (outfile, "c%ld,%ld\n", len0, len1);
     }
 
-  /* Print ``xxx  |  xxx '' lines */
+  /* Print "xxx  |  xxx " lines.  */
   if (changes == CHANGED)
     {
       for (i = first0, j = first1;  i <= last0 && j <= last1;  i++, j++)
@@ -302,7 +302,7 @@ print_sdiff_hunk (struct change *hunk)
       next1 = first1 = j;
     }
 
-  /* Print ``     >  xxx '' lines */
+  /* Print "     >  xxx " lines.  */
   if (changes & NEW)
     {
       for (j = first1; j <= last1; ++j)
@@ -310,7 +310,7 @@ print_sdiff_hunk (struct change *hunk)
       next1 = j;
     }
 
-  /* Print ``xxx  <     '' lines */
+  /* Print "xxx  <     " lines.  */
   if (changes & OLD)
     {
       for (i = first0; i <= last0; ++i)
index 594ef6e..827df96 100644 (file)
@@ -1,6 +1,6 @@
 /* System dependent declarations.
 
-   Copyright (C) 1988-1989, 1992-1995, 1998, 2001-2002, 2004, 2006, 2009-2011
+   Copyright (C) 1988-1989, 1992-1995, 1998, 2001-2002, 2004, 2006, 2009-2013
    Free Software Foundation, Inc.
 
    This file is part of GNU DIFF.
 
 #include <config.h>
 
-/* Use this to suppress gcc's `...may be used before initialized' warnings. */
+/* Use this to suppress gcc's "...may be used before initialized" warnings. */
 #ifdef lint
 # define IF_LINT(Code) Code
 #else
 # define IF_LINT(Code) /* empty */
 #endif
 
-/* Define `__attribute__' and `volatile' first
+/* Define '__attribute__' and 'volatile' first
    so that they're used consistently in all system includes.  */
 #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) || __STRICT_ANSI__
 # define __attribute__(x)
@@ -99,7 +99,7 @@ int strcasecmp (char const *, char const *);
    - It's typically faster.
    POSIX 1003.1-2001 says that only '0' through '9' are digits.
    Prefer ISDIGIT to isdigit unless it's important to use the locale's
-   definition of `digit' even when the host does not conform to POSIX.  */
+   definition of 'digit' even when the host does not conform to POSIX.  */
 #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9)
 
 #include <errno.h>
@@ -151,7 +151,7 @@ verify (sizeof (lin) <= sizeof (long int));
 
 /* Do struct stat *S, *T describe the same special file?  */
 #ifndef same_special_file
-# if HAVE_ST_RDEV && defined S_ISBLK && defined S_ISCHR
+# if HAVE_STRUCT_STAT_ST_RDEV && defined S_ISBLK && defined S_ISCHR
 #  define same_special_file(s, t) \
      (((S_ISBLK ((s)->st_mode) && S_ISBLK ((t)->st_mode)) \
        || (S_ISCHR ((s)->st_mode) && S_ISCHR ((t)->st_mode))) \
index 5808434..016057d 100644 (file)
@@ -1,6 +1,6 @@
 /* Support routines for GNU DIFF.
 
-   Copyright (C) 1988-1989, 1992-1995, 1998, 2001-2002, 2004, 2006, 2009-2011
+   Copyright (C) 1988-1989, 1992-1995, 1998, 2001-2002, 2004, 2006, 2009-2013
    Free Software Foundation, Inc.
 
    This file is part of GNU DIFF.
 #include "diff.h"
 #include <dirname.h>
 #include <error.h>
-#include <sh-quote.h>
+#include <system-quote.h>
 #include <xalloc.h>
+#include "xvasprintf.h"
 
 char const pr_program[] = PR_PROGRAM;
 
 /* Queue up one-line messages to be printed at the end,
-   when -l is specified.  Each message is recorded with a `struct msg'.  */
+   when -l is specified.  Each message is recorded with a 'struct msg'.  */
 
 struct msg
 {
@@ -121,7 +122,7 @@ message5 (char const *format_msgid, char const *arg1, char const *arg2,
     }
 }
 
-/* Output all the messages that were saved up by calls to `message'.  */
+/* Output all the messages that were saved up by calls to 'message'.  */
 
 void
 print_message_queue (void)
@@ -146,8 +147,8 @@ print_message_queue (void)
    to set up OUTFILE, the stdio stream for the output to go to.
 
    Usually, OUTFILE is just stdout.  But when -l was specified
-   we fork off a `pr' and make OUTFILE a pipe to it.
-   `pr' then outputs to our stdout.  */
+   we fork off a 'pr' and make OUTFILE a pipe to it.
+   'pr' then outputs to our stdout.  */
 
 static char const *current_name0;
 static char const *current_name1;
@@ -166,31 +167,122 @@ setup_output (char const *name0, char const *name1, bool recursive)
 static pid_t pr_pid;
 #endif
 
+static char c_escape_char (char c)
+{
+  switch (c) {
+    case '\a': return 'a';
+    case '\b': return 'b';
+    case '\t': return 't';
+    case '\n': return 'n';
+    case '\v': return 'v';
+    case '\f': return 'f';
+    case '\r': return 'r';
+    case '"': return '"';
+    case '\\': return '\\';
+    default:
+      return c < 32;
+  }
+}
+
+static char *
+c_escape (char const *str)
+{
+  char const *s;
+  size_t plus = 0;
+  bool must_quote = false;
+
+  for (s = str; *s; s++)
+    {
+      char c = *s;
+
+      if (c == ' ')
+       {
+         must_quote = true;
+         continue;
+       }
+      switch (c_escape_char (*s))
+       {
+         case 1:
+           plus += 3;
+           /* fall through */
+         case 0:
+           break;
+         default:
+           plus++;
+           break;
+       }
+    }
+
+  if (must_quote || plus)
+    {
+      size_t s_len = s - str;
+      char *buffer = xmalloc (s_len + plus + 3);
+      char *b = buffer;
+
+      *b++ = '"';
+      for (s = str; *s; s++)
+       {
+         char c = *s;
+         char escape = c_escape_char (c);
+
+         switch (escape)
+           {
+             case 0:
+               *b++ = c;
+               break;
+             case 1:
+               *b++ = '\\';
+               *b++ = ((c >> 6) & 03) + '0';
+               *b++ = ((c >> 3) & 07) + '0';
+               *b++ = ((c >> 0) & 07) + '0';
+               break;
+             default:
+               *b++ = '\\';
+               *b++ = escape;
+               break;
+           }
+       }
+      *b++ = '"';
+      *b = 0;
+      return buffer;
+    }
+
+  return (char *) str;
+}
+
 void
 begin_output (void)
 {
+  char *names[2];
   char *name;
 
   if (outfile != 0)
     return;
 
-  /* Construct the header of this piece of diff.  */
-  name = xmalloc (strlen (current_name0) + strlen (current_name1)
-                 + strlen (switch_string) + 7);
+  names[0] = c_escape (current_name0);
+  names[1] = c_escape (current_name1);
 
+  /* Construct the header of this piece of diff.  */
   /* POSIX 1003.1-2001 specifies this format.  But there are some bugs in
      the standard: it says that we must print only the last component
      of the pathnames, and it requires two spaces after "diff" if
      there are no options.  These requirements are silly and do not
      match historical practice.  */
-  sprintf (name, "diff%s %s %s", switch_string, current_name0, current_name1);
+  name = xasprintf ("diff%s %s %s", switch_string, names[0], names[1]);
 
   if (paginate)
     {
+      char const *argv[4];
+
       if (fflush (stdout) != 0)
        pfatal_with_name (_("write failed"));
 
-      /* Make OUTFILE a pipe to a subsidiary `pr'.  */
+      argv[0] = pr_program;
+      argv[1] = "-h";
+      argv[2] = name;
+      argv[3] = 0;
+
+      /* Make OUTFILE a pipe to a subsidiary 'pr'.  */
       {
 #if HAVE_WORKING_FORK
        int pipes[2];
@@ -212,7 +304,7 @@ begin_output (void)
                close (pipes[0]);
              }
 
-           execl (pr_program, pr_program, "-h", name, (char *) 0);
+           execv (pr_program, (char **) argv);
            _exit (errno == ENOENT ? 127 : 126);
          }
        else
@@ -223,13 +315,7 @@ begin_output (void)
              pfatal_with_name ("fdopen");
          }
 #else
-       char *command = xmalloc (sizeof pr_program - 1 + 7
-                                + shell_quote_length (name) + 1);
-       char *p;
-       sprintf (command, "%s -f -h ", pr_program);
-       p = command + sizeof pr_program - 1 + 7;
-       p = shell_quote_copy (p, name);
-       *p = 0;
+       char *command = system_quote_argv (SCI_SYSTEM, (char **) argv);
        errno = 0;
        outfile = popen (command, "w");
        if (!outfile)
@@ -241,7 +327,7 @@ begin_output (void)
   else
     {
 
-      /* If -l was not specified, output the diff straight to `stdout'.  */
+      /* If -l was not specified, output the diff straight to 'stdout'.  */
 
       outfile = stdout;
 
@@ -257,20 +343,25 @@ begin_output (void)
   switch (output_style)
     {
     case OUTPUT_CONTEXT:
-      print_context_header (files, false);
+      print_context_header (files, (char const *const *)names, false);
       break;
 
     case OUTPUT_UNIFIED:
-      print_context_header (files, true);
+      print_context_header (files, (char const *const *)names, true);
       break;
 
     default:
       break;
     }
+
+  if (names[0] != current_name0)
+    free (names[0]);
+  if (names[1] != current_name1)
+    free (names[1]);
 }
 
 /* Call after the end of output of diffs for one file.
-   Close OUTFILE and get rid of the `pr' subfork.  */
+   Close OUTFILE and get rid of the 'pr' subfork.  */
 
 void
 finish_output (void)
@@ -298,12 +389,12 @@ finish_output (void)
       if (status)
        error (EXIT_TROUBLE, werrno,
               _(status == 126
-                ? "subsidiary program `%s' could not be invoked"
+                ? "subsidiary program '%s' could not be invoked"
                 : status == 127
-                ? "subsidiary program `%s' not found"
+                ? "subsidiary program '%s' not found"
                 : status == INT_MAX
-                ? "subsidiary program `%s' failed"
-                : "subsidiary program `%s' failed (exit status %d)"),
+                ? "subsidiary program '%s' failed"
+                : "subsidiary program '%s' failed (exit status %d)"),
               pr_program, status);
     }
 
@@ -477,13 +568,13 @@ lines_differ (char const *s1, char const *s2)
 /* Find the consecutive changes at the start of the script START.
    Return the last link before the first gap.  */
 
-struct change *
+struct change * _GL_ATTRIBUTE_CONST
 find_change (struct change *start)
 {
   return start;
 }
 
-struct change *
+struct change * _GL_ATTRIBUTE_CONST
 find_reverse_change (struct change *start)
 {
   return start;
@@ -635,7 +726,7 @@ char const change_letter[] = { 0, 'd', 'a', 'c' };
    Internal line numbers count from 0 starting after the prefix.
    Actual line numbers count from 1 within the entire file.  */
 
-lin
+lin _GL_ATTRIBUTE_PURE
 translate_line_number (struct file_data const *file, lin i)
 {
   return i + file->prefix_lines + 1;
@@ -677,7 +768,7 @@ print_number_range (char sepchar, struct file_data *file, lin a, lin b)
 \f
 /* Look at a hunk of edit script and report the range of lines in each file
    that it applies to.  HUNK is the start of the hunk, which is a chain
-   of `struct change'.  The first and last line numbers of file 0 are stored in
+   of 'struct change'.  The first and last line numbers of file 0 are stored in
    *FIRST0 and *LAST0, and likewise for file 1 in *FIRST1 and *LAST1.
    Note that these are internal line numbers that count from 0.
 
index 582f976..f9beeeb 100644 (file)
@@ -8,8 +8,11 @@ TESTS = \
   help-version \
   function-line-vs-leading-space \
   label-vs-func        \
+  new-file \
+  no-dereference \
   no-newline-at-eof \
-  stdin
+  stdin \
+  filename-quoting
 
 EXTRA_DIST = \
   $(TESTS) init.sh t-local.sh
@@ -21,22 +24,6 @@ EXTRA_DIST = \
 TESTS_ENVIRONMENT =                            \
   tmp__=$$TMPDIR; test -d "$$tmp__" || tmp__=.;        \
   TMPDIR=$$tmp__; export TMPDIR;               \
-  exec 9>&2;                                   \
-  shell_or_perl_() {                           \
-    if grep '^\#!/usr/bin/perl' "$$1" > /dev/null; then                        \
-      if $(PERL) -e 'use warnings' > /dev/null 2>&1; then              \
-       grep '^\#!/usr/bin/perl -T' "$$1" > /dev/null && T_=T || T_=;   \
-        $(PERL) -w$$T_ -I$(srcdir) -MCoreutils                         \
-             -M"CuTmpdir qw($$f)" -- "$$1";    \
-      else                                     \
-       echo 1>&2 "$$tst: configure did not find a usable version of Perl," \
-         "so skipping this test";              \
-       (exit 77);                              \
-      fi;                                      \
-    else                                       \
-      $(SHELL) "$$1";                          \
-    fi;                                                \
-  };                                           \
   export                                       \
   VERSION='$(VERSION)'                         \
   abs_top_builddir='$(abs_top_builddir)'       \
@@ -55,11 +42,13 @@ TESTS_ENVIRONMENT =                         \
   PREFERABLY_POSIX_SHELL='$(PREFERABLY_POSIX_SHELL)' \
   REPLACE_GETCWD=$(REPLACE_GETCWD)             \
   PATH='$(abs_top_builddir)/src$(PATH_SEPARATOR)'"$$PATH" \
-  ; shell_or_perl_
+  ; 9>&2
+
+LOG_COMPILER= $(SHELL)
 
 built_programs =                                                       \
   echo 'spy:;@echo $$(PROGRAMS)'                                       \
-    | MAKEFLAGS= $(MAKE) -s -C $(builddir)/../src -f Makefile -f - spy \
-    | fmt -1 | sed 's,$(EXEEXT)$$,,' | sort -u
+    | (cd ../src && MAKEFLAGS= $(MAKE) -s -f Makefile -f - spy)                \
+    | tr ' ' '\n' | sed '/^$$/d; s,$(EXEEXT)$$,,' | sort -u
 
 VERBOSE = yes
index 2bf6230..1b10cba 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11a from Makefile.am.
+# Makefile.in generated by automake 1.13a from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 # tests for GNU diff
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -35,25 +51,29 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = tests
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+       $(top_srcdir)/build-aux/test-driver
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \
        $(top_srcdir)/m4/c-stack.m4 $(top_srcdir)/m4/clock_time.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \
-       $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/dirname.m4 \
+       $(top_srcdir)/m4/close.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
+       $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
        $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
        $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
-       $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fcntl-o.m4 \
+       $(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/extensions.m4 \
+       $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
        $(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
-       $(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/float_h.m4 \
-       $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpieee.m4 \
-       $(top_srcdir)/m4/freopen.m4 $(top_srcdir)/m4/getcwd.m4 \
+       $(top_srcdir)/m4/fdopen.m4 $(top_srcdir)/m4/filenamecat.m4 \
+       $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+       $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/freopen.m4 \
+       $(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/getcwd.m4 \
        $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
-       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext_gl.m4 \
+       $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
-       $(top_srcdir)/m4/glibc21_gl.m4 $(top_srcdir)/m4/gnu-make.m4 \
+       $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \
        $(top_srcdir)/m4/gnulib-common.m4 \
        $(top_srcdir)/m4/gnulib-comp.m4 \
        $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \
@@ -61,54 +81,58 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
        $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
        $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
-       $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h_gl.m4 \
+       $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
        $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \
-       $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld_gl.m4 \
-       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix_gl.m4 \
+       $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/libsigsegv.m4 \
        $(top_srcdir)/m4/libunistring-base.m4 \
        $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
        $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
        $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
-       $(top_srcdir)/m4/longlong_gl.m4 $(top_srcdir)/m4/lstat.m4 \
-       $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
-       $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/mbchar.m4 \
-       $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
-       $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbslen.m4 \
-       $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
-       $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \
-       $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \
-       $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/mode_t.m4 \
-       $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \
-       $(top_srcdir)/m4/onceonly.m4 $(top_srcdir)/m4/open.m4 \
-       $(top_srcdir)/m4/po_gl.m4 $(top_srcdir)/m4/printf.m4 \
+       $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/longlong.m4 \
+       $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \
+       $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/manywarnings.m4 \
+       $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
+       $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+       $(top_srcdir)/m4/mbslen.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
+       $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
+       $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mkstemp.m4 \
+       $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \
+       $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
+       $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
+       $(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \
+       $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/putenv.m4 \
        $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
-       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sigaction.m4 \
-       $(top_srcdir)/m4/signal_h.m4 \
+       $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/readlink.m4 \
+       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/secure_getenv.m4 \
+       $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \
+       $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \
        $(top_srcdir)/m4/signalblocking.m4 \
        $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
        $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
        $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
        $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
        $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
-       $(top_srcdir)/m4/stdint_h_gl.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
        $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strcase.m4 \
-       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strerror_r.m4 \
-       $(top_srcdir)/m4/strftime.m4 $(top_srcdir)/m4/string_h.m4 \
-       $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
-       $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strptime.m4 \
-       $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
-       $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
+       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strftime.m4 \
+       $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+       $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+       $(top_srcdir)/m4/strptime.m4 $(top_srcdir)/m4/strtoull.m4 \
+       $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \
+       $(top_srcdir)/m4/sys_socket_h.m4 \
        $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
-       $(top_srcdir)/m4/sys_wait_h.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
-       $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlocked-io.m4 \
-       $(top_srcdir)/m4/usleep.m4 $(top_srcdir)/m4/vararrays.m4 \
-       $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
+       $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_wait_h.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+       $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd_h.m4 \
+       $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/usleep.m4 \
+       $(top_srcdir)/m4/vararrays.m4 $(top_srcdir)/m4/vasnprintf.m4 \
+       $(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
        $(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/warnings.m4 \
        $(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
        $(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctob.m4 \
@@ -116,35 +140,54 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
        $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \
        $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xsize.m4 \
        $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtol.m4 \
-       $(top_srcdir)/configure.ac
+       $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
+mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/lib/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN     " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
+am__v_at_1 = 
 SOURCES =
 DIST_SOURCES =
-# If stdout is a non-dumb tty, use colors.  If test -t is not supported,
-# then this fails; a conservative approach.  Of course do not redirect
-# stdout here, just stderr.
-am__tty_colors = \
-red=; grn=; lgn=; blu=; std=; \
-test "X$(AM_COLOR_TESTS)" != Xno \
-&& test "X$$TERM" != Xdumb \
-&& { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \
-&& { \
-  red='\e[0;31m'; \
-  grn='\e[0;32m'; \
-  lgn='\e[1;32m'; \
-  blu='\e[1;34m'; \
-  std='\e[m'; \
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red='\e[0;31m'; \
+    grn='\e[0;32m'; \
+    lgn='\e[1;32m'; \
+    blu='\e[1;34m'; \
+    mgn='\e[0;35m'; \
+    brg='\e[1m'; \
+    std='\e[m'; \
+  fi; \
 }
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
@@ -167,94 +210,167 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-# Restructured Text title and section.
-am__rst_title = sed 's/.*/   &   /;h;s/./=/g;p;x;p;g;p;s/.*//'
-am__rst_section = sed 'p;s/./=/g;p;g'
-# Put stdin (possibly several lines separated by ".  ") in a box.
-# Prefix each line by 'col' and terminate each with 'std', for coloring.
-# Multi line coloring is problematic with "less -R", so we really need
-# to color each line individually.
-am__text_box = $(AWK) '{                       \
-  n = split($$0, lines, "\\.  "); max = 0;     \
-  for (i = 1; i <= n; ++i)                     \
-    if (max < length(lines[i]))                        \
-      max = length(lines[i]);                  \
-  for (i = 0; i < max; ++i)                    \
-    line = line "=";                           \
-  print col line std;                          \
-  for (i = 1; i <= n; ++i)                     \
-    if (lines[i])                              \
-      print col lines[i] std;                  \
-  print col line std;                          \
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__recheck_rx = ^[    ]*:recheck:[    ]*
+am__global_test_result_rx = ^[         ]*:global-test-result:[         ]*
+am__copy_in_global_log_rx = ^[         ]*:copy-in-global-log:[         ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+           recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[       ]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
 }'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
 # Solaris 10 'make', and several other traditional 'make' implementations,
 # pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
 # by disabling -e (using the XSI extension "set +e") if it's set.
 am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
 # To be inserted before the command running the test.  Creates the
 # directory for the log if needed.  Stores in $dir the directory
 # containing $f, in $tst the test, in $log the log.  Executes the
 # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
-# passes TESTS_ENVIRONMENT.  Saves and restores TERM around uses of
-# TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT, in case any of them
-# unsets it.
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
 am__check_pre = \
 $(am__sh_e_setup);                                     \
 $(am__vpath_adj_setup) $(am__vpath_adj)                        \
+$(am__tty_colors);                                     \
 srcdir=$(srcdir); export srcdir;                       \
-rm -f $@-t;                                            \
-am__trap='rm -f '\''$(abs_builddir)/$@-t'\''; (exit $$st); exit $$st'; \
-trap "st=129; $$am__trap" 1; trap "st=130; $$am__trap" 2;      \
-trap "st=141; $$am__trap" 13; trap "st=143; $$am__trap" 15; \
-am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;           \
-test "x$$am__odir" = x. || $(MKDIR_P) "$$am__odir" || exit $$?;        \
+case "$@" in                                           \
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;   \
+    *) am__odir=.;;                                    \
+esac;                                                  \
+test "x$$am__odir" = x"." || test -d "$$am__odir"      \
+  || $(MKDIR_P) "$$am__odir" || exit $$?;              \
 if test -f "./$$f"; then dir=./;                       \
 elif test -f "$$f"; then dir=;                         \
 else dir="$(srcdir)/"; fi;                             \
-tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM;           \
-$(AM_TESTS_ENVIRONMENT)                                        \
-$(TESTS_ENVIRONMENT)
-# To be appended to the command running the test.  Handle the stdout
-# and stderr redirection, and catch the exit status.
-am__check_post = \
->$@-t 2>&1;                                            \
-estatus=$$?;                                           \
-if test -n '$(DISABLE_HARD_ERRORS)'                    \
-   && test $$estatus -eq 99; then                      \
-  estatus=1;                                           \
-fi;                                                    \
-TERM=$$__SAVED_TERM; export TERM;                      \
-$(am__tty_colors);                                     \
-xfailed=PASS;                                          \
+tst=$$dir$$f; log='$@';                                \
+if test -n '$(DISABLE_HARD_ERRORS)'; then              \
+  am__enable_hard_errors=no;                           \
+else                                                   \
+  am__enable_hard_errors=yes;                          \
+fi;                                                    \
 case " $(XFAIL_TESTS) " in                             \
   *[\ \        ]$$f[\ \        ]* | *[\ \      ]$$dir$$f[\ \   ]*) \
-    xfailed=XFAIL;;                                    \
-esac;                                                  \
-case $$estatus.$$xfailed in                            \
-    0.XFAIL) col=$$red; res=XPASS;;                    \
-    0.*)     col=$$grn; res=PASS ;;                    \
-    77.*)    col=$$blu; res=SKIP ;;                    \
-    99.*)    col=$$red; res=FAIL ;;                    \
-    *.XFAIL) col=$$lgn; res=XFAIL;;                    \
-    *.*)     col=$$red; res=FAIL ;;                    \
-esac;                                                  \
-echo "$${col}$$res$${std}: $$f";                       \
-echo "$$res: $$f (exit: $$estatus)" |                  \
-  $(am__rst_section) >$@;                              \
-cat $@-t >>$@;                                         \
-rm -f $@-t
+    am__expect_failure=yes;;                           \
+  *)                                                   \
+    am__expect_failure=no;;                            \
+esac;                                                  \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
 RECHECK_LOGS = $(TEST_LOGS)
-AM_RECURSIVE_TARGETS = check check-html recheck recheck-html
+AM_RECURSIVE_TARGETS = check recheck
 TEST_SUITE_LOG = test-suite.log
-TEST_SUITE_HTML = $(TEST_SUITE_LOG:.log=.html)
 TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
 LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
 am__test_logs1 = $(TESTS:=.log)
 am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
 TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
        $(TEST_LOG_FLAGS)
-TEST_LOGS_TMP = $(TEST_LOGS:.log=.log-t)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -306,9 +422,11 @@ GNULIB_ATOLL = @GNULIB_ATOLL@
 GNULIB_BTOWC = @GNULIB_BTOWC@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
 GNULIB_CHOWN = @GNULIB_CHOWN@
 GNULIB_CLOSE = @GNULIB_CLOSE@
 GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
 GNULIB_DUP2 = @GNULIB_DUP2@
 GNULIB_DUP3 = @GNULIB_DUP3@
 GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
@@ -320,6 +438,8 @@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
 GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
 GNULIB_FCLOSE = @GNULIB_FCLOSE@
 GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
 GNULIB_FFLUSH = @GNULIB_FFLUSH@
 GNULIB_FFS = @GNULIB_FFS@
 GNULIB_FFSL = @GNULIB_FFSL@
@@ -337,6 +457,7 @@ GNULIB_FREOPEN = @GNULIB_FREOPEN@
 GNULIB_FSCANF = @GNULIB_FSCANF@
 GNULIB_FSEEK = @GNULIB_FSEEK@
 GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
 GNULIB_FSTATAT = @GNULIB_FSTATAT@
 GNULIB_FSYNC = @GNULIB_FSYNC@
 GNULIB_FTELL = @GNULIB_FTELL@
@@ -357,21 +478,23 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
-GNULIB_GETS = @GNULIB_GETS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
 GNULIB_GRANTPT = @GNULIB_GRANTPT@
 GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
 GNULIB_ICONV = @GNULIB_ICONV@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_ISATTY = @GNULIB_ISATTY@
 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
 GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
@@ -417,20 +540,25 @@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
 GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
 GNULIB_PERROR = @GNULIB_PERROR@
 GNULIB_PIPE = @GNULIB_PIPE@
 GNULIB_PIPE2 = @GNULIB_PIPE2@
 GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
 GNULIB_PREAD = @GNULIB_PREAD@
 GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
 GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
 GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
 GNULIB_PUTC = @GNULIB_PUTC@
 GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
 GNULIB_PUTS = @GNULIB_PUTS@
 GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RAISE = @GNULIB_RAISE@
+GNULIB_RANDOM = @GNULIB_RANDOM@
 GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
 GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READ = @GNULIB_READ@
@@ -444,7 +572,9 @@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
 GNULIB_RMDIR = @GNULIB_RMDIR@
 GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
 GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
 GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
 GNULIB_SIGACTION = @GNULIB_SIGACTION@
 GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
@@ -485,7 +615,6 @@ GNULIB_TIME_R = @GNULIB_TIME_R@
 GNULIB_TMPFILE = @GNULIB_TMPFILE@
 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
 GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
 GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNLINK = @GNULIB_UNLINK@
@@ -551,6 +680,7 @@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CHOWN = @HAVE_CHOWN@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
 HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
 HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
 HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
@@ -568,6 +698,7 @@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
@@ -593,6 +724,7 @@ HAVE_FCHDIR = @HAVE_FCHDIR@
 HAVE_FCHMODAT = @HAVE_FCHMODAT@
 HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
 HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
 HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFS = @HAVE_FFS@
 HAVE_FFSL = @HAVE_FFSL@
@@ -646,17 +778,24 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
 HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
 HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
 HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
 HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
 HAVE_PREAD = @HAVE_PREAD@
 HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
 HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
 HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RAISE = @HAVE_RAISE@
+HAVE_RANDOM = @HAVE_RANDOM@
 HAVE_RANDOM_H = @HAVE_RANDOM_H@
 HAVE_RANDOM_R = @HAVE_RANDOM_R@
 HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
@@ -665,7 +804,9 @@ HAVE_READLINKAT = @HAVE_READLINKAT@
 HAVE_REALPATH = @HAVE_REALPATH@
 HAVE_RENAMEAT = @HAVE_RENAMEAT@
 HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
 HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
 HAVE_SIGACTION = @HAVE_SIGACTION@
 HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@
 HAVE_SIGINFO_T = @HAVE_SIGINFO_T@
@@ -680,6 +821,7 @@ HAVE_STPNCPY = @HAVE_STPNCPY@
 HAVE_STRCASECMP = @HAVE_STRCASECMP@
 HAVE_STRCASESTR = @HAVE_STRCASESTR@
 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRINGS_H = @HAVE_STRINGS_H@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRPTIME = @HAVE_STRPTIME@
 HAVE_STRSEP = @HAVE_STRSEP@
@@ -812,6 +954,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@
 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
@@ -835,6 +978,7 @@ NEXT_STRINGS_H = @NEXT_STRINGS_H@
 NEXT_STRING_H = @NEXT_STRING_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
 NEXT_SYS_WAIT_H = @NEXT_SYS_WAIT_H@
 NEXT_TIME_H = @NEXT_TIME_H@
 NEXT_UNISTD_H = @NEXT_UNISTD_H@
@@ -870,6 +1014,7 @@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
 REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
@@ -881,6 +1026,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@
 REPLACE_FSTATAT = @REPLACE_FSTATAT@
 REPLACE_FTELL = @REPLACE_FTELL@
 REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
 REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
 REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETDELIM = @REPLACE_GETDELIM@
@@ -893,11 +1039,14 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_ICONV = @REPLACE_ICONV@
 REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
 REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
+REPLACE_ISATTY = @REPLACE_ISATTY@
 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
+REPLACE_ITOLD = @REPLACE_ITOLD@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LINK = @REPLACE_LINK@
 REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
 REPLACE_LSTAT = @REPLACE_LSTAT@
@@ -927,8 +1076,12 @@ REPLACE_POPEN = @REPLACE_POPEN@
 REPLACE_PREAD = @REPLACE_PREAD@
 REPLACE_PRINTF = @REPLACE_PRINTF@
 REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_RAISE = @REPLACE_RAISE@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
 REPLACE_READ = @REPLACE_READ@
 REPLACE_READLINK = @REPLACE_READLINK@
 REPLACE_REALLOC = @REPLACE_REALLOC@
@@ -957,7 +1110,10 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
 REPLACE_STRSTR = @REPLACE_STRSTR@
 REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
 REPLACE_TIMEGM = @REPLACE_TIMEGM@
 REPLACE_TMPFILE = @REPLACE_TMPFILE@
@@ -1004,6 +1160,8 @@ VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
 WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
 WINT_T_SUFFIX = @WINT_T_SUFFIX@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
@@ -1015,7 +1173,6 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 am__include = @am__include@
-am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
@@ -1051,7 +1208,6 @@ lispdir = @lispdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
-mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -1073,8 +1229,11 @@ TESTS = \
   help-version \
   function-line-vs-leading-space \
   label-vs-func        \
+  new-file \
+  no-dereference \
   no-newline-at-eof \
-  stdin
+  stdin \
+  filename-quoting
 
 EXTRA_DIST = \
   $(TESTS) init.sh t-local.sh
@@ -1087,22 +1246,6 @@ EXTRA_DIST = \
 TESTS_ENVIRONMENT = \
   tmp__=$$TMPDIR; test -d "$$tmp__" || tmp__=.;        \
   TMPDIR=$$tmp__; export TMPDIR;               \
-  exec 9>&2;                                   \
-  shell_or_perl_() {                           \
-    if grep '^\#!/usr/bin/perl' "$$1" > /dev/null; then                        \
-      if $(PERL) -e 'use warnings' > /dev/null 2>&1; then              \
-       grep '^\#!/usr/bin/perl -T' "$$1" > /dev/null && T_=T || T_=;   \
-        $(PERL) -w$$T_ -I$(srcdir) -MCoreutils                         \
-             -M"CuTmpdir qw($$f)" -- "$$1";    \
-      else                                     \
-       echo 1>&2 "$$tst: configure did not find a usable version of Perl," \
-         "so skipping this test";              \
-       (exit 77);                              \
-      fi;                                      \
-    else                                       \
-      $(SHELL) "$$1";                          \
-    fi;                                                \
-  };                                           \
   export                                       \
   VERSION='$(VERSION)'                         \
   abs_top_builddir='$(abs_top_builddir)'       \
@@ -1121,18 +1264,19 @@ TESTS_ENVIRONMENT = \
   PREFERABLY_POSIX_SHELL='$(PREFERABLY_POSIX_SHELL)' \
   REPLACE_GETCWD=$(REPLACE_GETCWD)             \
   PATH='$(abs_top_builddir)/src$(PATH_SEPARATOR)'"$$PATH" \
-  ; shell_or_perl_
+  ; 9>&2
 
+LOG_COMPILER = $(SHELL)
 built_programs = \
   echo 'spy:;@echo $$(PROGRAMS)'                                       \
-    | MAKEFLAGS= $(MAKE) -s -C $(builddir)/../src -f Makefile -f - spy \
-    | fmt -1 | sed 's,$(EXEEXT)$$,,' | sort -u
+    | (cd ../src && MAKEFLAGS= $(MAKE) -s -f Makefile -f - spy)                \
+    | tr ' ' '\n' | sed '/^$$/d; s,$(EXEEXT)$$,,' | sort -u
 
 VERBOSE = yes
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .html .log .test .test$(EXEEXT)
+.SUFFIXES: .log .test .test$(EXEEXT) .trs
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -1163,160 +1307,252 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
-tags: TAGS
-TAGS:
+tags TAGS:
 
-ctags: CTAGS
-CTAGS:
+ctags CTAGS:
 
 cscope cscopelist:
 
 
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# exand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+       @:
+
 $(TEST_SUITE_LOG): $(TEST_LOGS)
-       @$(am__sh_e_setup);                                             \
-       list='$(TEST_LOGS)';                                            \
-       results=`for f in $$list; do                                    \
-                  test -r $$f && read line < $$f && echo "$$line"      \
-                    || echo FAIL;                                      \
-                done`;                                                 \
-       all=`echo "$$results" | sed '/^$$/d' | wc -l | sed -e 's/^[      ]*//'`; \
-       fail=`echo "$$results" | grep -c '^FAIL'`;                      \
-       pass=`echo "$$results" | grep -c '^PASS'`;                      \
-       skip=`echo "$$results" | grep -c '^SKIP'`;                      \
-       xfail=`echo "$$results" | grep -c '^XFAIL'`;                    \
-       xpass=`echo "$$results" | grep -c '^XPASS'`;                    \
-       failures=`expr $$fail + $$xpass`;                               \
-       all=`expr $$all - $$skip`;                                      \
-       if test "$$all" -eq 1; then tests=test; All=;                   \
-       else tests=tests; All="All "; fi;                               \
-       case fail=$$fail:xpass=$$xpass:xfail=$$xfail in                 \
-         fail=0:xpass=0:xfail=0)                                       \
-           msg="$$All$$all $$tests passed.  ";                         \
-           exit=true;;                                                 \
-         fail=0:xpass=0:xfail=*)                                       \
-           msg="$$All$$all $$tests behaved as expected";               \
-           if test "$$xfail" -eq 1; then xfailures=failure;            \
-           else xfailures=failures; fi;                                \
-           msg="$$msg ($$xfail expected $$xfailures).  ";              \
-           exit=true;;                                                 \
-         fail=*:xpass=0:xfail=*)                                       \
-           msg="$$fail of $$all $$tests failed.  ";                    \
-           exit=false;;                                                \
-         fail=*:xpass=*:xfail=*)                                       \
-           msg="$$failures of $$all $$tests did not behave as expected"; \
-           if test "$$xpass" -eq 1; then xpasses=pass;                 \
-           else xpasses=passes; fi;                                    \
-           msg="$$msg ($$xpass unexpected $$xpasses).  ";              \
-           exit=false;;                                                \
-         *)                                                            \
-           echo >&2 "incorrect case"; exit 4;;                         \
-       esac;                                                           \
-       if test "$$skip" -ne 0; then                                    \
-         if test "$$skip" -eq 1; then                                  \
-           msg="$$msg($$skip test was not run).  ";                    \
-         else                                                          \
-           msg="$$msg($$skip tests were not run).  ";                  \
-         fi;                                                           \
-       fi;                                                             \
+       @$(am__set_TESTS_bases); \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+                   done`; \
+       if test -n "$$redo_bases"; then \
+         redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+         redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+         if $(am__make_dryrun); then :; else \
+           rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+         fi; \
+       fi; \
+       if test -n "$$am__remaking_logs"; then \
+         echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+              "recursion detected" >&2; \
+       else \
+         am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+       fi; \
+       if $(am__make_dryrun); then :; else \
+         st=0;  \
+         errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+         for i in $$redo_bases; do \
+           test -f $$i.trs && test -r $$i.trs \
+             || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+           test -f $$i.log && test -r $$i.log \
+             || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+         done; \
+         test $$st -eq 0 || exit 1; \
+       fi
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
+       results=`for b in $$bases; do echo $$b.trs; done`; \
+       test -n "$$results" || results=/dev/null; \
+       all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+       pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+       fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+       skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+       xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+       xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+       error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+       if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+         success=true; \
+       else \
+         success=false; \
+       fi; \
+       br='==================='; br=$$br$$br$$br$$br; \
+       result_count () \
+       { \
+           if test x"$$1" = x"--maybe-color"; then \
+             maybe_colorize=yes; \
+           elif test x"$$1" = x"--no-color"; then \
+             maybe_colorize=no; \
+           else \
+             echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+           fi; \
+           shift; \
+           desc=$$1 count=$$2; \
+           if test $$maybe_colorize = yes && test $$count -gt 0; then \
+             color_start=$$3 color_end=$$std; \
+           else \
+             color_start= color_end=; \
+           fi; \
+           echo "$${color_start}# $$desc $$count$${color_end}"; \
+       }; \
+       create_testsuite_report () \
+       { \
+         result_count $$1 "TOTAL:" $$all   "$$brg"; \
+         result_count $$1 "PASS: " $$pass  "$$grn"; \
+         result_count $$1 "SKIP: " $$skip  "$$blu"; \
+         result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+         result_count $$1 "FAIL: " $$fail  "$$red"; \
+         result_count $$1 "XPASS:" $$xpass "$$red"; \
+         result_count $$1 "ERROR:" $$error "$$mgn"; \
+       }; \
        {                                                               \
          echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |       \
            $(am__rst_title);                                           \
-         echo "$$msg";                                                 \
+         create_testsuite_report --no-color;                           \
          echo;                                                         \
          echo ".. contents:: :depth: 2";                               \
          echo;                                                         \
-         for f in $$list; do                                           \
-           test -r $$f && read line < $$f || line=;                    \
-           case $$line in                                              \
-             PASS:*|XFAIL:*);;                                         \
-             *) echo; cat $$f;;                                        \
-           esac;                                                       \
-         done;                                                         \
-       } >$(TEST_SUITE_LOG).tmp;                                       \
+         for b in $$bases; do echo $$b; done                           \
+           | $(am__create_global_log);                                 \
+       } >$(TEST_SUITE_LOG).tmp || exit 1;                             \
        mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
-       if test "$$failures" -ne 0; then                                \
-         msg="$${msg}See $(subdir)/$(TEST_SUITE_LOG).  ";              \
-         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
-           msg="$${msg}Please report to $(PACKAGE_BUGREPORT).  ";      \
-         fi;                                                           \
-       fi;                                                             \
-       test x"$$VERBOSE" = x || $$exit || cat $(TEST_SUITE_LOG);       \
-       $(am__tty_colors);                                              \
-       if $$exit; then                                                 \
+       if $$success; then                                              \
          col="$$grn";                                                  \
         else                                                           \
          col="$$red";                                                  \
+         test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);               \
        fi;                                                             \
-       echo "$$msg" | $(am__text_box) "col=$$col" "std=$$std";         \
-       $$exit
-
-# Run all the tests.
-check-TESTS:
-       @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
-       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-       @list='$(TEST_LOGS)';                                           \
-       list=`for f in $$list; do                                       \
-         test .log = $$f || echo $$f;                                  \
-       done | tr '\012\015' '  '`;                                     \
-       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list"
-
-.log.html:
-       @list='$(RST2HTML) $$RST2HTML rst2html rst2html.py';            \
-       for r2h in $$list; do                                           \
-         if ($$r2h --version) >/dev/null 2>&1; then                    \
-           R2H=$$r2h;                                                  \
+       echo "$${col}$$br$${std}";                                      \
+       echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";   \
+       echo "$${col}$$br$${std}";                                      \
+       create_testsuite_report --maybe-color;                          \
+       echo "$$col$$br$$std";                                          \
+       if $$success; then :; else                                      \
+         echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";         \
+         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
+           echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
          fi;                                                           \
-       done;                                                           \
-       if test -z "$$R2H"; then                                        \
-         echo >&2 "cannot find rst2html, cannot create $@";            \
-         exit 2;                                                       \
+         echo "$$col$$br$$std";                                        \
        fi;                                                             \
-       $$R2H $< >$@.tmp
-       @mv $@.tmp $@
+       $$success || exit 1
 
-# Be sure to run check first, and then to convert the result.
-# Beware of concurrent executions.  Run "check" not "check-TESTS", as
-# check-SCRIPTS and other dependencies are rebuilt by the former only.
-# And expect check to fail.
-check-html:
-       @if $(MAKE) $(AM_MAKEFLAGS) check; then                 \
-         rv=0; else rv=$$?;                                    \
-       fi;                                                     \
-       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_HTML) || exit 4;   \
-       exit $$rv
-recheck recheck-html:
-       @target=`echo $@ | sed 's,^re,,'`;                              \
-       list='$(TEST_LOGS)';                                            \
-       list=`for f in $$list; do                                       \
-               test -f $$f || continue;                                \
-               if test -r $$f && read line < $$f; then                 \
-                 case $$line in FAIL*|XPASS*) echo $$f;; esac;         \
-               else echo $$f; fi;                                      \
-             done | tr '\012\015' '  '`;                               \
-       list=`echo "$$list" | sed 's/ *$$//'`;                          \
-       $(MAKE) $(AM_MAKEFLAGS) $$target AM_MAKEFLAGS='$(AM_MAKEFLAGS) TEST_LOGS="'"$$list"'"'
+check-TESTS:
+       @list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+       @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+       log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+       exit $$?;
+recheck: all 
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       bases=`for i in $$bases; do echo $$i; done \
+                | $(am__list_recheck_tests)` || exit 1; \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       log_list=`echo $$log_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+               am__force_recheck=am--force-recheck \
+               TEST_LOGS="$$log_list"; \
+       exit $$?
 basic.log: basic
-       @p='basic'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='basic'; \
+       b='basic'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 binary.log: binary
-       @p='binary'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='binary'; \
+       b='binary'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 colliding-file-names.log: colliding-file-names
-       @p='colliding-file-names'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='colliding-file-names'; \
+       b='colliding-file-names'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 excess-slash.log: excess-slash
-       @p='excess-slash'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='excess-slash'; \
+       b='excess-slash'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 help-version.log: help-version
-       @p='help-version'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='help-version'; \
+       b='help-version'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 function-line-vs-leading-space.log: function-line-vs-leading-space
-       @p='function-line-vs-leading-space'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='function-line-vs-leading-space'; \
+       b='function-line-vs-leading-space'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 label-vs-func.log: label-vs-func
-       @p='label-vs-func'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='label-vs-func'; \
+       b='label-vs-func'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+new-file.log: new-file
+       @p='new-file'; \
+       b='new-file'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+no-dereference.log: no-dereference
+       @p='no-dereference'; \
+       b='no-dereference'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 no-newline-at-eof.log: no-newline-at-eof
-       @p='no-newline-at-eof'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='no-newline-at-eof'; \
+       b='no-newline-at-eof'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 stdin.log: stdin
-       @p='stdin'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='stdin'; \
+       b='stdin'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+filename-quoting.log: filename-quoting
+       @p='filename-quoting'; \
+       b='filename-quoting'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 .test.log:
-       @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='$<'; \
+       $(am__set_b); \
+       $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
 @am__EXEEXT_TRUE@.test$(EXEEXT).log:
-@am__EXEEXT_TRUE@      @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post)
+@am__EXEEXT_TRUE@      @p='$<'; \
+@am__EXEEXT_TRUE@      $(am__set_b); \
+@am__EXEEXT_TRUE@      $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@      --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@      $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@      "$$tst" $(AM_TESTS_FD_REDIRECT)
 
 distdir: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -1374,8 +1610,7 @@ install-strip:
        fi
 mostlyclean-generic:
        -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
-       -test -z "$(TEST_LOGS_TMP)" || rm -f $(TEST_LOGS_TMP)
-       -test -z "$(TEST_SUITE_HTML)" || rm -f $(TEST_SUITE_HTML)
+       -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
        -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
@@ -1453,19 +1688,18 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: check-am check-html install-am install-strip recheck \
-       recheck-html
+.MAKE: check-am install-am install-strip
 
-.PHONY: all all-am check check-TESTS check-am check-html clean \
-       clean-generic distclean distclean-generic distdir dvi dvi-am \
-       html html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
+.PHONY: all all-am check check-TESTS check-am clean clean-generic \
+       cscopelist-am ctags-am distclean distclean-generic distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am recheck recheck-html uninstall uninstall-am
+       pdf-am ps ps-am recheck tags-am uninstall uninstall-am
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index c1475b3..45b9c9c 100755 (executable)
@@ -36,7 +36,7 @@ for opt in '' -u -c; do
   diff $opt a b > out 2> err; test $? = 1 || fail=1
   # Remove date and time.
   sed -e 's/^\([-+*][-+*][-+*] [^      ]*\)    .*/\1/' out > k; mv k out
-  compare out exp-$(echo $opt|tr ' ' _) || fail=1
+  compare exp-$(echo $opt|tr ' ' _) out || fail=1
 done
 
 Exit $fail
old mode 100644 (file)
new mode 100755 (executable)
index e163f01..d7b3943
@@ -11,7 +11,7 @@ printf '\0'|diff - /dev/null > out 2> err
 
 # diff must exit with status 2, stdout as above, and no stderr.
 test $? = 2 || fail=1
-compare out out-exp || fail=1
-compare err /dev/null || fail=1
+compare out-exp out || fail=1
+compare /dev/null err || fail=1
 
 Exit $fail
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 32ffc89..22c2060
@@ -11,8 +11,8 @@ fail=0
 diff -r a b/ > out 2> err && fail=1
 
 # expect no stderr
-compare err /dev/null || fail=1
+compare /dev/null err || fail=1
 
-compare out expected-out || fail=1
+compare expected-out out || fail=1
 
 Exit $fail
diff --git a/tests/filename-quoting b/tests/filename-quoting
new file mode 100755 (executable)
index 0000000..e3e9193
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/sh
+# filename quoting
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../src
+
+fail=0
+
+cat <<EOF > exp- || fail=1
+diff -N -r "a/ " "b/ "
+0a1
+> space
+EOF
+
+cat <<EOF > exp--u || fail=1
+diff -N -r -u "a/ " "b/ "
+--- "a/ "
++++ "b/ "
+@@ -0,0 +1 @@
++space
+EOF
+
+cat <<EOF > exp--c || fail=1
+diff -N -r -c "a/ " "b/ "
+*** "a/ "
+--- "b/ "
+***************
+*** 0 ****
+--- 1 ----
++ space
+EOF
+
+mkdir a b
+echo space > "b/ " || fail=1
+for opt in '' -u -c; do
+  diff -N -r $opt a b > out 2> err; test $? = 1 || fail=1
+  # Remove date and time.
+  sed -e 's/^\([-+*][-+*][-+*] [^      ]*\)    .*/\1/' out > k; mv k out
+  compare exp-$(echo $opt|tr ' ' _) out || fail=1
+done
+
+rm -f "b/ "
+
+cat <<EOF > exp || fail=1
+--- "a/\t"
++++ "b/\001"
+@@ -1 +1 @@
+-tab
++one
+EOF
+
+tab=$(printf '\t')
+x01=$(printf '\001')
+
+echo tab > "a/$tab"   || fail=1
+echo one > "b/$x01" || fail=1
+diff -u "a/$tab" "b/$x01" > out 2> err; test $? = 1 || fail=1
+# Remove date and time.
+sed -e 's/^\([-+*][-+*][-+*] [^        ]*\)    .*/\1/' out > k; mv k out
+compare exp out || fail=1
+
+Exit $fail
index 1541365..572427c 100755 (executable)
@@ -57,9 +57,9 @@ test $? = 1 || fail=1
 
 sed -n '3,$p' out > k && mv k out || fail=1
 
-compare out exp || fail=1
+compare exp out || fail=1
 
 # expect empty stderr
-compare err /dev/null || fail=1
+compare /dev/null err || fail=1
 
 Exit $fail
index 922fa82..36ea213 100755 (executable)
@@ -2,7 +2,7 @@
 # Make sure all these programs work properly
 # when invoked with --help or --version.
 
-# Copyright (C) 2000-2011 Free Software Foundation, Inc.
+# Copyright (C) 2000-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -74,7 +74,7 @@ test "x$v" = "x$VERSION" \
 for lang in C fr da; do
   for i in $built_programs; do
 
-    # Skip `test'; it doesn't accept --help or --version.
+    # Skip 'test'; it doesn't accept --help or --version.
     test $i = test && continue;
 
     # false fails even when invoked with --help or --version.
@@ -84,7 +84,7 @@ for lang in C fr da; do
       continue
     fi
 
-    # The just-built install executable is always named `ginstall'.
+    # The just-built install executable is always named 'ginstall'.
     test $i = install && i=ginstall
 
     # Make sure they exit successfully, under normal conditions.
@@ -95,7 +95,7 @@ for lang in C fr da; do
     grep "$PACKAGE_BUGREPORT" h-$i > /dev/null || fail=1
     rm -f h-$i
 
-    # Make sure they fail upon `disk full' error.
+    # Make sure they fail upon 'disk full' error.
     if test -w /dev/full && test -c /dev/full; then
       env $i --help    >/dev/full 2>/dev/null && fail=1
       env $i --version >/dev/full 2>/dev/null && fail=1
@@ -107,7 +107,7 @@ for lang in C fr da; do
         : # ok
       else
         fail=1
-        echo "*** $i: bad exit status \`$status' (expected $expected)," 1>&2
+        echo "*** $i: bad exit status '$status' (expected $expected)," 1>&2
         echo "  with --help or --version output redirected to /dev/full" 1>&2
       fi
     fi
@@ -139,7 +139,7 @@ chown_setup () { args=--version; }
 mkfifo_setup () { args=--version; }
 mknod_setup () { args=--version; }
 # Punt on uptime, since it fails (e.g., failing to get boot time)
-# on some systems, and we shouldn't let that stop `make check'.
+# on some systems, and we shouldn't let that stop 'make check'.
 uptime_setup () { args=--version; }
 
 # Create a file in the current directory, not in $TMPDIR.
@@ -187,7 +187,7 @@ basename_setup () { args=$tmp_in; }
 dirname_setup () { args=$tmp_in; }
 expr_setup () { args=foo; }
 
-# Punt, in case GNU `id' hasn't been installed yet.
+# Punt, in case GNU 'id' hasn't been installed yet.
 groups_setup () { args=--version; }
 
 pathchk_setup () { args=$tmp_in; }
index d3fb28c..bd2048e 100644 (file)
@@ -1,6 +1,6 @@
 # source this file; set up for tests
 
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -61,7 +61,7 @@ ME_=`expr "./$0" : '.*/\(.*\)$'`
 
 # We use a trap below for cleanup.  This requires us to go through
 # hoops to get the right exit status transported through the handler.
-# So use `Exit STATUS' instead of `exit STATUS' inside of the tests.
+# So use 'Exit STATUS' instead of 'exit STATUS' inside of the tests.
 # Turn off errexit here so that we don't trip the bug with OSF1/Tru64
 # sh inside this function.
 Exit () { set +e; (exit $1); exit $1; }
@@ -74,7 +74,20 @@ Exit () { set +e; (exit $1); exit $1; }
 # the reason for skip/failure to console, rather than to the .log files.
 : ${stderr_fileno_=2}
 
-warn_ () { echo "$@" 1>&$stderr_fileno_; }
+# Note that correct expansion of "$*" depends on IFS starting with ' '.
+# Always write the full diagnostic to stderr.
+# When stderr_fileno_ is not 2, also emit the first line of the
+# diagnostic to that file descriptor.
+warn_ ()
+{
+  # If IFS does not start with ' ', set it and emit the warning in a subshell.
+  case $IFS in
+    ' '*) printf '%s\n' "$*" >&2
+          test $stderr_fileno_ = 2 \
+            || { printf '%s\n' "$*" | sed 1q >&$stderr_fileno_ ; } ;;
+    *) (IFS=' '; warn_ "$@");;
+  esac
+}
 fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; }
 skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; }
 fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; }
@@ -159,7 +172,7 @@ else
     if test "$re_shell_" = __current__; then
       # 'eval'ing this code makes Solaris 10's /bin/sh exit with
       # $? set to 2.  It does not evaluate any of the code after the
-      # "unexpected" first `('.  Thus, we must run it in a subshell.
+      # "unexpected" first '('.  Thus, we must run it in a subshell.
       ( eval "$gl_shell_test_script_" ) > /dev/null 2>&1
     else
       "$re_shell_" -c "$gl_shell_test_script_" 2>/dev/null
@@ -194,6 +207,14 @@ else
   fi
 fi
 
+# If this is bash, turn off all aliases.
+test -n "$BASH_VERSION" && unalias -a
+
+# Note that when supporting $EXEEXT (transparently mapping from PROG_NAME to
+# PROG_NAME.exe), we want to support hyphen-containing names like test-acos.
+# That is part of the shell-selection test above.  Why use aliases rather
+# than functions?  Because support for hyphen-containing aliases is more
+# widespread than that for hyphen-containing function names.
 test -n "$EXEEXT" && shopt -s expand_aliases
 
 # Enable glibc's malloc-perturbing option.
@@ -208,14 +229,105 @@ export MALLOC_PERTURB_
 # a partition, or to undo any other global state changes.
 cleanup_ () { :; }
 
-if ( diff -u "$0" "$0" < /dev/null ) > /dev/null 2>&1; then
-  compare () { diff -u "$@"; }
+# Emit a header similar to that from diff -u;  Print the simulated "diff"
+# command so that the order of arguments is clear.  Don't bother with @@ lines.
+emit_diff_u_header_ ()
+{
+  printf '%s\n' "diff -u $*" \
+    "--- $1    1970-01-01" \
+    "+++ $2    1970-01-01"
+}
+
+# Arrange not to let diff or cmp operate on /dev/null,
+# since on some systems (at least OSF/1 5.1), that doesn't work.
+# When there are not two arguments, or no argument is /dev/null, return 2.
+# When one argument is /dev/null and the other is not empty,
+# cat the nonempty file to stderr and return 1.
+# Otherwise, return 0.
+compare_dev_null_ ()
+{
+  test $# = 2 || return 2
+
+  if test "x$1" = x/dev/null; then
+    test -s "$2" || return 0
+    emit_diff_u_header_ "$@"; sed 's/^/+/' "$2"
+    return 1
+  fi
+
+  if test "x$2" = x/dev/null; then
+    test -s "$1" || return 0
+    emit_diff_u_header_ "$@"; sed 's/^/-/' "$1"
+    return 1
+  fi
+
+  return 2
+}
+
+if diff_out_=`exec 2>/dev/null; diff -u "$0" "$0" < /dev/null` \
+   && diff -u Makefile "$0" 2>/dev/null | grep '^[+]#!' >/dev/null; then
+  # diff accepts the -u option and does not (like AIX 7 'diff') produce an
+  # extra space on column 1 of every content line.
+  if test -z "$diff_out_"; then
+    compare_ () { diff -u "$@"; }
+  else
+    compare_ ()
+    {
+      if diff -u "$@" > diff.out; then
+        # No differences were found, but Solaris 'diff' produces output
+        # "No differences encountered". Hide this output.
+        rm -f diff.out
+        true
+      else
+        cat diff.out
+        rm -f diff.out
+        false
+      fi
+    }
+  fi
+elif diff_out_=`exec 2>/dev/null; diff -c "$0" "$0" < /dev/null`; then
+  if test -z "$diff_out_"; then
+    compare_ () { diff -c "$@"; }
+  else
+    compare_ ()
+    {
+      if diff -c "$@" > diff.out; then
+        # No differences were found, but AIX and HP-UX 'diff' produce output
+        # "No differences encountered" or "There are no differences between the
+        # files.". Hide this output.
+        rm -f diff.out
+        true
+      else
+        cat diff.out
+        rm -f diff.out
+        false
+      fi
+    }
+  fi
 elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then
-  compare () { cmp -s "$@"; }
+  compare_ () { cmp -s "$@"; }
 else
-  compare () { cmp "$@"; }
+  compare_ () { cmp "$@"; }
 fi
 
+# Usage: compare EXPECTED ACTUAL
+#
+# Given compare_dev_null_'s preprocessing, defer to compare_ if 2 or more.
+# Otherwise, propagate $? to caller: any diffs have already been printed.
+compare ()
+{
+  # This looks like it can be factored to use a simple "case $?"
+  # after unchecked compare_dev_null_ invocation, but that would
+  # fail in a "set -e" environment.
+  if compare_dev_null_ "$@"; then
+    return 0
+  else
+    case $? in
+      1) return 1;;
+      *) compare_ "$@";;
+    esac
+  fi
+}
+
 # An arbitrary prefix to help distinguish test directories.
 testdir_prefix_ () { printf gt; }
 
@@ -299,8 +411,7 @@ path_prepend_ ()
     case $path_dir_ in
       '') fail_ "invalid path dir: '$1'";;
       /*) abs_path_dir_=$path_dir_;;
-      *) abs_path_dir_=`cd "$initial_cwd_/$path_dir_" && echo "$PWD"` \
-           || fail_ "invalid path dir: $path_dir_";;
+      *) abs_path_dir_=$initial_cwd_/$path_dir_;;
     esac
     case $abs_path_dir_ in
       *:*) fail_ "invalid path dir: '$abs_path_dir_'";;
@@ -336,7 +447,7 @@ setup_ ()
   pfx_=`testdir_prefix_`
   test_dir_=`mktempd_ "$initial_cwd_" "$pfx_-$ME_.XXXX"` \
     || fail_ "failed to create temporary directory in $initial_cwd_"
-  cd "$test_dir_"
+  cd "$test_dir_" || fail_ "failed to cd to temporary directory"
 
   # As autoconf-generated configure scripts do, ensure that IFS
   # is defined initially, so that saving and restoring $IFS works.
@@ -426,7 +537,7 @@ mktempd_ ()
   esac
 
   # First, try to use mktemp.
-  d=`unset TMPDIR; mktemp -d -t -p "$destdir_" "$template_" 2>/dev/null` \
+  d=`unset TMPDIR; { mktemp -d -t -p "$destdir_" "$template_"; } 2>/dev/null` \
     || fail=1
 
   # The resulting name must be in the specified directory.
index bb2873e..2de61f7 100755 (executable)
@@ -23,9 +23,9 @@ diff -p -u0 a b > out 2> err; test $? = 1 || fail=1
 
 tail -3 out > k && mv k out || fail=1
 
-compare out exp || fail=1
+compare exp out || fail=1
 
 # expect empty stderr
-compare err /dev/null || fail=1
+compare /dev/null err || fail=1
 
 Exit $fail
diff --git a/tests/new-file b/tests/new-file
new file mode 100755 (executable)
index 0000000..af7cc4c
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/sh
+# Test --new-file (-N) and --unidirectional-new-file.
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../src
+
+fail=0
+
+echo a > a || fail=1
+
+echo '0a1
+> a' > exp || fail=1
+
+diff -N - a <&- > out; test $? = 1 || fail=1
+compare exp out || fail=1
+
+diff --unidirectional-new-file - a <&- > out; test $? = 1 || fail=1
+compare exp out || fail=1
+
+diff -N b - < a > out; test $? = 1 || fail=1
+compare exp out || fail=1
+
+diff --unidirectional-new-file b - < a > out; test $? = 1 || fail=1
+compare exp out || fail=1
+
+echo '1d0
+< a' > exp || fail=1
+
+diff -N a - <&- > out; test $? = 1 || fail=1
+compare exp out || fail=1
+
+diff --unidirectional-new-file a - <&- > out; test $? = 2 || fail=1
+
+diff -N - b < a > out; test $? = 1 || fail=1
+compare exp out || fail=1
+
+diff --unidirectional-new-file - b < a > out; test $? = 2 || fail=1
+
+Exit $fail
diff --git a/tests/no-dereference b/tests/no-dereference
new file mode 100644 (file)
index 0000000..1426beb
--- /dev/null
@@ -0,0 +1,169 @@
+#!/bin/sh
+# Test the --no-dereference option.
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../src
+
+echo 'Simple contents' > regular1
+echo 'Sample contents' > regular2
+echo 'Sample contents' > regular3
+ln -s regular1 symlink1
+ln -s regular1 symlink1bis
+ln -s regular2 symlink2
+ln -s regular3 symlink3
+
+# Non-recursive comparisons.
+
+# Test case 3: Compare regular file with regular file.
+diff --no-dereference regular1 regular2 > out
+test $? = 1 || fail=1
+cat <<EOF > expected || framework_failure_
+1c1
+< Simple contents
+---
+> Sample contents
+EOF
+compare expected out || fail=1
+
+# Test case 4: Compare regular file with symbolic link.
+diff --no-dereference regular1 symlink1 > out
+test $? = 1 || fail=1
+cat <<EOF > expected || framework_failure_
+File regular1 is a regular file while file symlink1 is a symbolic link
+EOF
+compare expected out || fail=1
+
+# Test case 5: Compare symbolic link with regular file.
+diff --no-dereference symlink1 regular1 > out
+test $? = 1 || fail=1
+cat <<EOF > expected || framework_failure_
+File symlink1 is a symbolic link while file regular1 is a regular file
+EOF
+compare expected out || fail=1
+
+# Test case 6: Compare symbolic links with same value.
+diff --no-dereference symlink1 symlink1bis > out
+test $? = 0 || fail=1
+compare /dev/null out || fail=1
+
+# Test case 7: Compare symbolic links with different value and different target
+# contents.
+diff --no-dereference symlink1 symlink2 > out
+test $? = 1 || fail=1
+cat <<EOF > expected || framework_failure_
+Symbolic links symlink1 and symlink2 differ
+EOF
+compare expected out || fail=1
+
+# Test case 8: Compare symbolic links with different value and same target
+# contents.
+diff --no-dereference symlink2 symlink3 > out
+test $? = 1 || fail=1
+cat <<EOF > expected || framework_failure_
+Symbolic links symlink2 and symlink3 differ
+EOF
+compare expected out || fail=1
+
+# Recursive comparisons.
+
+# Test case 1: Compare symbolic link with nonexistent file.
+mkdir subdir1a
+mkdir subdir1b
+ln -s nonexistent subdir1a/foo
+ln -s ../regular1 subdir1a/bar
+diff -r --no-dereference subdir1a subdir1b > out
+test $? = 1 || fail=1
+cat <<EOF > expected || framework_failure_
+Only in subdir1a: bar
+Only in subdir1a: foo
+EOF
+compare expected out || fail=1
+
+# Test case 1: Compare nonexistent file with symbolic link.
+mkdir subdir2a
+mkdir subdir2b
+ln -s nonexistent subdir2b/foo
+ln -s ../regular1 subdir2b/bar
+diff -r --no-dereference subdir2a subdir2b > out
+test $? = 1 || fail=1
+cat <<EOF > expected || framework_failure_
+Only in subdir2b: bar
+Only in subdir2b: foo
+EOF
+compare expected out || fail=1
+
+# Test case 3: Compare regular file with regular file.
+mkdir subdir3a
+mkdir subdir3b
+cp regular1 subdir3a/foo
+cp regular2 subdir3b/foo
+diff -r --no-dereference subdir3a subdir3b > out
+test $? = 1 || fail=1
+cat <<EOF > expected || framework_failure_
+diff -r --no-dereference subdir3a/foo subdir3b/foo
+1c1
+< Simple contents
+---
+> Sample contents
+EOF
+compare expected out || fail=1
+
+# Test case 4: Compare regular file with symbolic link.
+mkdir subdir4a
+mkdir subdir4b
+cp regular1 subdir4a/foo
+ln -s ../regular1 subdir4b/foo
+diff -r --no-dereference subdir4a subdir4b > out
+test $? = 1 || fail=1
+cat <<EOF > expected || framework_failure_
+File subdir4a/foo is a regular file while file subdir4b/foo is a symbolic link
+EOF
+compare expected out || fail=1
+
+# Test case 5: Compare symbolic link with regular file.
+mkdir subdir5a
+mkdir subdir5b
+ln -s ../regular1 subdir5a/foo
+cp regular1 subdir5b/foo
+diff -r --no-dereference subdir5a subdir5b > out
+test $? = 1 || fail=1
+cat <<EOF > expected || framework_failure_
+File subdir5a/foo is a symbolic link while file subdir5b/foo is a regular file
+EOF
+compare expected out || fail=1
+
+# Test case 6: Compare symbolic links with same value.
+mkdir subdir6a
+mkdir subdir6b
+ln -s ../regular1 subdir6a/foo
+ln -s ../regular1 subdir6b/foo
+diff -r --no-dereference subdir6a subdir6b > out
+test $? = 0 || fail=1
+compare /dev/null out || fail=1
+
+# Test case 7: Compare symbolic links with different value and different target
+# contents.
+mkdir subdir7a
+mkdir subdir7b
+ln -s ../regular1 subdir7a/foo
+ln -s ../regular2 subdir7b/foo
+diff -r --no-dereference subdir7a subdir7b > out
+test $? = 1 || fail=1
+cat <<EOF > expected || framework_failure_
+Symbolic links subdir7a/foo and subdir7b/foo differ
+EOF
+compare expected out || fail=1
+
+# Test case 8: Compare symbolic links with different value and same target
+# contents.
+mkdir subdir8a
+mkdir subdir8b
+ln -s ../regular2 subdir8a/foo
+ln -s ../regular3 subdir8b/foo
+diff -r --no-dereference subdir8a subdir8b > out
+test $? = 1 || fail=1
+cat <<EOF > expected || framework_failure_
+Symbolic links subdir8a/foo and subdir8b/foo differ
+EOF
+compare expected out || fail=1
+
+Exit $fail
old mode 100644 (file)
new mode 100755 (executable)
index 6052206..14d5f49
@@ -35,9 +35,9 @@ diff $opt -U1 a b > out 2> err
 test $? = 1 || fail=1
 
 sed -n '/^@@/,$p' out > k && mv k out || fail=1
-compare out exp || fail=1
+compare exp out || fail=1
 # expect empty stderr
-compare err /dev/null || fail=1
+compare /dev/null err || fail=1
 
 # Repeat, but with a newline at the end of "a".
 echo >> a
@@ -46,8 +46,8 @@ diff $opt -U1 a b > out 2> err
 test $? = 1 || fail=1
 
 sed -n '/^@@/,$p' out > k && mv k out || fail=1
-compare out exp2 || fail=1
+compare exp2 out || fail=1
 # expect empty stderr
-compare err /dev/null || fail=1
+compare /dev/null err || fail=1
 
 Exit $fail
index 1f006a1..295e98d 100755 (executable)
@@ -19,6 +19,6 @@ echo b > b
 diff -u - b < a > out 2> err; test $? = 1 || fail=1
 # Remove date and time.
 sed -e 's/^\([-+*][-+*][-+*] [^        ]*\)    .*/\1/' out > k; mv k out
-compare out exp || fail=1
+compare exp out || fail=1
 
 Exit $fail